SpringAiLlmService

data class SpringAiLlmService constructor(val name: String, val provider: String, val chatModel: <Error class: unknown class>, val optionsConverter: <Error class: unknown class><out <Error class: unknown class>> = DefaultOptionsConverter, val knowledgeCutoffDate: LocalDate? = null, val promptContributors: List<<Error class: unknown class>> = buildList { knowledgeCutoffDate?.let { add(KnowledgeCutoffDate(it)) } }, val pricingModel: <Error class: unknown class>? = null) : LlmService<SpringAiLlmService>

Spring AI implementation that provides decoupled LLM operations.

Wraps a Spring AI ChatModel and provides the ability to create LlmMessageSender instances for making LLM calls without tight coupling to Spring AI throughout the codebase.

This class is the recommended replacement for the deprecated com.embabel.common.ai.model.Llm class.

Parameters

name

Name of the LLM

provider

Name of the provider (e.g., "OpenAI", "Anthropic")

chatModel

The Spring AI ChatModel to use for LLM calls

optionsConverter

Function to convert LlmOptions to Spring AI ChatOptions

knowledgeCutoffDate

Model's knowledge cutoff date, if known

promptContributors

List of prompt contributors for this model. Knowledge cutoff is automatically included if knowledgeCutoffDate is set.

pricingModel

Pricing model for this LLM, if known

Constructors

Link copied to clipboard
constructor(name: String, provider: String, chatModel: <Error class: unknown class>, optionsConverter: <Error class: unknown class><out <Error class: unknown class>> = DefaultOptionsConverter, knowledgeCutoffDate: LocalDate? = null, promptContributors: List<<Error class: unknown class>> = buildList { knowledgeCutoffDate?.let { add(KnowledgeCutoffDate(it)) } }, pricingModel: <Error class: unknown class>? = null)

Properties

Link copied to clipboard
val chatModel: <Error class: unknown class>
Link copied to clipboard
open val knowledgeCutoffDate: LocalDate? = null
Link copied to clipboard
open val model: <Error class: unknown class>

The underlying Spring AI ChatModel. Exposed via AiModel interface for backward compatibility.

Link copied to clipboard
open val name: String
Link copied to clipboard
val optionsConverter: <Error class: unknown class><out <Error class: unknown class>>
Link copied to clipboard
open val pricingModel: <Error class: unknown class>? = null
Link copied to clipboard
open val promptContributors: List<<Error class: unknown class>>
Link copied to clipboard
open val provider: String

Functions

Link copied to clipboard
open override fun createMessageSender(options: <Error class: unknown class>): LlmMessageSender

Create a message sender for this LLM configured with the given options.

Link copied to clipboard

Returns a copy of this LLM service with the specified knowledge cutoff date.

Link copied to clipboard
fun withOptionsConverter(converter: <Error class: unknown class><out <Error class: unknown class>>): SpringAiLlmService

Returns a copy with a different options converter.

Link copied to clipboard
open override fun withPromptContributor(promptContributor: <Error class: unknown class>): SpringAiLlmService

Returns a copy of this LLM service with an additional prompt contributor.