Package dev.langchain4j.model.chat
Interface ChatLanguageModel
- All Known Implementing Classes:
AbstractBedrockChatModel
,AnthropicChatModel
,AzureOpenAiChatModel
,BedrockAI21LabsChatModel
,BedrockAnthropicCompletionChatModel
,BedrockAnthropicMessageChatModel
,BedrockCohereChatModel
,BedrockLlamaChatModel
,BedrockMistralAiChatModel
,BedrockStabilityAIChatModel
,BedrockTitanChatModel
,ChatGlmChatModel
,DisabledChatLanguageModel
,GitHubModelsChatModel
,GoogleAiGeminiChatModel
,HuggingFaceChatModel
,JlamaChatModel
,LocalAiChatModel
,MistralAiChatModel
,OllamaChatModel
,OpenAiChatModel
,QianfanChatModel
,QwenChatModel
,VertexAiChatModel
,VertexAiGeminiChatModel
,WorkersAiChatModel
,ZhipuAiChatModel
public interface ChatLanguageModel
Represents a language model that has a chat interface.
-
Method Summary
Modifier and TypeMethodDescriptiondefault ChatResponse
chat
(ChatRequest request) generate
(ChatMessage... messages) Generates a response from the model based on a sequence of messages.default String
Generates a response from the model based on a message from a user.generate
(List<ChatMessage> messages) Generates a response from the model based on a sequence of messages.generate
(List<ChatMessage> messages, ToolSpecification toolSpecification) Generates a response from the model based on a list of messages and a single tool specification.generate
(List<ChatMessage> messages, List<ToolSpecification> toolSpecifications) Generates a response from the model based on a list of messages and a list of tool specifications.default Set
<Capability>
-
Method Details
-
generate
Generates a response from the model based on a message from a user. This is a convenience method that receives the message from a user as a String and returns only the generated response.- Parameters:
userMessage
- The message from the user.- Returns:
- The response generated by the model.
-
generate
Generates a response from the model based on a sequence of messages. Typically, the sequence contains messages in the following order: System (optional) - User - AI - User - AI - User ...- Parameters:
messages
- An array of messages.- Returns:
- The response generated by the model.
-
generate
Generates a response from the model based on a sequence of messages. Typically, the sequence contains messages in the following order: System (optional) - User - AI - User - AI - User ...- Parameters:
messages
- A list of messages.- Returns:
- The response generated by the model.
-
generate
default Response<AiMessage> generate(List<ChatMessage> messages, List<ToolSpecification> toolSpecifications) Generates a response from the model based on a list of messages and a list of tool specifications. The response may either be a text message or a request to execute one of the specified tools. Typically, the list contains messages in the following order: System (optional) - User - AI - User - AI - User ...- Parameters:
messages
- A list of messages.toolSpecifications
- A list of tools that the model is allowed to execute. The model autonomously decides whether to use any of these tools.- Returns:
- The response generated by the model.
AiMessage
can contain either a textual response or a request to execute one of the tools.
-
generate
default Response<AiMessage> generate(List<ChatMessage> messages, ToolSpecification toolSpecification) Generates a response from the model based on a list of messages and a single tool specification. The model is forced to execute the specified tool. Typically, the list contains messages in the following order: System (optional) - User - AI - User - AI - User ...- Parameters:
messages
- A list of messages.toolSpecification
- The specification of a tool that must be executed. The model is forced to execute this tool.- Returns:
- The response generated by the model.
AiMessage
contains a request to execute the specified tool.
-
chat
-
supportedCapabilities
-