Agently Docs

Agently documentation for building AI applications with stable outputs, observable actions, and durable workflows.

View the Project on GitHub AgentEra/Agently

AnthropicCompatible

语言:English · 中文

AnthropicCompatible 是 Claude 的协议层插件。它说 Anthropic 的 Messages API —— 与 OpenAI Chat Completions 区别足够大,用 OpenAICompatible 映射会出错配置。指向 https://api.anthropic.com 或任何 Claude 兼容代理时用本插件。

设置

from agently import Agently

Agently.set_settings("AnthropicCompatible", {
    "base_url": "https://api.anthropic.com",
    "api_key": "${ENV.ANTHROPIC_API_KEY}",
    "model": "${ENV.ANTHROPIC_MODEL}",
    "max_tokens": 4096,
})
Key 含义
base_url https://api.anthropic.com(或代理)
api_key bearer token
model Claude 模型 id;接入时以 Anthropic 当前模型列表为准
max_tokens Anthropic API 必填;有合理默认但建议显式 pin 以可预期成本
anthropic_version API 版本 header(默认近期稳定版本)
anthropic_beta 可选 beta-feature header(字符串或字符串列表)
request_options 转给底层 HTTP client 的额外 dict

类在 agently/builtins/plugins/ModelRequester/AnthropicCompatible.py

为什么是独立插件

Claude 与 OpenAI 在以下方面有插件需处理的具体差异:

AnthropicCompatible 直接实现 ModelRequester;请求体构造与解析仍然是 Anthropic 专属。不要把它想成「OpenAI 换 URL」。

Per-agent 覆盖

与任何插件设置同模式:

agent = Agently.create_agent()
agent.set_settings("AnthropicCompatible", {"model": "${ENV.ANTHROPIC_MODEL_FAST}"})

Tool calling

AnthropicCompatible 原生支持 Claude 的 tool-use 协议。通过 @agent.action_func / agent.use_actions(...) 注册的 tool 以 Claude 期望的格式暴露,tool 调用结果经 Messages API 正确往返。

流式

response.get_generator(type="delta") / get_async_generator(type="delta") 产出增量文本。type="instant" 结构化流式与 OpenAICompatible 上一样 —— 区别仅在上游解析。

Beta 特性

需要 beta 特性(长上下文、自定义 tool 变体等)时设 anthropic_beta

Agently.set_settings("AnthropicCompatible", {
    "base_url": "https://api.anthropic.com",
    "api_key": "${ENV.ANTHROPIC_API_KEY}",
    "model": "${ENV.ANTHROPIC_MODEL}",
    "max_tokens": 4096,
    "anthropic_beta": "tools-2024-04-04",  # 或列表
})

header 原样转发。有效值查 Anthropic 当前 beta 文档。

另见