Class OpenAiChatOptions.AbstractBuilder<B extends OpenAiChatOptions.AbstractBuilder<B>>

java.lang.Object
org.springframework.ai.chat.prompt.DefaultChatOptionsBuilder<B>
org.springframework.ai.model.tool.DefaultToolCallingChatOptions.Builder<B>
org.springframework.ai.openai.OpenAiChatOptions.AbstractBuilder<B>
All Implemented Interfaces:
Cloneable, org.springframework.ai.chat.prompt.ChatOptions.Builder<B>, org.springframework.ai.model.tool.StructuredOutputChatOptions.Builder<B>, org.springframework.ai.model.tool.ToolCallingChatOptions.Builder<B>
Direct Known Subclasses:
OpenAiChatOptions.Builder
Enclosing class:
OpenAiChatOptions

protected abstract static class OpenAiChatOptions.AbstractBuilder<B extends OpenAiChatOptions.AbstractBuilder<B>> extends org.springframework.ai.model.tool.DefaultToolCallingChatOptions.Builder<B> implements org.springframework.ai.model.tool.StructuredOutputChatOptions.Builder<B>
  • Field Details

    • baseUrl

      protected @Nullable String baseUrl
    • apiKey

      protected @Nullable String apiKey
    • credential

      protected @Nullable com.openai.credential.Credential credential
    • microsoftDeploymentName

      protected @Nullable String microsoftDeploymentName
    • microsoftFoundryServiceVersion

      protected @Nullable com.openai.azure.AzureOpenAIServiceVersion microsoftFoundryServiceVersion
    • organizationId

      protected @Nullable String organizationId
    • isMicrosoftFoundry

      protected @Nullable Boolean isMicrosoftFoundry
    • isGitHubModels

      protected @Nullable Boolean isGitHubModels
    • timeout

      protected @Nullable Duration timeout
    • maxRetries

      protected @Nullable Integer maxRetries
    • proxy

      protected @Nullable Proxy proxy
    • customHeaders

      protected @Nullable Map<String,String> customHeaders
    • logitBias

      protected @Nullable Map<String,Integer> logitBias
    • logprobs

      protected @Nullable Boolean logprobs
    • topLogprobs

      protected @Nullable Integer topLogprobs
    • maxCompletionTokens

      protected @Nullable Integer maxCompletionTokens
    • n

      protected @Nullable Integer n
    • outputModalities

      protected @Nullable List<String> outputModalities
    • outputAudio

      protected @Nullable OpenAiChatOptions.AudioParameters outputAudio
    • responseFormat

      protected @Nullable OpenAiChatModel.ResponseFormat responseFormat
    • streamOptions

      protected @Nullable OpenAiChatOptions.StreamOptions streamOptions
    • seed

      protected @Nullable Integer seed
    • toolChoice

      protected @Nullable Object toolChoice
    • user

      protected @Nullable String user
    • parallelToolCalls

      protected @Nullable Boolean parallelToolCalls
    • store

      protected @Nullable Boolean store
    • strict

      protected @Nullable Boolean strict
    • metadata

      protected @Nullable Map<String,String> metadata
    • reasoningEffort

      protected @Nullable String reasoningEffort
    • verbosity

      protected @Nullable String verbosity
    • serviceTier

      protected @Nullable String serviceTier
    • promptCacheKey

      protected @Nullable String promptCacheKey
    • extraBody

      protected @Nullable Map<String,Object> extraBody
  • Constructor Details

    • AbstractBuilder

      protected AbstractBuilder()
  • Method Details

    • clone

      public B clone()
      Specified by:
      clone in interface org.springframework.ai.chat.prompt.ChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
      Overrides:
      clone in class org.springframework.ai.model.tool.DefaultToolCallingChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
    • maxTokens

      public B maxTokens(@Nullable Integer maxTokens)
      Specified by:
      maxTokens in interface org.springframework.ai.chat.prompt.ChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
      Specified by:
      maxTokens in interface org.springframework.ai.model.tool.ToolCallingChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
      Overrides:
      maxTokens in class org.springframework.ai.model.tool.DefaultToolCallingChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
    • baseUrl

      public B baseUrl(@Nullable String baseUrl)
    • apiKey

      public B apiKey(@Nullable String apiKey)
    • apiKey

      public B apiKey(@Nullable org.springframework.ai.model.ApiKey apiKey)
      Sets the API key using an ApiKey instance. Pass a NoopApiKey to disable authentication (no Authorization header will be sent), which is the same behavior as setting an empty string via apiKey(String).
      Parameters:
      apiKey - the API key instance; if null, the key is cleared
    • credential

      public B credential(@Nullable com.openai.credential.Credential credential)
    • deploymentName

      public B deploymentName(@Nullable String deploymentName)
    • microsoftFoundryServiceVersion

      public B microsoftFoundryServiceVersion(@Nullable com.openai.azure.AzureOpenAIServiceVersion microsoftFoundryServiceVersion)
    • azureOpenAIServiceVersion

      public B azureOpenAIServiceVersion(@Nullable com.openai.azure.AzureOpenAIServiceVersion azureOpenAIServiceVersion)
    • organizationId

      public B organizationId(@Nullable String organizationId)
    • microsoftFoundry

      public B microsoftFoundry(@Nullable Boolean microsoftFoundry)
    • azure

      public B azure(@Nullable Boolean azure)
    • gitHubModels

      public B gitHubModels(@Nullable Boolean gitHubModels)
    • timeout

      public B timeout(@Nullable Duration timeout)
    • maxRetries

      public B maxRetries(@Nullable Integer maxRetries)
    • proxy

      public B proxy(@Nullable Proxy proxy)
    • customHeaders

      public B customHeaders(@Nullable Map<String,String> customHeaders)
    • logitBias

      public B logitBias(@Nullable Map<String,Integer> logitBias)
    • logprobs

      public B logprobs(@Nullable Boolean logprobs)
    • topLogprobs

      public B topLogprobs(@Nullable Integer topLogprobs)
    • maxCompletionTokens

      public B maxCompletionTokens(@Nullable Integer maxCompletionTokens)
    • n

      public B n(@Nullable Integer n)
    • outputModalities

      public B outputModalities(@Nullable List<String> outputModalities)
    • outputAudio

      public B outputAudio(@Nullable OpenAiChatOptions.AudioParameters audio)
    • responseFormat

      public B responseFormat(@Nullable OpenAiChatModel.ResponseFormat responseFormat)
    • streamOptions

      public B streamOptions(@Nullable OpenAiChatOptions.StreamOptions streamOptions)
    • streamUsage

      public B streamUsage(boolean streamUsage)
    • seed

      public B seed(@Nullable Integer seed)
    • stop

      public B stop(@Nullable List<String> stop)
    • toolChoice

      public B toolChoice(@Nullable Object toolChoice)
    • user

      public B user(@Nullable String user)
    • parallelToolCalls

      public B parallelToolCalls(@Nullable Boolean parallelToolCalls)
    • store

      public B store(@Nullable Boolean store)
    • strict

      public B strict(@Nullable Boolean strict)
      Whether to enable OpenAI Tool/Function calling strict mode.

      Not to be confused with OpenAiChatModel.ResponseFormat.Builder.strict(Boolean), which applies to JSON schema response format rather than tool/function calling.

      Parameters:
      strict - the strict flag
      Returns:
      this builder
    • metadata

      public B metadata(@Nullable Map<String,String> metadata)
    • reasoningEffort

      public B reasoningEffort(@Nullable String reasoningEffort)
    • verbosity

      public B verbosity(@Nullable String verbosity)
    • serviceTier

      public B serviceTier(@Nullable String serviceTier)
    • promptCacheKey

      public B promptCacheKey(@Nullable String promptCacheKey)
    • extraBody

      public B extraBody(@Nullable Map<String,Object> extraBody)
    • outputSchema

      public B outputSchema(@Nullable String outputSchema)
      Specified by:
      outputSchema in interface org.springframework.ai.model.tool.StructuredOutputChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
    • combineWith

      public B combineWith(org.springframework.ai.chat.prompt.ChatOptions.Builder<?> other)
      Specified by:
      combineWith in interface org.springframework.ai.chat.prompt.ChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
      Overrides:
      combineWith in class org.springframework.ai.model.tool.DefaultToolCallingChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
    • build

      public OpenAiChatOptions build()
      Specified by:
      build in interface org.springframework.ai.chat.prompt.ChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
      Specified by:
      build in interface org.springframework.ai.model.tool.ToolCallingChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>
      Overrides:
      build in class org.springframework.ai.model.tool.DefaultToolCallingChatOptions.Builder<B extends OpenAiChatOptions.AbstractBuilder<B>>