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

自定义参数

选择默认参数集

默认情况下,当您在 librechat.yaml 配置文件中指定自定义 endpoint 时,它将使用 OpenAI API 的默认参数。但是,您可以通过在自定义 endpoint 的定义中指定 customParams.defaultParamsEndpoint 字段来覆盖这些默认值。例如,要为您的自定义 endpoint 使用 Google 参数:

endpoints:
  custom:
    - name: 'Google Gemini'
      apiKey: ...
      baseURL: ...
      customParams:
        defaultParamsEndpoint: 'google'

当您创建新的 Agent 或预设时,您的 "Google Gemini" endpoint 现在将显示 Google API 的相关参数。

覆盖参数定义

除此之外,您还可以微调为自定义 endpoint 提供的参数。例如,google endpoint 的 temperature 参数是一个范围从 0.0 到 1.0 的滑块,默认值为 1.0,您可以更新 librechat.yaml 文件来覆盖这些值:

endpoints:
  custom:
    - name: 'Google Gemini'
      apiKey: ...
      baseURL: ...
      customParams:
        defaultParamsEndpoint: 'google'
        paramDefinitions:
          - key: temperature
            range:
              min: 0
              max: 0.7
              step: 0.1
            default: 0.5

因此,Temperature 滑块将被限制在 0.00.7 的范围内,步长为 0.1,默认值为 0.5。其余参数将设置为其默认值。

设置默认参数值

您可以为参数指定默认值,这些值将在进行 API 请求时自动应用。这对于为您的自定义 endpoint 设置基准参数值非常有用,无需用户每次都手动进行配置。

paramDefinitions 中的 default 字段允许您设置在参数未定义时应用的默认值。这些默认值遵循优先级顺序,以确保正确的覆盖行为:

优先级顺序(从低到高):

  1. 来自 paramDefinitions 的默认值 - 当参数未定义时首先应用
  2. addParams - 可以覆盖默认值
  3. 用户配置的 modelOptions - 最高优先级,覆盖所有其他设置
endpoints:
  custom:
    - name: 'My Custom LLM'
      apiKey: ...
      baseURL: ...
      customParams:
        defaultParamsEndpoint: 'openAI'
        paramDefinitions:
          - key: temperature
            default: 0.7
          - key: topP
            default: 0.9
          - key: maxTokens
            default: 2000

在此示例中:

  • 如果用户没有指定 temperature,则默认为 0.7
  • 如果用户明确将 temperature 设置为 0.5,则他们的值(0.5)具有优先权。
  • addParams 字段(如果已配置)可以覆盖这些默认值
  • UI 中的用户选择始终具有最高优先级

Anthropic

有两种与 Anthropic 相关的自定义 endpoint 模式:

  • 自定义 endpoint 上的 provider: 'anthropic' 使用原生的 Anthropic /v1/messages 客户端。请将其用于 Anthropic 本身或支持 Anthropic Messages API 的网关。
  • customParams.defaultParamsEndpoint: 'anthropic' 会将自定义 endpoint 保留在兼容 OpenAI 的路径上,同时应用 Anthropic 风格的参数元数据和请求适配。

当使用 defaultParamsEndpoint: 'anthropic' 时,系统会提供超越单纯显示和使用 Anthropic 参数集的特殊处理:

Anthropic API 兼容性

设置 defaultParamsEndpoint: 'anthropic' 会针对自定义端点路径上的 Anthropic 格式请求调整参数、标头和有效负载格式:

  • 参数将完全按照 Anthropic API 的预期发送到您的自定义 endpoint。
  • 这对于像 LiteLLM 这样将非 OpenAI 规范参数直接传递给底层提供商的代理服务至关重要。
  • Anthropic 特有的参数(如 thinking)已正确格式化
  • messages 有效负载是根据 Anthropic 的要求(思考块和提示词缓存)进行格式化的。
  • 当直接使用 Anthropic 时,系统会根据模型自动添加相应的 beta 标头。

这主要是为了正确格式化 thinking 参数所必需的,该参数与 OpenAI 不兼容:

{
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

此外,系统会自动添加特定于模型的 Anthropic beta 标头,例如:

  • anthropic-beta: prompt-caching-2024-07-31 以支持提示词缓存 (prompt caching)
  • 用于扩展上下文模型的 anthropic-beta: context-1m-2025-08-07
  • 基于所使用的 Claude 模型,针对特定模型的特性标志 (feature flags)

对于原生的 Anthropic 兼容 endpoint,请在自定义 endpoint 上优先使用 provider: 'anthropic'。它会通过 Anthropic 提供商路径来路由智能体(agents)、摘要、令牌/上下文预算以及参数默认值。

实现状态

目前,这种自动参数和标头处理已在 Anthropic 风格的自定义 endpoint 中完全实现。针对其他 defaultParamsEndpoint 值(例如 googlebedrock)的类似行为已计划在未来的更新中实现。

这篇指南怎么样?