Contents

Overview

This module adds support for selected Google Gemini models.

Maven Coordinates

In addition to the Helidon integration with LangChain4j core dependencies, you must add the following:

<dependency>
    <groupId>io.helidon.integrations.langchain4j.providers</groupId>
    <artifactId>helidon-integrations-langchain4j-providers-google-gemini</artifactId>
</dependency>
Copied

Components

GoogleAiGeminiChatModel

To automatically create and add GoogleAiGeminiChatModel to the service registry add the following lines to application.yaml:

langchain4j:
  providers:
    google-gemini:
      api-key: "${GEMINI_TOKEN}"

  models:
    gemini-chat-model:
      provider: google-gemini
      model-name: "gemini-2.0-flash"
Copied

If enabled is set to false, the configuration is ignored, and the component is not created.

Configuration options

KeyKindTypeDefault ValueDescription
allow-code-executionVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowCodeExecution(java.lang.Boolean)
allow-google-mapsVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowGoogleMaps(java.lang.Boolean)
allow-google-searchVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowGoogleSearch(java.lang.Boolean)
allow-url-contextVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowUrlContext(java.lang.Boolean)
api-keyVALUEString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#apiKey(java.lang.String)
base-urlVALUEString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#baseUrl(java.lang.String)
default-request-parametersVALUEd.l.m.c.r.ChatRequestParameters Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#defaultRequestParameters(dev.langchain4j.model.chat.request.ChatRequestParameters)
default-request-parameters-discover-servicesVALUEBooleantrueWhether to enable automatic service discovery for default-request-parameters
enable-enhanced-civic-answersVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#enableEnhancedCivicAnswers(java.lang.Boolean)
enabledVALUEBooleantrueIf set to false, GoogleAiGeminiChatModel will not be available even if configured
frequency-penaltyVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#frequencyPenalty(java.lang.Double)
http-client-builderVALUEd.l.h.c.HttpClientBuilder Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#httpClientBuilder(dev.langchain4j.http.client.HttpClientBuilder)
http-client-builder-discover-servicesVALUEBooleantrueWhether to enable automatic service discovery for http-client-builder
include-code-execution-outputVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#includeCodeExecutionOutput(java.lang.Boolean)
listenersLISTd.l.m.c.l.ChatModelListener Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#listeners(java.util.List)
listeners-discover-servicesVALUEBooleantrueWhether to enable automatic service discovery for listeners
log-requestsVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logRequests(java.lang.Boolean)
log-requests-and-responsesVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logRequestsAndResponses(java.lang.Boolean)
log-responsesVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logResponses(java.lang.Boolean)
loggerVALUEo.s.Logger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logger(org.slf4j.Logger)
logprobsVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logprobs(java.lang.Integer)
max-output-tokensVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#maxOutputTokens(java.lang.Integer)
max-retriesVALUEInteger Generated from dev.langchain4j.model.googleai.GoogleAiGeminiChatModel.GoogleAiGeminiChatModelBuilder#maxRetries(java.lang.Integer)
media-resolutionVALUEd.l.m.g.GeminiMediaResolutionLevel Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#mediaResolution(dev.langchain4j.model.googleai.GeminiMediaResolutionLevel)
media-resolution-per-part-enabledVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#mediaResolutionPerPartEnabled(java.lang.Boolean)
model-nameVALUEString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#modelName(java.lang.String)
presence-penaltyVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#presencePenalty(java.lang.Double)
response-formatVALUEd.l.m.c.r.ResponseFormat Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#responseFormat(dev.langchain4j.model.chat.request.ResponseFormat)
response-logprobsVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#responseLogprobs(java.lang.Boolean)
retrieve-google-maps-widget-tokenVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#retrieveGoogleMapsWidgetToken(java.lang.Boolean)
return-thinkingVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#returnThinking(java.lang.Boolean)
safety-settingsLISTd.l.m.g.GeminiSafetySetting Safety setting, affecting the safety-blocking behavior
seedVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#seed(java.lang.Integer)
send-thinkingVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#sendThinking(java.lang.Boolean)
stop-sequencesLISTString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#stopSequences(java.util.List)
supported-capabilitiesLISTd.l.m.c.Capability Generated from dev.langchain4j.model.googleai.GoogleAiGeminiChatModel.GoogleAiGeminiChatModelBuilder#supportedCapabilities(java.util.Set)
temperatureVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#temperature(java.lang.Double)
thinking-configVALUEd.l.m.g.GeminiThinkingConfig Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#thinkingConfig(dev.langchain4j.model.googleai.GeminiThinkingConfig)
timeoutVALUEDuration Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#timeout(java.time.Duration)
tool-configVALUEd.l.m.g.GeminiFunctionCallingConfig Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#toolConfig(dev.langchain4j.model.googleai.GeminiFunctionCallingConfig)
top-kVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#topK(java.lang.Integer)
top-pVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#topP(java.lang.Double)

