Amazon Bedrock
Maven依 存関係
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bedrock</artifactId>
<version>1.0.0-beta4</version>
</dependency>
AWS認証情報
Amazon Bedrockモデルを使用するには、AWS認証情報を設定する必要があります。
オプションの1つは、AWS_ACCESS_KEY_ID
とAWS_SECRET_ACCESS_KEY
環境変数を設定することです。
詳細はこちらで確認できます。
InvokeAPIとConverseAPIの違い
Amazon Bedrockは推論のための2つの主要なモデル呼び出しAPI操作を提供しています:
- Converse – AmazonはメッセージをサポートするすべてのAmazon Bedrockモデルで動作する一貫したAPIを提供するConverseAPIの使用を推奨しています。
- InvokeModel – 元々は単一のプロンプトに対する応答を得るための単一の呼び出しを目的としていました。
ConverseAPIを使用したChatModel
現在の実装ではガードレールはサポートされていません。
サポートされているモデルとその機能はこちらで確認できます。
モデルIDはこちらで確認できます。
設定
ChatModel model = BedrockChatModel.builder()
.modelId("us.amazon.nova-lite-v1:0")
.region(...)
.maxRetries(...)
.timeout(...)
.logRequests(...)
.logResponses(...)
.listeners(...)
.defaultRequestParameters(BedrockChatRequestParameters.builder()
.topP(...)
.temperature(...)
.maxOutputTokens(...)
.stopSequences(...)
.toolSpecifications(...)
.additionalModelRequestFields(...)
.build())
.build();
additionalModelRequestFields
フィールドはMap<String, Object>
です。こちらで説明されているように、
共通のinferenceConfigでカバーされていない特定のモデルの推論パラメータを追加することができます。
BedrockChatRequestParametersには、additionalModelRequestFieldsに推論パラメータを追加することでClaude 3.7の思考プロセスを有効にする便利なメソッドがあります。
例
ConverseAPIを使用したStreamingChatModel
現在の実装ではガードレールはサポートされていません。
サポートされているモデルとその機能はこちらで確認できます。
モデルIDはこちらで確認できます。
設定
StreamingChatModel model = BedrockStreamingChatModel.builder()
.modelId("us.amazon.nova-lite-v1:0")
.region(...)
.maxRetries(...)
.timeout(...)
.logRequests(...)
.logResponses(...)
.listeners(...)
.defaultRequestParameters(BedrockChatRequestParameters.builder()
.topP(...)
.temperature(...)
.maxOutputTokens(...)
.stopSequences(...)
.toolSpecifications(...)
.additionalModelRequestFields(...)
.build())
.build();
additionalModelRequestFields
フィールドはMap<String, Object>
です。こちらで説明されているように、
共通のinferenceConfigでカバーされていない特定のモデルの推論パラメータを追加することができます。
BedrockChatRequestParametersには、additionalModelRequestFieldsに推論パラメータを追加することでClaude 3.7の思考プロセスを有効にする便利なメソッドがあります。
例
InvokeAPIを使用したChatModel
AI21モデル
BedrockAI21LabsChatModel
(非推奨、BedrockChatModel
を使用してください)
Anthropicモデル
BedrockAnthropicMessageChatModel
:(非推奨、BedrockChatModel
を使用してください)新しいMessages APIをサポートBedrockAnthropicCompletionChatModel
:(非推奨、BedrockChatModel
を使用してください)古いText Completions APIをサポートBedrockAnthropicStreamingChatModel
例:
ChatModel model = BedrockAnthropicMessageChatModel.builder()
.model("anthropic.claude-3-sonnet-20240229-v1:0")
.build();
Cohereモデル
BedrockCohereChatModel
(非推奨、BedrockChatModel
を使用してください)
Meta Llamaモデル
BedrockLlamaChatModel
(非推奨、BedrockChatModel
を使用してください)
Mistralモデル
BedrockMistralAiChatModel
(非推奨、BedrockChatModel
を使用してください)
Titanモデル
BedrockTitanChatModel
(非推奨、BedrockChatModel
を使用してください)BedrockTitanEmbeddingModel