Class VertexAiGeminiChatModel

java.lang.Object
org.springframework.ai.vertexai.gemini.VertexAiGeminiChatModel
All Implemented Interfaces:
ChatModel, StreamingChatModel, Model<Prompt,ChatResponse>, StreamingModel<Prompt,ChatResponse>, org.springframework.beans.factory.DisposableBean

public class VertexAiGeminiChatModel extends Object implements ChatModel, org.springframework.beans.factory.DisposableBean
Vertex AI Gemini Chat Model implementation that provides access to Google's Gemini language models.

Key features include:

  • Support for multiple Gemini model versions including Gemini Pro, Gemini 1.5 Pro, Gemini 1.5/2.0 Flash variants
  • Tool/Function calling capabilities through ToolCallingManager
  • Streaming support via stream(Prompt) method
  • Configurable safety settings through VertexAiGeminiSafetySetting
  • Support for system messages and multi-modal content (text and images)
  • Built-in retry mechanism and observability through Micrometer
  • Google Search Retrieval integration

The model can be configured with various options including temperature, top-k, top-p sampling, maximum output tokens, and candidate count through VertexAiGeminiChatOptions.

Use the VertexAiGeminiChatModel.Builder to create instances with custom configurations:


 VertexAiGeminiChatModel model = VertexAiGeminiChatModel.builder()
 		.vertexAI(vertexAI)
 		.defaultOptions(options)
 		.toolCallingManager(toolManager)
 		.build();
 
Since:
0.8.1
Author:
Christian Tzolov, Grogdunn, luocongqiu, Chris Turchin, Mark Pollack, Soby Chacko, Jihoon Kim, Alexandros Pappas, Ilayaperumal Gopinathan
See Also:
  • Constructor Details

    • VertexAiGeminiChatModel

      public VertexAiGeminiChatModel(com.google.cloud.vertexai.VertexAI vertexAI, VertexAiGeminiChatOptions defaultOptions, ToolCallingManager toolCallingManager, org.springframework.retry.support.RetryTemplate retryTemplate, io.micrometer.observation.ObservationRegistry observationRegistry)
      Creates a new instance of VertexAiGeminiChatModel.
      Parameters:
      vertexAI - the Vertex AI instance to use
      defaultOptions - the default options to use
      toolCallingManager - the tool calling manager to use. It is wrapped in a VertexToolCallingManager to ensure compatibility with Vertex AI's OpenAPI schema format.
      retryTemplate - the retry template to use
      observationRegistry - the observation registry to use
    • VertexAiGeminiChatModel

      public VertexAiGeminiChatModel(com.google.cloud.vertexai.VertexAI vertexAI, VertexAiGeminiChatOptions defaultOptions, ToolCallingManager toolCallingManager, org.springframework.retry.support.RetryTemplate retryTemplate, io.micrometer.observation.ObservationRegistry observationRegistry, ToolExecutionEligibilityPredicate toolExecutionEligibilityPredicate)
      Creates a new instance of VertexAiGeminiChatModel.
      Parameters:
      vertexAI - the Vertex AI instance to use
      defaultOptions - the default options to use
      toolCallingManager - the tool calling manager to use. It is wrapped in a VertexToolCallingManager to ensure compatibility with Vertex AI's OpenAPI schema format.
      retryTemplate - the retry template to use
      observationRegistry - the observation registry to use
      toolExecutionEligibilityPredicate - the tool execution eligibility predicate
  • Method Details