OpenClaw 模型配置:多提供商管理

OpenClaw 支持多种 AI 模型提供商,包括 OpenAI、Anthropic、Google 等。本文将详细介绍如何配置和管理多个模型提供商,以及如何设置故障转移策略。

支持的模型提供商

OpenClaw 原生支持以下模型提供商:

提供商 支持的模型 认证方式
OpenAI GPT-4o, GPT-4, GPT-3.5, Codex API Key
Anthropic Claude 3.5 Sonnet, Claude 3 Opus API Key
Google Gemini 1.5 Pro, Gemini 1.5 Flash OAuth / API Key
DeepSeek DeepSeek-V2, DeepSeek-Coder API Key
本地模型 Ollama, LM Studio 本地运行

配置模型提供商

OpenAI 配置

最简单的配置方式,使用 API Key:

{
  "models": {
    "default": "openai/gpt-4o",
    "providers": {
      "openai": {
        "apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "baseUrl": "https://api.openai.com/v1"
      }
    }
  }
}

Anthropic 配置

{
  "models": {
    "default": "anthropic/claude-3-5-sonnet-20241022",
    "providers": {
      "anthropic": {
        "apiKey": "sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "baseUrl": "https://api.anthropic.com"
      }
    }
  }
}

Google 配置

支持 OAuth 和 API Key 两种认证方式:

{
  "models": {
    "default": "google/gemini-1.5-pro",
    "providers": {
      "google": {
        "clientId": "YOUR_CLIENT_ID",
        "clientSecret": "YOUR_CLIENT_SECRET",
        "refreshToken": "YOUR_REFRESH_TOKEN"
      }
    }
  }
}

模型故障转移

模型故障转移功能允许你在主提供商失败时自动切换到备用提供商,确保服务的高可用性。

配置故障转移

{
  "models": {
    "default": "openai/gpt-4o",
    "failover": {
      "enabled": true,
      "providers": [
        {
          "provider": "openai",
          "model": "gpt-4o",
          "priority": 1,
          "maxRetries": 2,
          "retryDelay": 1000
        },
        {
          "provider": "anthropic",
          "model": "claude-3-5-sonnet-20241022",
          "priority": 2,
          "maxRetries": 2,
          "retryDelay": 1000
        },
        {
          "provider": "google",
          "model": "gemini-1.5-pro",
          "priority": 3
        }
      ],
      "fallbackPolicy": "next_provider"
    }
  }
}

故障转移策略

策略 说明
next_provider 切换到下一个提供商(默认)
retry_same 重试同一提供商直到成功
immediate_fallback 立即切换,不重试

每个 Agent 使用不同模型

你可以为不同的 Agent 配置不同的模型:

{
  "models": {
    "default": "openai/gpt-4o"
  },
  "agents": {
    "list": [
      {
        "id": "default",
        "name": "Default Assistant",
        "model": "openai/gpt-4o"
      },
      {
        "id": "coder",
        "name": "Code Assistant",
        "model": "openai/gpt-4o"
      },
      {
        "id": "writer",
        "name": "Writing Assistant",
        "model": "anthropic/claude-3-5-sonnet-20241022"
      },
      {
        "id": "translator",
        "name": "Translation Agent",
        "model": "google/gemini-1.5-flash"
      }
    ]
  }
}

本地模型配置

Ollama 配置

使用 Ollama 运行本地模型:

首先安装 Ollama:

# macOS
$ brew install ollama

# Linux
$ curl -fsSL https://ollama.com/install.sh | sh

下载并运行模型:

$ ollama pull llama3.1:8b
$ ollama serve

配置 OpenClaw 使用 Ollama:

{
  "models": {
    "default": "ollama/llama3.1:8b",
    "providers": {
      "ollama": {
        "baseUrl": "http://localhost:11434",
        "apiKey": ""
      }
    }
  }
}

模型参数调优

全局模型参数

{
  "models": {
    "default": "openai/gpt-4o",
    "parameters": {
      "temperature": 0.7,
      "maxTokens": 4096,
      "topP": 0.9,
      "topK": 40
    }
  }
}

按 Agent 配置参数

{
  "agents": {
    "list": [
      {
        "id": "creative",
        "model": "openai/gpt-4o",
        "modelParameters": {
          "temperature": 0.9,
          "maxTokens": 2000
        }
      },
      {
        "id": "analytical",
        "model": "openai/gpt-4o",
        "modelParameters": {
          "temperature": 0.1,
          "maxTokens": 4096
        }
      }
    ]
  }
}

认证凭证管理

使用配置文件

直接在配置文件中存储 API Key:

{
  "models": {
    "providers": {
      "openai": {
        "apiKey": "sk-xxxxx"
      }
    }
  }
}

使用环境变量

更安全的方式是使用环境变量:

# 设置环境变量
$ export OPENAI_API_KEY="sk-xxxxx"
$ export ANTHROPIC_API_KEY="sk-ant-xxxxx"

配置文件:

{
  "models": {
    "providers": {
      "openai": {
        "apiKey": "$OPENAI_API_KEY"
      },
      "anthropic": {
        "apiKey": "$ANTHROPIC_API_KEY"
      }
    }
  }
}

模型选择建议

根据任务选择模型

任务类型 推荐模型 理由
代码生成 OpenAI GPT-4o 最强的代码能力
文本创作 Anthropic Claude 3.5 更好的创意写作
翻译 Google Gemini 1.5 Flash 快速且准确
简单问答 GPT-3.5 Turbo 成本低,响应快
隐私敏感 Ollama 本地模型 数据不离本地

成本优化

  • 使用更便宜的模型:简单任务使用 GPT-3.5 Turbo
  • 限制 Token:设置合理的 maxTokens
  • 启用缓存:对重复查询启用缓存
  • 故障转移策略:主模型失败时切换到更便宜的模型

性能优化

并发请求

配置并发限制以优化性能:

{
  "models": {
    "providers": {
      "openai": {
        "maxConcurrentRequests": 10,
        "timeout": 30000
      }
    }
  }
}

响应缓存

对相同的查询启用缓存:

{
  "models": {
    "cache": {
      "enabled": true,
      "ttl": 3600,
      "maxSize": 1000
    }
  }
}

故障排查

认证失败

# 检查 API Key
$ openclaw configure --section models

速率限制

如果遇到速率限制,考虑:

  • 增加重试延迟
  • 使用多个 API Key
  • 切换到其他提供商

总结

OpenClaw 的模型配置非常灵活,支持多个提供商和故障转移策略。根据任务选择合适的模型,并合理配置参数,可以让你的 AI 助手既高效又经济。

相关资源

发表回复

后才能评论