主题
Amazon Bedrock
Maven 依赖
xml
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bedrock</artifactId>
<version>1.22.0</version>
</dependency>1
2
3
4
5
2
3
4
5
AWS 凭据
要使用 Amazon Bedrock 嵌入,你需要配置 AWS 凭据。 一种方式是设置 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 环境变量。 更多信息可在这里找到。
Cohere 模型
BedrockCohereEmbeddingModel
Cohere 嵌入模型
我们为 Bedrock 的 Cohere 嵌入模型提供了支持,可使用以下版本:
cohere.embed-english-v3cohere.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();1
2
3
4
5
6
7
2
3
4
5
6
7
API
BedrockTitanEmbeddingModelBedrockCohereEmbeddingModel
Titan 多模态嵌入
BedrockTitanEmbeddingModel 支持 Amazon Titan 多模态嵌入(amazon.titan-embed-image-v1):它能 将文本和/或单张图像嵌入为一个(融合的)嵌入向量。
java
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());1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Titan 需要 base64 的图像数据(不支持 URL)。监听器可通过 .listeners(...) 配置。关于请求/响应 API,参见嵌入模型。