Amazon Bedrock
Amazon Bedrock 是一项托管服务,可通过统一的 API 提供来自各个 AI 提供商的基础模型。
Spring AI 通过实现 Spring ChatClient
、StreamingChatClient
、EmbeddingClient
接口,支持 Amazon Bedrock 提供的 所有聊天和嵌入 AI 模型。
此外,Spring AI 为所有客户端提供 Spring 自动配置和引导启动器,从而可以轻松引导和配置 Bedrock 模型。
快速开始
有几个步骤可以开始:
添加启动启动器:将 Bedrock 的 Spring Boot 启动器添加到您的项目中。
获取 AWS 凭证:如果您尚未配置 AWS 账户和 AWS CLI,此视频指南可以帮助您配置它:不到 4 分钟即可完成 AWS CLI 和开发工具包设置!。您应该能够获取您的访问密钥和安全密钥。
启用 Bedrock 模型以使用:转到 Amazon Bedrock,然后从左侧的模型访问菜单中配置对您要使用的模型的[访问权限](https://us-east-1.console.aws.amazon.com/bedrock/home[Amazon Bedrock] and from the link:https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess “访问权限”)。
项目依赖
然后将 Spring Boot Starter 依赖项添加到项目的 Maven pom.xml
构建文件中:
<dependency>
<artifactId>spring-ai-bedrock-ai-spring-boot-starter</artifactId>
<groupId>org.springframework.ai</groupId>
</dependency>
或者,在你的 Gradle 构建文件 build.gradle
中添加:
dependencies {
implementation 'org.springframework.ai:spring-ai-bedrock-ai-spring-boot-starter'
}
连接到 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
region
属性是必须的.
AWS 凭证按以下顺序解析:
- Spring-AI Bedrock
spring.ai.bedrock.aws.access-key
和spring.ai.bedrock.aws.secret-key
属性. - Java 系统属性 -
aws.accessKeyId
andaws.secretAccessKey
. - 环境变量 -
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
. - 来自系统属性或环境变量的 Web 身份令牌凭据.
- 默认路径 (
~/.aws/credentials
) 下 所有通过 AWS SDKs 和 AWS CLI 共享的凭据文件. - Amazon EC2 容器服务,如设置了
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
环境变量, 并且安全管理员有权访问该变量,则通过 Amazon EC2 容器服务传递凭证。 - 通过 Amazon EC2 元数据服务传递的实例配置文件凭证或设置
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
环境变量。
启用指定的 Bedrock 模型
默认情况下,所有模型均处于禁用状态。您必须使用
spring.ai.bedrock.<model>.<chat|embedding>.enabled=true
属性显式启用所选的 Bedrock 模型。
以下是支持的 <model>
和 <chat|embedding>
组合:
模型 | 聊天 | 聊天流媒体 | Embedding |
---|---|---|---|
llama2 | Yes | Yes | No |
cohere | Yes | Yes | Yes |
anthropic | Yes | Yes | No |
jurassic2 (WIP) | Yes | No | No |
titan | Yes | Yes | Yes (however, no batch support) |
例如,要启用 Bedrock Llama2 Chat 客户端
,您需要设置 spring.ai.bedrock.llama2.chat.enabled=true
。
接下来,您可以使用spring.ai.bedrock.<model>.<chat|embedding>.*
属性来配置所提供的每个模型。
有关更多信息,请参阅以下每个受支持型号的文档。
- Spring AI Bedrock Anthropic Chat:
spring.ai.bedrock.anthropic.chat.enabled=true
- Spring AI Bedrock Llama2 Chat:
spring.ai.bedrock.llama2.chat.enabled=true
- Spring AI Bedrock Cohere Chat:
spring.ai.bedrock.cohere.chat.enabled=true
- Spring AI Bedrock Cohere Embeddings:
spring.ai.bedrock.cohere.embedding.enabled=true
- Spring AI Bedrock Titan Chat:
spring.ai.bedrock.titan.chat.enabled=true
- Spring AI Bedrock Titan Embeddings:
spring.ai.bedrock.titan.embedding.enabled=true
最后编辑:Jeebiz 更新时间:2024-07-06 19:00