Class ModelResponse

java.lang.Object
com.google.genkit.ai.ModelResponse

public class ModelResponse extends Object
ModelResponse represents a response from a generative AI model.
  • Constructor Details

    • ModelResponse

      public ModelResponse()
      Default constructor.
    • ModelResponse

      public ModelResponse(List<Candidate> candidates)
      Creates a ModelResponse with the given candidates.
      Parameters:
      candidates - the candidates
  • Method Details

    • builder

      public static ModelResponse.Builder builder()
      Creates a builder for ModelResponse.
      Returns:
      a new builder
    • getText

      public String getText()
      Returns the text content from the first candidate's first text part.
      Returns:
      the text content, or null if no text content is available
    • getMessage

      public Message getMessage()
      Returns the first candidate's message.
      Returns:
      the message, or null if no candidates
    • getMessages

      public List<Message> getMessages()
      Returns all messages including the model's response.

      This is useful when resuming after an interrupt - pass these messages to the next generate call to maintain context.

      Returns:
      list of all messages (request messages + model response)
    • getToolRequests

      public List<Part> getToolRequests()
      Returns all tool request parts from the first candidate.
      Returns:
      list of tool requests
    • getCandidates

      public List<Candidate> getCandidates()
    • setCandidates

      public void setCandidates(List<Candidate> candidates)
    • getUsage

      public Usage getUsage()
    • setUsage

      public void setUsage(Usage usage)
    • getRequest

      public ModelRequest getRequest()
    • setRequest

      public void setRequest(ModelRequest request)
    • getCustom

      public Map<String,Object> getCustom()
    • setCustom

      public void setCustom(Map<String,Object> custom)
    • getLatencyMs

      public Long getLatencyMs()
    • setLatencyMs

      public void setLatencyMs(Long latencyMs)
    • getFinishReason

      public FinishReason getFinishReason()
    • setFinishReason

      public void setFinishReason(FinishReason finishReason)
    • getFinishMessage

      public String getFinishMessage()
    • setFinishMessage

      public void setFinishMessage(String finishMessage)
    • getInterrupts

      public List<Part> getInterrupts()
      Returns the list of interrupt tool requests.

      When the model requests tools that are interrupts, this list contains the tool request parts with interrupt metadata. Check if this list is non-empty to determine if generation was interrupted.

      Returns:
      list of interrupt tool request parts, or empty list if none
    • setInterrupts

      public void setInterrupts(List<Part> interrupts)
    • isInterrupted

      public boolean isInterrupted()
      Checks if generation was interrupted.
      Returns:
      true if there are pending interrupts