Amazon Bedrock
本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。 |
遵循 Bedrock 最佳实践,Spring AI 现已全面采用 Amazon Bedrock 的 Converse API 实现聊天对话功能。该 API 具备以下核心优势:
由于 Converse API 不支持嵌入操作,现有 API 中的嵌入模型功能将继续通过 |
Amazon Bedrock 是一项托管服务,通过统一 API 提供多家 AI 供应商的基础模型。
Spring AI 通过实现 Spring EmbeddingModel
接口,支持 Amazon Bedrock 提供的嵌入 AI 模型。
此外,Spring AI 为所有 Bedrock 模型提供 Spring 自动配置和 Boot Starter 支持,简化了初始化和配置流程。
入门
入门需完成以下几个步骤:
-
在项目中添加 Bedrock 的 Spring Boot Starter 依赖。
-
获取 AWS 凭证:若你尚未配置 AWS 账户和 AWS CLI,可通过视频指南 4分钟快速配置AWS CLI & SDK 完成设置。你将能获取访问密钥和安全密钥。
-
启用需使用的模型:登录 Amazon Bedrock,通过左侧 Model Access 菜单配置目标模型的访问权限。
项目依赖
然后在项目的 Maven pom.xml
构建文件中添加 Spring Boot Starter 依赖:
<dependency>
<artifactId>spring-ai-starter-model-bedrock</artifactId>
<groupId>org.springframework.ai</groupId>
</dependency>
或添加到 Gradle 的 build.gradle
构建文件中。
dependencies {
implementation 'org.springframework.ai:spring-ai-starter-model-bedrock'
}
参考 依赖管理 章节,将 Spring AI BOM 添加到构建文件。 |
连接到 AWS Bedrock
通过 BedrockAwsConnectionProperties
配置 AWS 凭证及区域(region):
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
region
属性为必填项。
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 凭证。
-
CAWS SDK 与 CLI 共享的默认凭证文件(
~/.aws/credentials
)。 -
当
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
环境变量已设置且安全管理器(Security Manager)有权访问时,通过 Amazon EC2 容器服务交付的凭证。 -
通过 Amazon EC2 元数据服务提供的实例配置文件凭证,或设置
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
环境变量。
AWS region(区域)按以下优先级解析:
-
Spring-AI 专属配置:
spring.ai.bedrock.aws.region
属性。 -
Java 系统属性 -
aws.region
。 -
环境变量 -
AWS_REGION
。 -
AWS SDK 与 CLI 共享的默认凭证文件(
~/.aws/credentials
)。 -
通过 Amazon EC2 元数据服务交付的实例配置文件区域。
除标准 Spring-AI Bedrock 凭证与 region 属性配置外,还支持自定义 AwsCredentialsProvider
和 AwsRegionProvider
Bean。
例如,同时使用 Spring-AI 和 Spring Cloud for Amazon Web Services。Spring-AI 与 Spring Cloud for Amazon Web Services 的凭证配置兼容。 |
启用选定的 Bedrock 模型
默认情况下,所有模型都是禁用的。你必须使用 spring.ai.bedrock.<model>.embedding.enabled=true 属性显式启用所选的 Bedrock 模型。
|
以下是支持的模型:
模型 |
cohere |
titan (暂不支持批处理) |
例如,要启用 Bedrock Cohere 嵌入模型,需设置 spring.ai.bedrock.cohere.embedding.enabled=true
。
接下来,可通过 spring.ai.bedrock.<model>.embedding.*
属性分别配置各模型参数。
更多细节请参阅下文各支持模型的专属文档。
-
Spring AI Bedrock Cohere Embeddings:
spring.ai.bedrock.cohere.embedding.enabled=true
-
Spring AI Bedrock Titan Embeddings:
spring.ai.bedrock.titan.embedding.enabled=true