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
  • Method Details

    • create

      static ChatClient create(org.springframework.ai.chat.model.ChatModel chatModel)
    • create

      static ChatClient create(org.springframework.ai.chat.model.ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry)
    • create

      static ChatClient create(org.springframework.ai.chat.model.ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention)
    • builder

      static ChatClient.Builder builder(org.springframework.ai.chat.model.ChatModel chatModel)
    • builder

      static ChatClient.Builder builder(org.springframework.ai.chat.model.ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention)
    • builder

      static ChatClient.Builder builder(org.springframework.ai.chat.model.ChatModel chatModel, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, @Nullable AdvisorObservationConvention advisorObservationConvention, @Nullable ToolCallingAdvisor.Builder<?> toolCallingAdvisorBuilder)
      Creates a ChatClient.Builder for constructing a ChatClient.

      When toolCallingAdvisorBuilder is null, a default ToolCallingAdvisor is created with a ToolCallingManager backed by the supplied observationRegistry.

      When toolCallingAdvisorBuilder is non-null it is used as-is. The caller is then responsible for configuring the builder's ToolCallingManager, including any ObservationRegistry, since the supplied observationRegistry will not be automatically applied to it.

      Parameters:
      chatModel - the chat model to use
      observationRegistry - the observation registry for client-level observations; also used to configure the default ToolCallingManager when toolCallingAdvisorBuilder is null
      chatClientObservationConvention - optional custom observation convention for the chat client
      advisorObservationConvention - optional custom observation convention for advisors
      toolCallingAdvisorBuilder - optional builder for the ToolCallingAdvisor; when null a default is created
      Returns:
      a new ChatClient.Builder
    • prompt

    • prompt

    • prompt

      ChatClient.ChatClientRequestSpec prompt(org.springframework.ai.chat.prompt.Prompt prompt)
    • mutate

      Return a ChatClient.Builder to create a new ChatClient whose settings are replicated from the default ChatClient.ChatClientRequestSpec of this client.