Interface ChatClient
- All Known Implementing Classes:
DefaultChatClient
public interface ChatClient
Client to perform stateless requests to an AI Model, using a fluent API.
Use builder(ChatModel) to prepare an instance.
- Since:
- 1.0.0
- Author:
- Mark Pollack, Christian Tzolov, Josh Long, Arjen Poutsma, Thomas Vitale
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic interfaceA mutable builder for creating aChatClient.static interfacestatic interfacestatic interfaceConfigures optional behaviour forentity(...)calls.static interfaceSpecification for a prompt system.static interfacestatic interface -
Method Summary
Modifier and TypeMethodDescriptionstatic ChatClient.Builderstatic ChatClient.Builderbuilder(ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention) static ChatClient.Builderbuilder(ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention, @Nullable ToolCallingAdvisor.Builder<?> toolCallingAdvisorBuilder) Creates aChatClient.Builderfor constructing aChatClient.static ChatClientstatic ChatClientstatic ChatClientcreate(ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention) mutate()Return aChatClient.Builderto create a newChatClientwhose settings are replicated from the defaultChatClient.ChatClientRequestSpecof this client.prompt()
-
Method Details
-
create
-
create
static ChatClient create(ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry) -
create
static ChatClient create(ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention) -
builder
-
builder
static ChatClient.Builder builder(ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention) -
builder
static ChatClient.Builder builder(ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention, @Nullable ToolCallingAdvisor.Builder<?> toolCallingAdvisorBuilder) Creates aChatClient.Builderfor constructing aChatClient.When
toolCallingAdvisorBuilderisnull, a defaultToolCallingAdvisoris created with aToolCallingManagerbacked by the suppliedobservationRegistry.When
toolCallingAdvisorBuilderis non-null it is used as-is. The caller is then responsible for configuring the builder'sToolCallingManager, including anyObservationRegistry, since the suppliedobservationRegistrywill not be automatically applied to it.- Parameters:
chatModel- the chat model to useobservationRegistry- the observation registry for client-level observations; also used to configure the defaultToolCallingManagerwhentoolCallingAdvisorBuilderisnullchatClientObservationConvention- optional custom observation convention for the chat clientadvisorObservationConvention- optional custom observation convention for advisorstoolCallingAdvisorBuilder- optional builder for theToolCallingAdvisor; whennulla default is created- Returns:
- a new
ChatClient.Builder
-
prompt
ChatClient.ChatClientRequestSpec prompt() -
prompt
-
prompt
-
mutate
ChatClient.Builder mutate()Return aChatClient.Builderto create a newChatClientwhose settings are replicated from the defaultChatClient.ChatClientRequestSpecof this client.
-