Package dev.langchain4j.model.bedrock
Class BedrockAnthropicMessageChatModel
java.lang.Object
dev.langchain4j.model.bedrock.internal.AbstractSharedBedrockChatModel
dev.langchain4j.model.bedrock.internal.AbstractBedrockChatModel<BedrockAnthropicMessageChatModelResponse>
dev.langchain4j.model.bedrock.BedrockAnthropicMessageChatModel
- All Implemented Interfaces:
ChatLanguageModel
public class BedrockAnthropicMessageChatModel
extends AbstractBedrockChatModel<BedrockAnthropicMessageChatModelResponse>
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Bedrock Anthropic model ids -
Field Summary
Fields inherited from class dev.langchain4j.model.bedrock.internal.AbstractSharedBedrockChatModel
ASSISTANT_PROMPT, assistantPrompt, credentialsProvider, HUMAN_PROMPT, humanPrompt, listeners, maxRetries, maxTokens, region, stopSequences, temperature, timeout, topP
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongenerate
(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.protected String
Get model idgetRequestParameters
(String prompt) Get request parametersGet response class typeMethods inherited from class dev.langchain4j.model.bedrock.internal.AbstractBedrockChatModel
invoke, of, toAiMessage
Methods inherited from class dev.langchain4j.model.bedrock.internal.AbstractSharedBedrockChatModel
chatMessageToString, convertMessagesToAwsBody, createModelListenerRequest, createModelListenerRequest, createModelListenerResponse, listenerErrorResponse
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface dev.langchain4j.model.chat.ChatLanguageModel
chat, generate, generate, supportedCapabilities
-
Constructor Details
-
BedrockAnthropicMessageChatModel
public BedrockAnthropicMessageChatModel()
-
-
Method Details
-
getModelId
Description copied from class:AbstractSharedBedrockChatModel
Get model id- Specified by:
getModelId
in classAbstractSharedBedrockChatModel
- Returns:
- model id
-
getRequestParameters
Description copied from class:AbstractBedrockChatModel
Get request parameters- Specified by:
getRequestParameters
in classAbstractBedrockChatModel<BedrockAnthropicMessageChatModelResponse>
- Parameters:
prompt
- prompt- Returns:
- request body
-
generate
Description copied from interface:ChatLanguageModel
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 ...- Specified by:
generate
in interfaceChatLanguageModel
- Overrides:
generate
in classAbstractBedrockChatModel<BedrockAnthropicMessageChatModelResponse>
- Parameters:
messages
- A list of messages.- Returns:
- The response generated by the model.
-
generate
public Response<AiMessage> generate(List<ChatMessage> messages, ToolSpecification toolSpecification) Description copied from interface:ChatLanguageModel
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. This is usually achieved by setting `tool_choice=ANY` in the LLM provider API.
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.
-
generate
public Response<AiMessage> generate(List<ChatMessage> messages, List<ToolSpecification> toolSpecifications) Description copied from interface:ChatLanguageModel
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.
-
getResponseClassType
Description copied from class:AbstractBedrockChatModel
Get response class type- Specified by:
getResponseClassType
in classAbstractBedrockChatModel<BedrockAnthropicMessageChatModelResponse>
- Returns:
- response class type
-