此版本仍在开发中,尚不被认为是稳定的。对于最新的快照版本,请使用 Spring AI 1.0.1! |
亚马逊基岩
根据 Bedrock 的建议,Spring AI 过渡到使用 Amazon Bedrock 的 Converse API 来实现 Spring AI 中的所有聊天对话。 Bedrock Converse API 具有以下主要优势:
Converse API 不支持嵌入作,因此这些作将保留在当前 API 中,而嵌入模型功能将保留在现有 |
Amazon Bedrock 是一项托管服务,可通过统一的 API 提供来自各种 AI 提供商的基础模型。
Spring AI 通过实施 Spring 来支持通过 Amazon Bedrock 提供的嵌入 AI 模型EmbeddingModel
接口。
此外,Spring AI 为所有客户端提供 Spring Auto-Configurations 和 Boot Starters,可以轻松地为 Bedrock 模型进行引导和配置。
开始
有几个步骤可以开始
-
将 Bedrock 的 Spring Boot Starters添加到您的项目中。
-
获取 AWS 凭证:如果您尚未配置 AWS 账户和 AWS CLI,此视频指南可以帮助您进行配置:AWS CLI 和 SDK 设置时间不到 4 分钟!您应该能够获得访问密钥和安全密钥。
-
启用要使用的模型:转到 Amazon Bedrock,然后从左侧的 Model Access 菜单中配置对您将要使用的模型的访问权限。
项目依赖项
然后将 Spring Boot Starter 依赖项添加到项目的 Mavenpom.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 BOM 添加到构建文件中。 |
连接到 AWS 基岩
使用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
这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 身份Tokens凭据。
-
默认位置 (
~/.aws/credentials
)由所有 AWS 开发工具包和 AWS CLI 共享。 -
通过 Amazon EC2 容器服务交付的凭证,如果
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
环境变量,并且安全管理器有权访问该变量。 -
通过 Amazon EC2 元数据服务交付的实例配置文件凭证,或将
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
环境变量。
AWS 区域按以下顺序解析:
-
Spring-AI 基岩
spring.ai.bedrock.aws.region
财产。 -
Java 系统属性 -
aws.region
. -
环境变量 -
AWS_REGION
. -
默认位置 (
~/.aws/credentials
)由所有 AWS 开发工具包和 AWS CLI 共享。 -
通过 Amazon EC2 元数据服务交付的实例配置文件区域。
除了标准的 Spring-AI 基岩凭证和区域属性配置外,Spring-AI 还提供对自定义AwsCredentialsProvider
和AwsRegionProvider
豆。
例如,同时使用 Spring-AI 和 Spring Cloud for Amazon Web Services。Spring-AI 与 Spring Cloud for 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
-
Spring AI 基岩泰坦嵌入:
spring.ai.bedrock.titan.embedding.enabled=true