Skip to content

LLM 后端概述

kagent-ts 提供了完整的多 LLM Provider 支持体系,包括 Provider 实现、工厂函数、Fallback 降级、Rate Limiting 限流、Model Router 路由和 Token Budget 预算控制。

架构

LLMProvider (接口)
├── OpenAIProvider          # OpenAI API
├── AnthropicProvider       # Anthropic Claude API
├── FallbackProvider        # 主备降级包装器
├── RateLimitedProvider     # 滑动窗口限流包装器
└── ModelRouter             # 多模型路由分发器

createLLMProvider()         # 工厂函数 (自动检测 Provider 类型)

快速选择

你需要...使用
连接 OpenAI (GPT-4o, GPT-4, etc.)OpenAIProvider
连接 Anthropic (Claude Sonnet, Opus, etc.)AnthropicProvider
自动检测 Provider 类型createLLMProvider()
主 Provider 失败时自动切换FallbackProvider
限制 API 调用频率RateLimitedProvider
不同任务用不同模型ModelRouter
控制会话 Token 消耗TokenBudget

通用接口

所有 Provider 都实现 LLMProvider 接口:

ts
interface LLMProvider {
  /** 非流式调用 */
  chat(messages: MessageData[], options?: LLMOptions): Promise<LLMResponse>

  /** 流式调用 */
  chatStream(messages: MessageData[], options?: LLMOptions): AsyncIterable<LLMStreamEvent>

  /** 估算 Token 数量 */
  getTokenCount(messages: MessageData[]): number
}

错误处理

所有 Provider 内置统一的错误处理策略:

  • 自动重试 (瞬态错误): Timeout、Connection Error、429 Rate Limit、5xx Server Error
  • 立即传播 (不可恢复): 401 Unauthorized、400 Bad Request、Abort Error
  • 指数退避 + Jitter: 避免惊群效应

下一步

基于 MIT 协议发布