Cohere Chat
提供 Bedrock Cohere Chat 客户端。将生成式 AI 能力整合到关键应用和流程中,以改善业务成果。
AWS Bedrock Cohere Model 页面 和 Amazon Bedrock 用户指南 包含有关如何使用 AWS 托管模型的详细信息。
前提条件
请参考 Amazon Bedrock 上的 Spring AI 文档来设置 API 访问。
自动配置
将spring-ai-bedrock-ai-spring-boot-starter
依赖项添加到您项目的 Maven pom.xml
文件中:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bedrock-ai-spring-boot-starter</artifactId>
</dependency>
或者添加到您的 Gradle build.gradle
构建文件中。
dependencies {
implementation 'org.springframework.ai:spring-ai-bedrock-ai-spring-boot-starter'
}
参考依赖管理部分,将Spring AI BOM添加到您的构建文件中。 |
启用 Cohere 聊天支持
默认情况下,Cohere 模型被禁用。要启用它,请将spring.ai.bedrock.cohere.chat.enabled
属性设置为true
。导出环境变量是设置此配置属性的一种方式:
export SPRING_AI_BEDROCK_COHERE_CHAT_ENABLED=true
聊天属性
前缀spring.ai.bedrock.aws
是用于配置与AWS Bedrock的连接的属性前缀。
属性 | 描述 | 默认值 |
---|---|---|
spring.ai.bedrock.aws.region |
要使用的AWS地区。 |
us-east-1 |
spring.ai.bedrock.aws.access-key |
AWS访问密钥。 |
- |
spring.ai.bedrock.aws.secret-key |
AWS秘钥。 |
- |
前缀spring.ai.bedrock.cohere.chat
是配置Cohere聊天客户端实现的属性前缀。
属性 | 描述 | 默认值 |
---|---|---|
spring.ai.bedrock.cohere.chat.enabled |
启用或禁用对Cohere的支持 |
false |
spring.ai.bedrock.cohere.chat.model |
要使用的模型ID。查看CohereChatModel了解支持的模型。 |
cohere.command-text-v14 |
spring.ai.bedrock.cohere.chat.options.temperature |
控制输出的随机性。值可以范围在[0.0,1.0] |
0.7 |
spring.ai.bedrock.cohere.chat.options.topP |
在采样时考虑的标记的最大累积概率。 |
AWS Bedrock默认值 |
spring.ai.bedrock.cohere.chat.options.topK |
指定模型用于生成下一个标记的标记选择数量 |
AWS Bedrock默认值 |
spring.ai.bedrock.cohere.chat.options.maxTokens |
指定在生成的响应中要使用的标记的最大数量。 |
AWS Bedrock默认值 |
spring.ai.bedrock.cohere.chat.options.stopSequences |
配置模型识别的最多四个序列。 |
AWS Bedrock默认值 |
spring.ai.bedrock.cohere.chat.options.returnLikelihoods |
标记可能性将与响应一起返回。 |
AWS Bedrock默认值 |
spring.ai.bedrock.cohere.chat.options.numGenerations |
模型应返回的最大生成数量。 |
AWS Bedrock默认值 |
spring.ai.bedrock.cohere.chat.options.logitBias |
防止模型生成不需要的标记或鼓励模型包含所需的标记。 |
AWS Bedrock默认值 |
spring.ai.bedrock.cohere.chat.options.truncate |
指定API如何处理超过最大标记长度的输入 |
AWS Bedrock默认值 |
查看CohereChatModel了解其他模型ID。支持的值包括:cohere.command-light-text-v14
和cohere.command-text-v14
。模型ID值也可以在AWS Bedrock文档中的基本模型ID中找到。
所有以spring.ai.bedrock.cohere.chat.options 为前缀的属性都可以通过在Prompt 调用中添加一个请求特定的聊天选项来在运行时进行覆盖。 |
手动配置
BedrockCohereChatClient 实现了 ChatClient
和 StreamingChatClient
,并使用 Low-level CohereChatBedrockApi Client 来连接到 Bedrock Cohere 服务。
将 spring-ai-bedrock
依赖项添加到项目的 Maven pom.xml
文件中:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bedrock</artifactId>
</dependency>
或者添加到您的 Gradle build.gradle
文件中。
dependencies {
implementation 'org.springframework.ai:spring-ai-bedrock'
}
请参考 Dependency Management 部分,将 Spring AI BOM 添加到您的构建文件中。 |
接下来,创建一个 BedrockCohereChatClient 并用于文本生成:
CohereChatBedrockApi api = new CohereChatBedrockApi(CohereChatModel.COHERE_COMMAND_V14.id(),
EnvironmentVariableCredentialsProvider.create(), Region.US_EAST_1.id(), new ObjectMapper());
BedrockCohereChatClient chatClient = new BedrockCohereChatClient(api,
BedrockCohereChatOptions.builder()
.withTemperature(0.6f)
.withTopK(10)
.withTopP(0.5f)
.withMaxTokens(678)
.build()
ChatResponse response = chatClient.call(
new Prompt("生成5位著名海盗的名字。"));
// 或者使用流式响应
Flux<ChatResponse> response = chatClient.stream(
new Prompt("生成5位著名海盗的名字。"));
低级别 CohereChatBedrockApi 客户端
CohereChatBedrockApi 提供了一个轻量级的 Java 客户端,位于 AWS Bedrock