Amazon Bedrock
Maven 依赖
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bedrock</artifactId>
<version>1.0.0-beta3</version>
</dependency>
AWS 凭证
为了使用 Amazon Bedrock 模型,您需要配置 AWS 凭证。
其中一个选项是设置 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
环境变量。
更多信息可以在这里找到。
InvokeAPI 和 ConverseAPI 之间的区别
Amazon Bedrock 提供两种主要的模型调用 API 操作用于推理:
- Converse – Amazon 推荐使用 Converse API,因为它提供了一致的 API,适用于所有支持消息的 Amazon Bedrock 模型。
- InvokeModel – 最初旨在进行单次调用,以获取对单个提示的响应。
使用 ConverseAPI 的 ChatLanguageModel
当前实现不支持防护栏。
支持的模型及其功能可以在这里找到。
模型 ID 可以在这里找到。
配置
ChatLanguageModel model = BedrockChatModel.builder()
.modelId("us.amazon.nova-lite-v1:0")
.region(...)
.maxRetries(...)
.timeout(...)
.logRequests(...)
.logResponses(...)
.listeners(...)
.defaultRequestParameters(BedrockChatRequestParameters.builder()
.topP(...)
.temperature(...)
.maxOutputTokens(...)
.stopSequences(...)
.toolSpecifications(...)
.additionalModelRequestFields(...)
.build())
.build();
字段 additionalModelRequestFields
是一个 Map<String, Object>
。如这里所解释的,
它允许为特定模型添加不被通用 inferenceConfig 覆盖的推理参数。
BedrockChatRequestParameters 有一个便捷方法,通过在 additionalModelRequestFields 中添加推理参数来启用 Claude 3.7 的思考过程。
Maven 依赖
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>apache-client</artifactId>
<version>2.31.6</version>
</dependency>
示例
使用 ConverseAPI 的 StreamingChatLanguageModel
当前实现不支持防护栏。
支持的模型及其功能可以在这里找到。
模型 ID 可以在这里找到。
配置
StreamingChatLanguageModel model = BedrockStreamingChatModel.builder()
.modelId("us.amazon.nova-lite-v1:0")
.region(...)
.maxRetries(...)
.timeout(...)
.logRequests(...)
.logResponses(...)
.listeners(...)
.defaultRequestParameters(BedrockChatRequestParameters.builder()
.topP(...)
.temperature(...)
.maxOutputTokens(...)
.stopSequences(...)
.toolSpecifications(...)
.additionalModelRequestFields(...)
.build())
.build();
字段 additionalModelRequestFields
是一个 Map<String, Object>
。如这里所解释的,
它允许为特定模型添加不被通用 inferenceConfig 覆盖的推理参数。
BedrockChatRequestParameters 有一个便捷方法,通过在 additionalModelRequestFields 中添加推理参数来启用 Claude 3.7 的思考过程。
Maven 依赖
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>netty-nio-client</artifactId>
<version>2.31.6</version>
</dependency>