コンテンツにスキップ

ADK エージェント用 Claude モデル

ADKでサポートPython v0.1.0Java v0.2.0

Python と Java の両方で ADK とともに Anthropic の Claude モデルを使用できます。以下の言語とバックエンドに一致するパスを選択してください。

Python

Python からは次の方法で Claude モデルを使用できます。

  • Agent Platform ネイティブ: Claude モデル文字列を直接渡します。ADK のレジストリがそれを Claude ラッパーにルーティングします。詳細については、Agent Platform 上の Anthropic Claude を参照してください。
  • LiteLLM を介した直接 Anthropic API: Anthropic API キーとともに LiteLlm コネクタを使用します。詳細については、LiteLLM を参照してください。

Java

Java では、ADK の Claude ラッパー クラスを使用して、Anthropic API キーまたは Agent Platform バックエンドで Claude モデルを直接統合できます。Google Cloud Agent Platform サービスを通じて Claude にアクセスすることもできます。Agent Platform 上のサードパーティ モデル を参照してください。

はじめに

次のコード例は、エージェントで Claude モデルを使用するための基本的な実装を示しています。

public static LlmAgent createAgent() {

  AnthropicClient anthropicClient = AnthropicOkHttpClient.builder()
      .apiKey("ANTHROPIC_API_KEY")
      .build();

  Claude claudeModel = new Claude(
      "claude-sonnet-4-6", anthropicClient
  );

  return LlmAgent.builder()
      .name("claude_direct_agent")
      .model(claudeModel)
      .instruction("You are a helpful AI assistant powered by Anthropic Claude.")
      .build();
}

前提条件

  • 依存関係: Java ADK の com.google.adk.models.Claude ラッパーは Anthropic の公式 Java SDK のクラスに依存しており、通常は推移的依存関係として含まれます。詳細については、Anthropic Java SDK を参照してください。
  • Anthropic API キー: Anthropic から API キーを取得し、シークレット マネージャーを使用して安全に管理します。

実装例

com.google.adk.models.Claude をインスタンス化し、目的の Claude モデル名と API キーで構成された AnthropicOkHttpClient を提供します。次に、以下の例に示すように、Claude インスタンスを LlmAgent に渡します。

import com.anthropic.client.AnthropicClient;
import com.google.adk.agents.LlmAgent;
import com.google.adk.models.Claude;
import com.anthropic.client.okhttp.AnthropicOkHttpClient; // Anthropic SDK より

public class DirectAnthropicAgent {

  private static final String CLAUDE_MODEL_ID = "claude-sonnet-4-6"; // または好みの Claude モデル

  public static LlmAgent createAgent() {

    // 機密キーは安全な構成からロードすることをお勧めします
    AnthropicClient anthropicClient = AnthropicOkHttpClient.builder()
        .apiKey("ANTHROPIC_API_KEY")
        .build();

    Claude claudeModel = new Claude(
        CLAUDE_MODEL_ID,
        anthropicClient
    );

    return LlmAgent.builder()
        .name("claude_direct_agent")
        .model(claudeModel)
        .instruction("You are a helpful AI assistant powered by Anthropic Claude.")
        // ... その他の LlmAgent 構成
        .build();
  }

  public static void main(String[] args) {
    try {
      LlmAgent agent = createAgent();
      System.out.println("Successfully created direct Anthropic agent: " + agent.name());
    } catch (IllegalStateException e) {
      System.err.println("Error creating agent: " + e.getMessage());
    }
  }
}