Class BedrockChatModel

java.lang.Object
dev.langchain4j.model.bedrock.BedrockChatModel
All Implemented Interfaces:
ChatLanguageModel

public class BedrockChatModel extends Object implements ChatLanguageModel
BedrockChatModel uses the Bedrock ConverseAPI.
See Also:
  • Field Details

    • region

      protected final software.amazon.awssdk.regions.Region region
    • modelId

      protected final String modelId
    • maxRetries

      protected final Integer maxRetries
    • timeout

      protected final Duration timeout
    • defaultRequestParameters

      protected final BedrockChatRequestParameters defaultRequestParameters
    • listeners

      protected final List<ChatModelListener> listeners
  • Constructor Details

    • BedrockChatModel

      public BedrockChatModel(String modelId)
  • Method Details

    • doChat

      public ChatResponse doChat(ChatRequest request)
      Specified by:
      doChat in interface ChatLanguageModel
    • defaultRequestParameters

      public BedrockChatRequestParameters defaultRequestParameters()
      Specified by:
      defaultRequestParameters in interface ChatLanguageModel
    • listeners

      public List<ChatModelListener> listeners()
      Specified by:
      listeners in interface ChatLanguageModel
    • provider

      public ModelProvider provider()
      Specified by:
      provider in interface ChatLanguageModel
    • builder

      public static BedrockChatModel.Builder builder()
    • extractSystemMessages

      protected List<software.amazon.awssdk.services.bedrockruntime.model.SystemContentBlock> extractSystemMessages(List<ChatMessage> messages)
    • extractRegularMessages

      protected List<software.amazon.awssdk.services.bedrockruntime.model.Message> extractRegularMessages(List<ChatMessage> messages)
    • handleToolResult

      protected void handleToolResult(ToolExecutionResultMessage toolResult, List<software.amazon.awssdk.services.bedrockruntime.model.ContentBlock> blocks, List<software.amazon.awssdk.services.bedrockruntime.model.Message> bedrockMessages, int currentIndex, List<ChatMessage> allMessages)
    • createToolResultBlock

      protected software.amazon.awssdk.services.bedrockruntime.model.ContentBlock createToolResultBlock(ToolExecutionResultMessage toolResult)
    • convertToBedRockMessage

      protected software.amazon.awssdk.services.bedrockruntime.model.Message convertToBedRockMessage(ChatMessage message)
    • createUserMessage

      protected software.amazon.awssdk.services.bedrockruntime.model.Message createUserMessage(UserMessage message)
    • createAiMessage

      protected software.amazon.awssdk.services.bedrockruntime.model.Message createAiMessage(AiMessage message)
    • convertToolRequests

      protected List<software.amazon.awssdk.services.bedrockruntime.model.ContentBlock> convertToolRequests(List<ToolExecutionRequest> requests)
    • convertContents

      protected List<software.amazon.awssdk.services.bedrockruntime.model.ContentBlock> convertContents(List<Content> contents)
    • convertContent

      protected software.amazon.awssdk.services.bedrockruntime.model.ContentBlock convertContent(Content content)
    • createImageBlock

      protected software.amazon.awssdk.services.bedrockruntime.model.ContentBlock createImageBlock(ImageContent imageContent)
    • extractToolConfigurationFrom

      protected software.amazon.awssdk.services.bedrockruntime.model.ToolConfiguration extractToolConfigurationFrom(List<ToolSpecification> toolSpecifications, ChatRequestParameters parameters)
    • aiMessageFrom

      protected AiMessage aiMessageFrom(software.amazon.awssdk.services.bedrockruntime.model.ConverseResponse converseResponse)
    • tokenUsageFrom

      protected TokenUsage tokenUsageFrom(software.amazon.awssdk.services.bedrockruntime.model.TokenUsage tokenUsage)
    • finishReasonFrom

      protected FinishReason finishReasonFrom(software.amazon.awssdk.services.bedrockruntime.model.StopReason stopReason)
    • inferenceConfigurationFrom

      protected software.amazon.awssdk.services.bedrockruntime.model.InferenceConfiguration inferenceConfigurationFrom(ChatRequestParameters chatRequestParameters)
    • additionalRequestModelFieldsFrom

      protected software.amazon.awssdk.core.document.Document additionalRequestModelFieldsFrom(ChatRequestParameters chatRequestParameters)
    • validate

      protected static void validate(ChatRequestParameters parameters)
    • dblToFloat

      protected static Float dblToFloat(Double d)
    • extractFilenameWithoutExtensionFromUri

      protected static String extractFilenameWithoutExtensionFromUri(URI uri)