| 此版本仍在开发中,尚未被视为稳定版本。最新的快照版本请使用 Spring AI 1.0.0-SNAPSHOT! | 
Amazon Bedrock
| 按照 Bedrock 的建议,Spring AI 过渡到使用 Amazon Bedrock 的 Converse API 来实现 Spring AI 中的所有聊天对话。 Bedrock Converse API 具有以下主要优势: 
 Converse API 不支持嵌入作,因此这些作将保留在当前 API 中,而嵌入模型功能将保留在现有的 | 
Amazon Bedrock 是一项托管服务,提供来自各种 AI 提供商的基础模型,可通过统一的 API 使用。
Spring AI 通过实施 Spring 来支持通过 Amazon Bedrock 提供的嵌入 AI 模型EmbeddingModel接口。
此外,Spring AI 为所有客户端提供 Spring 自动配置和引导Starters,从而可以轻松引导和配置 Bedrock 模型。
开始
有几个步骤可以开始
- 
将 Spring Boot starter for Bedrock 添加到您的项目中。 
- 
获取AWS凭证:如果您还没有配置AWS账户和AWS CLI,此视频指南可以帮助您配置它:AWS CLI和SDK设置在不到4分钟的时间内,只需不到4分钟)。您应该能够获取您的访问密钥和安全密钥。 
- 
启用要使用的模型:转到 Amazon Bedrock,然后从左侧的 Model Access(模型访问)菜单中,配置对要使用的模型的访问。 
项目依赖关系
然后将 Spring Boot Starter 依赖项添加到项目的 Maven 中pom.xmlbuild 文件:
<dependency>
 <artifactId>spring-ai-bedrock-ai-spring-boot-starter</artifactId>
 <groupId>org.springframework.ai</groupId>
</dependency>或发送到您的 Gradlebuild.gradlebuild 文件。
dependencies {
    implementation 'org.springframework.ai:spring-ai-bedrock-ai-spring-boot-starter'
}| 请参阅 Dependency Management 部分,将 Spring AI BOM 添加到您的构建文件中。 | 
连接到 AWS Bedrock
使用BedrockAwsConnectionProperties要配置 AWS 凭证和区域,请执行以下作:
spring.ai.bedrock.aws.region=us-east-1
spring.ai.bedrock.aws.access-key=YOUR_ACCESS_KEY
spring.ai.bedrock.aws.secret-key=YOUR_SECRET_KEY
spring.ai.bedrock.aws.timeout=10m这regionproperty 是强制性的。
AWS 凭证按以下顺序解析:
- 
Spring-AI 基岩版 spring.ai.bedrock.aws.access-key和spring.ai.bedrock.aws.secret-key性能。
- 
Java 系统属性 - aws.accessKeyId和aws.secretAccessKey.
- 
环境变量 - AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY.
- 
来自系统属性或环境变量的 Web Identity Token 凭证。 
- 
Credential profiles 文件位于默认位置 ( ~/.aws/credentials) 共享的 AWS 开发工具包和 AWS CLI。
- 
通过 Amazon EC2 容器服务提供的凭证,如果 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI环境变量,并且 Security Manager 有权访问该变量。
- 
通过 Amazon EC2 元数据服务交付的实例配置文件凭证,或将 AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量。
AWS 区域按以下顺序解析:
- 
Spring-AI 基岩版 spring.ai.bedrock.aws.region财产。
- 
Java 系统属性 - aws.region.
- 
环境变量 - AWS_REGION.
- 
Credential profiles 文件位于默认位置 ( ~/.aws/credentials) 共享的 AWS 开发工具包和 AWS CLI。
- 
通过 Amazon EC2 元数据服务交付的实例配置文件区域。 
除了标准的 Spring-AI Bedrock 凭证和区域属性配置外,Spring-AI 还支持自定义AwsCredentialsProvider和AwsRegionProvider豆。
| 例如,同时使用 Spring-AI 和 Spring Cloud for Amazon Web Services。Spring-AI 与 Spring Cloud for Amazon Web Services 凭证配置兼容。 | 
启用选定的 Bedrock 模型
| 默认情况下,所有模型都处于禁用状态。您必须使用 spring.ai.bedrock.<model>.embedding.enabled=true财产。 | 
以下是支持的 '<model>:
| 型 | 
| 凝聚 | 
| Titan (尚无 Batch 支持) | 
例如,要启用 Bedrock Cohere 嵌入模型,您需要将spring.ai.bedrock.cohere.embedding.enabled=true.
接下来,您可以使用spring.ai.bedrock.<model>.embedding.*properties 来配置每个模型。
有关更多信息,请参阅以下文档,了解每个受支持的型号。
- 
Spring AI Bedrock Cohere 嵌入: spring.ai.bedrock.cohere.embedding.enabled=true
- 
Spring AI Bedrock Titan 嵌入: spring.ai.bedrock.titan.embedding.enabled=true