SuperAPI AI 工具集

model-failover

智能体与模型

查看项目

更新于 10-16 04:02

技能介绍

Model Failover Skill 是一个为大语言模型调用提供自动故障转移的技能。当某个 LLM 提供商失败时,它会自动切换到其他提供商,并支持可配置的备用链、速率限制和健康监控,灵感来自 OpenClaw 的模型故障转移系统。

用途

该技能用于在调用 LLM 时实现提供商级别的容错,避免单一提供商故障导致请求失败,通过备用链保证请求尽可能成功。

主要能力

  • 自动在多个 LLM 提供商之间切换。
  • 支持可配置的备用链(fallback chain)。
  • 支持速率限制与健康监控。
  • 记录每个提供商的失败次数,便于健康检查。
  • 支持添加、移除、列出提供商,以及重置失败计数。

设置方式

在环境变量中配置提供商链:

# 逗号分隔的提供商列表(按备用顺序)
export LLM_PROVIDER_CHAIN="anthropic:claude-3-5-sonnet-20241022,openai:gpt-4o-mini,google:gemini-1.5-flash"

# 各提供商的 API 密钥
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GOOGLE_API_KEY="..."

使用方式

带自动故障转移的对话:

{baseDir}/model-failover.js chat "Your message here"

向链中添加新提供商:

{baseDir}/model-failover.js add-provider anthropic claude-3-5-sonnet-20241022

从链中移除提供商:

{baseDir}/model-failover.js remove-provider openai

列出链中的提供商:

{baseDir}/model-failover.js list

检查提供商健康状态:

{baseDir}/model-failover.js health

重置失败计数:

{baseDir}/model-failover.js reset

配置项

环境变量 描述 默认值
LLM_PROVIDER_CHAIN 逗号分隔的 provider:model 对 anthropic:claude-3-5-sonnet-20241022
ANTHROPIC_API_KEY Anthropic API 密钥 -
OPENAI_API_KEY OpenAI API 密钥 -
GOOGLE_API_KEY Google API 密钥 -
CUSTOM_API_KEY 自定义提供商 API 密钥 -
MAX_RETRIES 每个提供商的最大重试次数 2
RETRY_DELAY_MS 重试之间的延迟 1000

提供商格式

provider:model

支持的提供商:

  • anthropic - Anthropic Claude 模型
  • openai - OpenAI GPT 模型
  • google - Google Gemini 模型
  • custom - 自定义的 OpenAI 兼容端点(设置 OPENAI_BASE_URL)

工作原理

  1. 尝试链中的第一个提供商。
  2. 如果失败(速率限制、错误、超时),等待并重试。
  3. 如果重试耗尽,则转向下一个提供商。
  4. 继续直到成功或所有提供商均已耗尽。
  5. 记录每个提供商的失败次数,用于健康监控。