Amazon Bedrock
|
根據 Bedrock 的建議,Spring AI 已轉換為使用 Amazon Bedrock 的 Converse API 進行 Spring AI 中的所有聊天對話實現。Bedrock Converse API 具有以下主要優勢
Converse API 不支援嵌入操作,因此這些操作將保留在當前 API 中,並且現有 |
Amazon Bedrock 是一項託管服務,透過統一 API 提供來自各種 AI 提供商的基礎模型。
Spring AI 透過實現 Spring EmbeddingModel 介面支援透過 Amazon Bedrock 提供的嵌入式 AI 模型。
此外,Spring AI 為所有客戶端提供了 Spring 自動配置和 Boot 啟動器,使得 Bedrock 模型的引導和配置變得容易。
入門
有幾個入門步驟
-
將 Bedrock 的 Spring Boot 啟動器新增到您的專案。
-
獲取 AWS 憑證:如果您還沒有 AWS 賬戶和 AWS CLI 配置,此影片指南可以幫助您進行配置:在不到 4 分鐘內設定 AWS CLI 和 SDK!您應該能夠獲取您的訪問金鑰和安全金鑰。
-
啟用要使用的模型:轉到 Amazon Bedrock,然後從左側的模型訪問選單中,配置對您將要使用的模型的訪問許可權。
專案依賴項
然後將 Spring Boot Starter 依賴項新增到您的專案的 Maven pom.xml 構建檔案
<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 憑證和區域
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 Bedrock
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 身份令牌憑證。
-
位於預設位置 (
~/.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>`:
模型 |
cohere |
titan(暫不支援批處理) |
例如,要啟用 Bedrock Cohere 嵌入模型,您需要設定 spring.ai.bedrock.cohere.embedding.enabled=true。
接下來,您可以使用 spring.ai.bedrock.<model>.embedding.* 屬性來配置每個模型,如所提供。
有關更多資訊,請參閱下面每個受支援模型的文件。
-
Spring AI Bedrock Cohere 嵌入:
spring.ai.bedrock.cohere.embedding.enabled=true -
Spring AI Bedrock Titan 嵌入:
spring.ai.bedrock.titan.embedding.enabled=true