Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

OpenRouter

在 LibreChat 中将 OpenRouter 配置为自定义 endpoint。

OpenRouter 通过单一的 OpenAI 兼容 endpoint,将请求路由至来自 OpenAI、Anthropic、Google、Meta、Mistral 及其他提供商的数百个模型。

获取 API key

openrouter.ai 创建一个账户,并从 Keys page 生成一个密钥。该密钥以 sk-or-v1- 开头。将其添加到你的 .env 文件中:

OPENROUTER_KEY=sk-or-v1-your-key-here

请使用 OPENROUTER_KEY,不要使用 OPENROUTER_API_KEY

该变量必须命名为 OPENROUTER_KEY。将其命名为 OPENROUTER_API_KEY 会导致内置的 OpenAI endpoint 也通过 OpenRouter 进行路由,这通常不是您想要的结果。

配置

在你的 librechat.yaml 中,将 endpoint 添加到 endpoints.custom 下:

    - name: "OpenRouter"
      apiKey: "${OPENROUTER_KEY}"
      baseURL: "https://openrouter.ai/api/v1"
      models:
        default: ["meta-llama/llama-3-70b-instruct"]
        fetch: true
      titleConvo: true
      titleModel: "meta-llama/llama-3-70b-instruct"
      dropParams: ["stop"]
      modelDisplayLabel: "OpenRouter"

若要固定模型列表而不获取完整目录,请设置 fetch: false 并自行列出模型:

      models:
        default: ["anthropic/claude-3.5-sonnet", "openai/gpt-4o", "meta-llama/llama-3-70b-instruct"]
        fetch: false

若要允许每个用户通过 LibreChat UI 提供他们自己的密钥,而不是从 .env 中读取,请设置 apiKey: "user_provided"。这样,当用户选择该 endpoint 时,他们就会看到一个密钥输入字段。

注意事项

  • 当设置 fetch: true 时,LibreChat 会从 OpenRouter 加载完整的模型列表,因此新模型会自动出现。default 数组仅用于初始选择。
  • dropParams: ["stop"] 会从请求中移除 stop 参数。OpenRouter 模型使用各种不同的停止标记(stop tokens),移除该参数可避免兼容性错误。
  • 402 Payment Required 响应来自 OpenRouter,而非 LibreChat。请在您的 OpenRouter 账户中充值或选择一个免费模型,然后重试。

这篇指南怎么样?