|
此版本仍在开发中,尚未被视为稳定版。为了获取最新的快照版本,请使用Spring AI 1.1.3! |
亚马逊Bedrock
|
根据 Bedrock 的建议,Spring AI 已过渡到使用 Amazon Bedrock 的 Converse API 来实现 Spring AI 中的所有聊天对话功能。 Bedrock Converse API 具有以下主要优势:
converse 平台不支持嵌入操作,因此这些功能将继续存在于现有版本中,并继续维护模型功能 |
Amazon Bedrock 是一项托管服务,通过统一的 API 提供来自各种人工智能提供商的基础模型。
Spring AI 通过实现 Spring EmbeddingModel 接口,支持可通过 Amazon Bedrock 使用的嵌入式 AI 模型。
此外,Spring AI 为所有客户端提供了 Spring 自动配置和 Boot Starters,使其能够轻松地引导和配置 Bedrock 模型。
入门指南
开始之前有几个步骤
-
将 Bedrock 的 Spring Boot Starter 添加到您的项目中。
-
获取AWS凭证:如果你还没有AWS账户或尚未配置AWS CLI和SDK,这部教学视频指南可以帮助你完成配置:AWS CLI和SDK快速配置指南!。你应该能够获得你的访问凭证和安全凭证。
-
启用的模型:前往亚马逊 Bedrock,并在左侧的“模型访问”菜单中从模型访问菜单中配置要使用的模型的访问权限。
项目依赖
然后将 Spring Boot Starter 依赖项添加到项目的 Maven pom.xml 构建文件中:
<dependency>
<artifactId>spring-ai-starter-model-bedrock</artifactId>
<groupId>org.springframework.ai</groupId>
</dependency>
或者添加到您的Gradle 构建脚本文件中。
dependencies {
implementation 'org.springframework.ai:spring-ai-starter-model-bedrock'
}
| 参考以下依赖管理部分,添加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.profile.name=YOUR_PROFILE_NAME
spring.ai.bedrock.aws.profile.credentials-path=YOUR_CREDENTIALS_PATH
spring.ai.bedrock.aws.profile.configuration-path=YOUR_CONFIGURATION_PATH
spring.ai.bedrock.aws.timeout=10m
region 属性是必需的。
AWS 凭证的解析顺序如下:
-
Spring-AI Bedrock
spring.ai.bedrock.aws.access-key和spring.ai.bedrock.aws.secret-key属性。 -
Spring-AI Bedrock
spring.ai.bedrock.aws.profile.name,如果未指定spring.ai.bedrock.aws.profile.credentials-path和spring.ai.bedrock.aws.profile.configuration-path,Spring AI 将使用标准的 AWS 共享文件:~/.aws/credentials用于凭据,~/.aws/config用于配置。 -
Java 系统属性 -
aws.accessKeyId和aws.secretAccessKey。 -
环境变量 -
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。 -
来自系统属性或环境变量的 Web Identity Token 凭据。
-
凭证配置文件位于默认位置 (
~/.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 元数据服务传递的实例配置文件区域。
除了标准的 Spring-AI Bedrock 凭据和区域属性配置外,Spring-AI 还支持自定义 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 模型。 |
以下是支持的 `<model>`:
模型 |
凝聚 |
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