Anthropic
Maven依存関係
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-anthropic</artifactId>
<version>1.0.0-beta4</version>
</dependency>
AnthropicChatModel
AnthropicChatModel model = AnthropicChatModel.builder()
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_3_5_SONNET_20240620)
.build();
String answer = model.chat("Say 'Hello World'");
System.out.println(answer);
AnthropicChatModelのカスタマイズ
AnthropicChatModel model = AnthropicChatModel.builder()
.baseUrl(...)
.apiKey(...)
.version(...)
.beta(...)
.modelName(...)
.temperature(...)
.topP(...)
.topK(...)
.maxTokens(...)
.stopSequences(...)
.cacheSystemMessages(...)
.cacheTools(...)
.thinkingType(...)
.thinkingBudgetTokens(...)
.timeout(...)
.maxRetries(...)
.logRequests(...)
.logResponses(...)
.build();
上記のパラメータの一部の説明はこちらで確認できます。
AnthropicStreamingChatModel
AnthropicStreamingChatModel model = AnthropicStreamingChatModel.builder()
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_3_5_SONNET_20240620)
.build();
model.chat("Say 'Hello World'", new StreamingChatResponseHandler() {
@Override
public void onPartialResponse(String partialResponse) {
// このメソッドは新しい部分的な応答が利用可能になったときに呼び出されます。1つまたは複数のトークンで構成されることがあります。
}
@Override
public void onCompleteResponse(ChatResponse completeResponse) {
// このメソッドはモデルが応答を完了したときに呼び出されます
}
@Override
public void onError(Throwable error) {
// このメソッドはエラーが発生したときに呼び出されます
}
});
AnthropicStreamingChatModelのカスタマイズ
AnthropicChatModel
と同じです。上記を参照してください。
ツール
Anthropicはストリーミングモードと非ストリーミングモードの両方でツールをサポートしています。
ツールに関するAnthropicのドキュメントはこちらで確認できます。
キャッシング
AnthropicChatModel
とAnthropicStreamingChatModel
はシステムメッセージとツールのキャッシングをサポートしています。
キャッシングはデフォルトで無効になっています。
それぞれcacheSystemMessages
とcacheTools
パラメータを設定することで有効にできます。
有効にすると、すべてのシステムメッセージとツールにそれぞれcache_control
ブロックが追加されます。
キャッシングを使用するには、beta("prompt-caching-2024-07-31")
を設定してください。
AnthropicChatModel
とAnthropicStreamingChatModel
は応答でAnthropicTokenUsage
を返します。これには
cacheCreationInputTokens
とcacheReadInputTokens
が含まれています。
キャッシ ングに関する詳細はこちらで確認できます。
思考プロセス
AnthropicChatModel
とAnthropicStreamingChatModel
は思考プロセス機能の限定的なサポートを提供しています。
thinkingType
とthinkingBudgetTokens
パラメータを設定することで有効にできます:
ChatModel model = AnthropicChatModel.builder()
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_3_7_SONNET_20250219)
.thinkingType("enabled")
.thinkingBudgetTokens(1024)
.maxTokens(1024 + 100)
.logRequests(true)
.logResponses(true)
.build();
現在サポートされていないもの:
思考プロセスに関する詳細はこちらで確認できます。
Quarkus
詳細はこちらで確認できます。
Spring Boot
Anthropic用のSpring Bootスターターをインポートします:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-anthropic-spring-boot-starter</artifactId>
<version>1.0.0-beta4</version>
</dependency>
AnthropicChatModel
ビーンを設定します:
langchain4j.anthropic.chat-model.api-key = ${ANTHROPIC_API_KEY}
AnthropicStreamingChatModel
ビーンを設定します:
langchain4j.anthropic.streaming-chat-model.api-key = ${ANTHROPIC_API_KEY}