|
最新快照版本请使用Spring AI 1.1.0! |
亚马逊基岩
|
遵循 Bedrock 建议,Spring AI 在所有聊天对话实现中转向使用 Amazon Bedrock 的 Converse API。Bedrock Converse API 具有以下主要优势:
Converse API 不支持嵌入作,因此这些作将保留在当前 API,嵌入模型功能则保留在现有 API 中 |
亚马逊基石是一项托管服务,通过统一API提供来自多家AI提供商的基础模型。
Spring AI 通过实现 Spring 支持通过 Amazon Bedrock 提供的嵌入 AI 模型嵌入模型接口。
此外,Spring AI 为所有客户端提供 Spring 自动配置和启动启动功能,使 Bedrock 模型的启动和配置变得轻松。
开始
开始有几个步骤
-
把Spring Boot starter for Bedrock加入你的项目。
-
获取AWS凭证:如果你还没有AWS账户和AWS命令,这段视频指南可以帮助你配置:AWS CLI和SDK设置,4分钟内完成!你应该能获得你的访问和安全钥匙。
-
启用模型使用:进入亚马逊Bedrock,在左侧的模型访问菜单中配置你将要使用的模型访问权限。
项目依赖关系
然后把 Spring Boot Starter 的依赖添加到你的项目的 Maven 中pom.xml构建文件:
<dependency>
<artifactId>spring-ai-starter-model-bedrock</artifactId>
<groupId>org.springframework.ai</groupId>
</dependency>
或者去你的Gradlebuild.gradle构建文件。
dependencies {
implementation 'org.springframework.ai:spring-ai-starter-model-bedrock'
}
| 请参考依赖管理部分,将Spring AI的物料清单添加到你的构建文件中。 |
连接AWS Bedrock
使用该BedrockAwsConnectionProperties(基石AwsConnectionProperties)配置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 凭证的解析顺序如下:
-
春-AI基岩
spring.ai.bedrock.aws.访问密钥和Spring.ai.bedrock.aws.秘密密钥性能。 -
Java 系统属性 -
aws.accessKeyID和aws.secret访问密钥. -
环境变量 -
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY. -
来自系统属性或环境变量的网络身份Tokens凭证。
-
凭据配置文件文件存放在默认位置(
~/.aws/credentials)由所有 AWS SDK 和 AWS CLI 共享。 -
通过亚马逊EC2容器服务交付的凭证,如果
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI环境变量已设置,安全管理器有权限访问该变量。 -
通过 Amazon EC2 元数据服务交付实例配置文件凭证,或设置
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量。
AWS 区域的解析顺序如下:
-
春-AI基岩
spring.ai.bedrock.aws.region财产。 -
Java 系统属性 -
aws.region. -
环境变量 -
AWS_REGION. -
凭据配置文件文件存放在默认位置(
~/.aws/credentials)由所有 AWS SDK 和 AWS CLI 共享。 -
实例配置文件区域通过亚马逊EC2元数据服务交付。
除了标准的 Spring-AI Bedrock 凭证和区域属性配置外,Spring-AI 还支持自定义AwsCredentialsProvider和AwsRegionProvider豆。
| 例如,同时使用 Spring-AI 和 Spring Cloud 来管理亚马逊网络服务。Spring-AI 兼容 Spring Cloud 用于 Amazon Web Services 凭证配置。 |
启用选定的基岩模型
默认情况下,所有模型均为禁用。你必须通过spring.ai.bedrock.<model>.embedding.enabled=true财产。 |
以下是支持的“<模型>:
型 |
连贯 |
Titan(尚无批量支持) |
例如,要启用Bedrock Cohere嵌入模型,你需要设置spring.ai.bedrock.cohere.embedding.enabled=true.
接下来,你可以使用spring.ai.bedrock.<model>.embedding.*属性用于配置每个模型的提供。
欲了解更多信息,请参阅以下每个支持模型的文档。
-
Spring AI 基岩嵌入:
spring.ai.bedrock.cohere.embedding.enabled=true -
春季AI基岩泰坦嵌入:
spring.ai.bedrock.titan.embedding.enabled=true