Amazon Bedrock
Amazon Bedrock は、さまざまな AI プロバイダーの基盤モデルを提供するマネージドサービスであり、統合 API を通じて利用できます。
Spring AI は、Spring インターフェース ChatModel
、StreamingChatModel
、EmbeddingModel
を実装することにより、Amazon Bedrock を通じて利用可能なすべてのチャットおよび埋め込み AI モデル [Amazon] をサポートします。
さらに、Spring AI はすべてのクライアントに Spring 自動構成と Boot スターターを提供し、Bedrock モデルのブートストラップと構成を容易にします。
入門
開始するにはいくつかの手順があります
Bedrock 用の Spring Boot スターターをプロジェクトに追加します。
AWS 認証情報を取得する: AWS アカウントと AWS CLI がまだ設定されていない場合は、このビデオガイドが設定に役立ちます: Less での AWS CLI と SDK のセットアップは 4 分以内です ! (英語) 。アクセスキーとセキュリティキーを取得できるはずです。
使用するモデルを有効にする: Amazon Bedrock に移動し、左側のモデルアクセス [Amazon] メニューから、使用するモデルへのアクセスを構成します。
プロジェクトの依存関係
次に、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'
}
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 ID トークン資格情報。
すべての AWS SDK と AWS CLI によって共有されるデフォルトの場所 (
~/.aws/credentials
) にある認証情報プロファイルファイル。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 SDK と AWS CLI によって共有されるデフォルトの場所 (
~/.aws/credentials
) にある認証情報プロファイルファイル。Amazon EC2 メタデータサービスを通じて配信されるインスタンスプロファイルリージョン。
標準の Spring-AI Bedrock 資格情報とリージョンプロパティ構成に加えて、Spring-AI はカスタム AwsCredentialsProvider
および AwsRegionProvider
Bean のサポートも提供します。
例: Spring-AI と Spring Cloud for Amazon Web Services を同時に使用します。Spring-AI は、Amazon Web Services 資格情報構成の Spring Cloud と互換性があります。 |
選択した Bedrock モデルを有効にする
デフォルトでは、すべてのモデルが無効になっています。spring.ai.bedrock.<model>.<chat|embedding>.enabled=true プロパティを使用して、選択した Bedrock モデルを明示的に有効にする必要があります。 |
サポートされている <model>
と <chat|embedding>
の組み合わせは次のとおりです。
モデル | チャット | チャットストリーミング | 埋め込み |
---|---|---|---|
llama | はい | はい | いいえ |
jurassic2 | はい | いいえ | いいえ |
cohere | はい | はい | はい |
人類学的 2 | はい | はい | いいえ |
人類学的 3 | はい | はい | いいえ |
jurassic2 (WIP) | はい | いいえ | いいえ |
titan | はい | はい | はい (ただし、バッチはサポートされていません) |
例: Bedrock Llama チャットモデルを有効にするには、spring.ai.bedrock.llama.chat.enabled=true
を設定する必要があります。
次に、spring.ai.bedrock.<model>.<chat|embedding>.*
プロパティを使用して、提供されているとおりに各モデルを構成できます。
詳細については、サポートされている各モデルの以下のドキュメントを参照してください。
Spring AI Bedrock Anthropic 2 チャット :
spring.ai.bedrock.anthropic.chat.enabled=true
Spring AI Bedrock Anthropic 3 チャット :
spring.ai.bedrock.anthropic.chat.enabled=true
Spring AI Bedrock Llama チャット :
spring.ai.bedrock.llama.chat.enabled=true
Spring AI Bedrock Cohere チャット :
spring.ai.bedrock.cohere.chat.enabled=true
Spring AI Bedrock Cohere 埋め込み :
spring.ai.bedrock.cohere.embedding.enabled=true
Spring AI Bedrock Titan チャット :
spring.ai.bedrock.titan.chat.enabled=true
Spring AI Bedrock Titan 埋め込み :
spring.ai.bedrock.titan.embedding.enabled=true
Spring AI Bedrock Ai21 Jurassic2 チャット :
spring.ai.bedrock.jurassic2.chat.enabled=true