Amazon Bedrock
遵循 Bedrock 的建议,Spring AI 已将其所有聊天对话实现转为使用 Amazon Bedrock 的 Converse API。 Bedrock Converse API 具备以下关键优势:
- 统一接口:编写一次代码,即可与任何支持的 Amazon Bedrock 模型配合使用
- 模型灵活性:无需代码更改即可在不同对话模型间无缝切换
- 扩展功能:通过专用结构支持模型特定参数
- 工具支持:原生集成函数调用与工具使用功能
- 多模态能力:内置对视觉及其他多模态特性的支持
- 未来保障:遵循亚马逊 Bedrock 推荐的最佳实践
Converse API 不支持嵌入操作,因此这些功能将保留在当前 API 中,并且现有 InvokeModel API 中的嵌入模型功能将继续维持。
Amazon Bedrock 是一项托管服务,它通过统一的 API 提供来自不同 AI 提供商的基础模型。
Spring AI 通过实现 Spring EmbeddingModel 接口,支持 嵌入 AI 模型 ,这些模型可通过 Amazon Bedrock 获取。
此外,Spring AI 为所有客户端提供了 Spring 自动配置和 Boot 启动器,使得为 Bedrock 模型进行初始化和配置变得简单易行。
入门指南
开始之前有几个步骤需要完成
- 将 Spring Boot 的 Bedrock 启动器添加到您的项目中。
- 获取 AWS 凭证:如果您尚未拥有 AWS 账户并配置 AWS CLI,此视频指南可助您快速完成设置: 在不到 4 分钟内完成 AWS CLI & SDK 配置!。您应能够获取您的访问密钥和安全密钥。
- 启用要使用的模型:前往 Amazon Bedrock,并从左侧的 模型访问 菜单中,配置您将要使用模型的访问权限。
项目依赖
然后将 Spring Boot Starter 依赖项添加到您项目的 Maven pom.xml 构建文件中:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-bedrock</artifactId>
</dependency>
或者,在你的 Gradle 构建文件 build.gradle
中添加:
dependencies {
implementation 'org.springframework.ai:spring-ai-starter-model-bedrock'
}
连接至 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
AWS 凭证按以下顺序解析:
- Spring-AI Bedrock 的
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 身份令牌凭证。
- 位于默认路径(
~/.aws/credentials
)的凭证配置文件,由所有AWS SDK
和AWS CLI
共享。 - 如果设置了
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
环境变量,并且安全管理器有权访问该变量,则通过 Amazon EC2 容器服务传递凭证。 - 通过 Amazon EC2 元数据服务传递的实例配置文件凭证,或设置
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
环境变量。
AWS 区域按以下顺序解析:
- Spring-AI Bedrock
spring.ai.bedrock.aws.region
属性。 - Java 系统属性 -
aws.region
。 - 环境变量 -
AWS_REGION
。 - 位于默认路径(
~/.aws/credentials
)的凭证配置文件,由所有AWS SDK
和AWS CLI
共享。 - 通过 Amazon EC2 元数据服务传递的实例配置文件区域。
启用选定的 Bedrock 模型
默认情况下,所有模型均处于禁用状态。您需明确启用所选的 Bedrock 模型,通过设置
spring.ai.bedrock.<model>.embedding.enabled=true
属性来实现。
以下是支持的 ‘<model>‘
模型:
模型 |
---|
cohere |
titan (暂不支持批量处理) |
例如,要启用 Bedrock Cohere 嵌入模型,您需要设置 spring.ai.bedrock.cohere.embedding.enabled=true
。
接下来,您可以使用 spring.ai.bedrock.<model>.embedding.*
属性来配置每个提供的模型。
最后编辑:Jeebiz 更新时间:2025-08-31 23:07