跳到主要内容

Amazon Bedrock

Maven 依赖

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bedrock</artifactId>
<version>1.18.1</version>
</dependency>

AWS 凭证

要使用 Amazon Bedrock 嵌入,需要配置 AWS 凭证。 其中一个选项是设置 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量。 更多信息可在此处找到。

Cohere 模型

  • BedrockCohereEmbeddingModel

Cohere 嵌入模型

提供对 Bedrock Cohere 嵌入模型的支持,可使用以下版本:

  • cohere.embed-english-v3
  • cohere.embed-multilingual-v3

这些模型非常适合为英语和多语言文本处理任务生成高质量的文本嵌入。

实现示例

以下是如何配置和使用 Bedrock 嵌入模型的示例:

BedrockCohereEmbeddingModel embeddingModel = BedrockCohereEmbeddingModel
.builder()
.region(Region.US_EAST_1)
.model("cohere.embed-multilingual-v3")
.inputType(BedrockCohereEmbeddingModel.InputType.SEARCH_QUERY)
.truncation(BedrockCohereEmbeddingModel.Truncate.NONE)
.build();

API

  • BedrockTitanEmbeddingModel
  • BedrockCohereEmbeddingModel

Titan 多模态嵌入

BedrockTitanEmbeddingModel 支持 Amazon Titan 多模态嵌入(amazon.titan-embed-image-v1):它将文本和/或单张图像嵌入到一个(融合的)嵌入向量中。

EmbeddingModel model = BedrockTitanEmbeddingModel.builder()
.model("amazon.titan-embed-image-v1")
.region(Region.US_EAST_1)
.build();

EmbeddingResponse response = model.embed(EmbeddingRequest.builder()
.input(TextContent.from("a photo of a cat"), ImageContent.from(base64Data, "image/png"))
.build());

Titan 需要 base64 图像数据(不支持 URL)。可通过 .listeners(...) 配置监听器。请求/响应 API 请参见嵌入模型

示例