跳转至

Model

Model 是 Agent 的"大脑",提供推理和生成能力。Agentica 支持 20+ 模型提供商。

支持的模型

from agentica import (
    # OpenAI 系列
    OpenAIChat,         # gpt-4o, gpt-4o-mini
    AzureOpenAIChat,    # Azure 部署的 OpenAI 模型

    # 国内模型
    ZhipuAI,            # glm-4.7-flash(免费), glm-4-plus
    DeepSeek,           # deepseek-chat, deepseek-reasoner
    Qwen,               # qwen-plus, qwen-turbo
    Moonshot,           # moonshot-v1-128k
    Doubao,             # doubao-pro-32k
    Yi,                 # yi-large

    # 海外模型
    Claude,             # claude-3.5-sonnet
    Grok,               # grok-beta
    Together,           # 多种开源模型

    # 本地模型
    Ollama,             # llama3, mistral, qwen2 等

    # 通用适配
    OpenAILike,         # 兼容 OpenAI API 的任意模型
)

通用参数

所有 Model 子类共享以下参数:

model = OpenAIChat(
    id="gpt-4o",              # 模型 ID
    api_key="sk-xxx",         # API 密钥(或通过环境变量)
    base_url="https://...",   # API 地址
    temperature=0.7,          # 温度
    max_tokens=4096,          # 最大输出 token
    timeout=60,               # 超时秒数
    context_window=128000,    # 上下文窗口大小
)
参数 类型 说明
id str 模型 ID
api_key str API 密钥
base_url str API 地址
temperature float 生成温度 (0-2)
max_tokens int 最大输出 token 数
timeout int 请求超时秒数
context_window int 上下文窗口大小
response_format Any 响应格式

模型架构

Model 基类使用 @dataclass + ABC

@dataclass
class Model(ABC):
    id: str = "not-provided"
    context_window: int = 128000
    tools: Optional[List[ModelTool]] = None
    ...

    @abstractmethod
    async def response(self, messages) -> ModelResponse: ...

    @abstractmethod
    async def response_stream(self, messages) -> AsyncIterator[ModelResponse]: ...

核心提供商

目录 提供商
model/openai/ OpenAI
model/anthropic/ Anthropic (Claude)
model/kimi/ Moonshot
model/ollama/ Ollama (本地)
model/litellm/ LiteLLM (通用适配)
model/azure/ Azure OpenAI

OpenAI 兼容提供商

通过 model/providers.py 的注册工厂创建:

from agentica.model.providers import create_provider

model = create_provider("deepseek", api_key="...")
model = create_provider("qwen", api_key="...")
model = create_provider("zhipuai", api_key="...")

支持: deepseek, qwen, zhipuai, moonshot, doubao, together, xai, yi, nvidia, sambanova, groq, cerebras, mistral

Model 内置安全机制

Model 层集成了多项运行时安全机制:

机制 说明
Death Spiral 检测 连续 5 轮全部工具调用失败时自动停止
Cost Budget 通过 CostTracker 追踪成本,超预算自动停止
Max Tokens Recovery 输出被截断时自动重试(最多 3 次)
API 重试 可重试错误(429, 503, timeout 等)指数退避重试(最多 3 次)
Context 压缩 token 超限时自动触发 3 层压缩(micro → auto → reactive)

下一步