GoogleAiGeminiStreamingChatModel

To automatically create and add GoogleAiGeminiStreamingChatModel to the service registry add the following lines to application.yaml:

langchain4j:
  providers:
    google-gemini:
      api-key: "${GEMINI_TOKEN}"

  models:
    gemini-streaming-chat-model:
      provider: google-gemini
      model-name: "gemini-2.0-flash"
Copied

If enabled is set to false, the configuration is ignored, and the component is not created.

Configuration options

KeyKindTypeDefault ValueDescription
allow-code-executionVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowCodeExecution(java.lang.Boolean)
allow-google-mapsVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowGoogleMaps(java.lang.Boolean)
allow-google-searchVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowGoogleSearch(java.lang.Boolean)
allow-url-contextVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#allowUrlContext(java.lang.Boolean)
api-keyVALUEString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#apiKey(java.lang.String)
base-urlVALUEString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#baseUrl(java.lang.String)
default-request-parametersVALUEd.l.m.c.r.ChatRequestParameters Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#defaultRequestParameters(dev.langchain4j.model.chat.request.ChatRequestParameters)
default-request-parameters-discover-servicesVALUEBooleantrueWhether to enable automatic service discovery for default-request-parameters
enable-enhanced-civic-answersVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#enableEnhancedCivicAnswers(java.lang.Boolean)
enabledVALUEBooleantrueIf set to false, GoogleAiGeminiStreamingChatModel will not be available even if configured
frequency-penaltyVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#frequencyPenalty(java.lang.Double)
http-client-builderVALUEd.l.h.c.HttpClientBuilder Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#httpClientBuilder(dev.langchain4j.http.client.HttpClientBuilder)
http-client-builder-discover-servicesVALUEBooleantrueWhether to enable automatic service discovery for http-client-builder
include-code-execution-outputVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#includeCodeExecutionOutput(java.lang.Boolean)
listenersLISTd.l.m.c.l.ChatModelListener Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#listeners(java.util.List)
listeners-discover-servicesVALUEBooleantrueWhether to enable automatic service discovery for listeners
log-requestsVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logRequests(java.lang.Boolean)
log-requests-and-responsesVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logRequestsAndResponses(java.lang.Boolean)
log-responsesVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logResponses(java.lang.Boolean)
loggerVALUEo.s.Logger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logger(org.slf4j.Logger)
logprobsVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#logprobs(java.lang.Integer)
max-output-tokensVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#maxOutputTokens(java.lang.Integer)
media-resolutionVALUEd.l.m.g.GeminiMediaResolutionLevel Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#mediaResolution(dev.langchain4j.model.googleai.GeminiMediaResolutionLevel)
media-resolution-per-part-enabledVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#mediaResolutionPerPartEnabled(java.lang.Boolean)
model-nameVALUEString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#modelName(java.lang.String)
presence-penaltyVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#presencePenalty(java.lang.Double)
response-formatVALUEd.l.m.c.r.ResponseFormat Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#responseFormat(dev.langchain4j.model.chat.request.ResponseFormat)
response-logprobsVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#responseLogprobs(java.lang.Boolean)
retrieve-google-maps-widget-tokenVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#retrieveGoogleMapsWidgetToken(java.lang.Boolean)
return-thinkingVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#returnThinking(java.lang.Boolean)
safety-settingsLISTd.l.m.g.GeminiSafetySetting Safety setting, affecting the safety-blocking behavior
seedVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#seed(java.lang.Integer)
send-thinkingVALUEBoolean Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#sendThinking(java.lang.Boolean)
stop-sequencesLISTString Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#stopSequences(java.util.List)
temperatureVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#temperature(java.lang.Double)
thinking-configVALUEd.l.m.g.GeminiThinkingConfig Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#thinkingConfig(dev.langchain4j.model.googleai.GeminiThinkingConfig)
timeoutVALUEDuration Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#timeout(java.time.Duration)
tool-configVALUEd.l.m.g.GeminiFunctionCallingConfig Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#toolConfig(dev.langchain4j.model.googleai.GeminiFunctionCallingConfig)
top-kVALUEInteger Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#topK(java.lang.Integer)
top-pVALUEDouble Generated from dev.langchain4j.model.googleai.BaseGeminiChatModel.GoogleAiGeminiChatModelBaseBuilder#topP(java.lang.Double)

Additional Information