Class AsyncChat

java.lang.Object
com.google.genai.AsyncChat

public class AsyncChat extends Object
An async chat session with a generative model.

This class provides a way to interact with a generative model in an async multi-turn chat session. It keeps track of the chat history and uses it to provide context for subsequent messages.

  • Method Details

    • sendMessage

      Asynchronously sends a message to the model in the current multi-turn chat session and returns the model's response.

      This appends the message and the model's response to the chat history, which is sent back to the model in subsequent calls to sendMessage. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessage.

      Parameters:
      text - the text to send to the generative model
      config - a GenerateContentConfig instance that specifies the optional configurations
    • sendMessage

      public CompletableFuture<GenerateContentResponse> sendMessage(String text)
      Asynchronously sends a message to the model in the current multi-turn chat session and returns the model's response.

      This appends the message and the model's response to the chat history, which is sent back to the model in subsequent calls to sendMessage. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessage.

      Parameters:
      text - the text to send to the generative model
    • sendMessage

      Asynchronously sends a message to the model in the current multi-turn chat session and returns the model's response.

      This appends the message and the model's response to the chat history, which is sent back to the model in subsequent calls to sendMessage. Be sure to initialize a chat session using cilent.async.chats.create() before calling sendMessage.

      Parameters:
      content - a Content to send to the generative model
      config - a GenerateContentConfig instance that specifies the optional configurations
    • sendMessage

      public CompletableFuture<GenerateContentResponse> sendMessage(Content content)
      Asynchronously sends a message to the model in the current multi-turn chat session and returns the model's response.

      This appends the message and the model's response to the chat history, which is sent back to the model in subsequent calls to sendMessage. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessage.

      Parameters:
      content - a Content to send to the generative model
    • sendMessage

      Asynchronously sends a message to the model in the current multi-turn chat session and returns the model's response.

      This appends the message and the model's response to the chat history, which is sent back to the model in subsequent calls to sendMessage. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessage.

      Parameters:
      contents - a List<Content> to send to the generative model
      config - a GenerateContentConfig instance that specifies the optional configurations
    • sendMessage

      public CompletableFuture<GenerateContentResponse> sendMessage(List<Content> contents)
      Asynchronously sends a message to the model in the current multi-turn chat session and returns the model's response.

      This appends the message and the model's response to the chat history, which is sent back to the model in subsequent calls to sendMessage. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessage.

      Parameters:
      contents - a List<Content> to send to the generative model
    • sendMessageStream

      Asynchronously sends a message to the model in the current multi-turn chat session and returns a stream of responses.

      This appends the message and the model's response to the chat history after the stream is consumed. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessageStream.

      Parameters:
      text - the text to send to the generative model
      config - a GenerateContentConfig instance that specifies the optional configurations *
    • sendMessageStream

      Asynchronously sends a message to the model in the current multi-turn chat session and returns a stream of responses.

      This appends the message and the model's response to the chat history after the stream is consumed. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessageStream.

      Parameters:
      text - the text to send to the generative model
    • sendMessageStream

      Asynchronously sends a message to the model in the current multi-turn chat session and returns a stream of responses.

      This appends the message and the model's response to the chat history after the stream is consumed. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessageStream.

      Parameters:
      content - a Content to send to the generative model
      config - a GenerateContentConfig instance that specifies the optional configurations *
    • sendMessageStream

      public CompletableFuture<ResponseStream<GenerateContentResponse>> sendMessageStream(Content content)
      Asynchronously sends a message to the model in the current multi-turn chat session and returns a stream of responses.

      This appends the message and the model's response to the chat history after the stream is consumed. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessageStream.

      Parameters:
      content - a Content to send to the generative model
    • sendMessageStream

      Asynchronously sends a message to the model in the current multi-turn chat session and returns a stream of responses.

      This appends the message and the model's response to the chat history after the stream is consumed. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessageStream.

      Parameters:
      contents - a List<Content> to send to the generative model
      config - a GenerateContentConfig instance that specifies the optional configurations
    • sendMessageStream

      public CompletableFuture<ResponseStream<GenerateContentResponse>> sendMessageStream(List<Content> contents)
      Sends a message to the model in the current multi-turn chat session and returns the model's response.

      This appends the message and the model's response to the chat history after the stream is consumed. Be sure to initialize a chat session using client.async.chats.create() before calling sendMessage.

      Parameters:
      contents - a List<Content> to send to the generative model the optional configurations
    • getHistory

      public com.google.common.collect.ImmutableList<Content> getHistory(boolean curated)
      Returns the chat history.
      Parameters:
      curated - Whether to return the curated history or the comprehensive history. Comprehensive history includes all messages, including empty or invalid parts. Curated history excludes empty or invalid parts.