ADK 智能体的 Claude 模型¶
Supported in ADKJava v0.2.0
你可以通过使用 ADK 的 Claude 包装类,使用 Anthropic API 密钥直接集成 Anthropic 的 Claude 模型,或从 Vertex AI 后端集成到你的 Java ADK 应用程序中。你还可以通过 Google Cloud Vertex AI 服务访问 Anthropic 模型。有关更多信息,请参阅 Vertex AI 上的第三方模型 部分。你还可以通过 LiteLLM 库在 Python 中使用 Anthropic 模型。
入门¶
以下代码示例展示了在你的智能体中使用 Gemini 模型的基本实现:
public static LlmAgent createAgent() {
AnthropicClient anthropicClient = AnthropicOkHttpClient.builder()
.apiKey("ANTHROPIC_API_KEY")
.build();
Claude claudeModel = new Claude(
"claude-3-7-sonnet-latest", anthropicClient
);
return LlmAgent.builder()
.name("claude_direct_agent")
.model(claudeModel)
.instruction("You are a helpful AI assistant powered by Anthropic Claude.")
.build();
}
前置条件¶
-
依赖项:
- Anthropic SDK 类(传递性): Java ADK 的
com.google.adk.models.Claude包装器依赖于 Anthropic 官方 Java SDK 中的类。这些通常作为传递性依赖项包含在内。有关更多信息,请参阅 Anthropic Java SDK。
- Anthropic SDK 类(传递性): Java ADK 的
-
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-3-7-sonnet-latest"; // 或你首选的 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());
}
}
}