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'

新しいエージェントやプリセットを作成する際、"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.0 から 0.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 が適用されます。
  • ユーザーが明示的に temperature0.5 に設定した場合、その値 (0.5) が優先されます。
  • addParams フィールド(設定されている場合)は、これらのデフォルト値を上書きできます。
  • UIでのユーザー選択が常に最優先されます。

Anthropic

Anthropicに関連するカスタムendpointモードには、以下の2種類があります。

  • カスタムエンドポイントの provider: 'anthropic' は、ネイティブの Anthropic /v1/messages クライアントを使用します。Anthropic 自体、または Anthropic Messages API に対応したゲートウェイに対してこれを使用してください。
  • customParams.defaultParamsEndpoint: 'anthropic' は、OpenAI互換パス上のカスタムエンドポイントを維持しつつ、Anthropic形式のパラメータメタデータとリクエスト適応を適用します。

defaultParamsEndpoint: 'anthropic' を使用する場合、システムは単にAnthropicのパラメータセットを表示・使用するだけでなく、特別な処理を提供します:

Anthropic API 互換性

defaultParamsEndpoint: 'anthropic' を設定すると、カスタムエンドポイントパスにおける Anthropic 形式のリクエストに合わせて、パラメータ、ヘッダー、およびペイロードのフォーマットが適応されます:

  • パラメータは、Anthropic APIが期待する形式と全く同じ形式でカスタムendpointに送信されます。
  • これは、OpenAI仕様以外のパラメータを基盤となるプロバイダーに直接渡すLiteLLMのようなプロキシサービスにとって不可欠です。
  • thinking のような Anthropic 固有のパラメータは適切にフォーマットされます
  • messages ペイロードは、Anthropicの要件(thinkingブロックおよびプロンプトキャッシング)に従ってフォーマットされています。
  • Anthropicを直接使用する場合と同様に、モデルに基づいて適切なベータヘッダーが自動的に追加されます。

これは主に、OpenAIと互換性のない thinking パラメータを適切にフォーマットするために必要です:

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

さらに、システムは以下のようなモデル固有の Anthropic ベータヘッダーを自動的に追加します。

  • プロンプトキャッシングをサポートするための anthropic-beta: prompt-caching-2024-07-31
  • 拡張コンテキストモデル用の anthropic-beta: context-1m-2025-08-07
  • 使用しているClaudeモデルに基づくモデル固有の機能フラグ

ネイティブの Anthropic 互換エンドポイントについては、カスタムエンドポイントで provider: 'anthropic' を指定することを推奨します。これにより、エージェント、要約、トークン/コンテキストの予算管理、およびパラメータのデフォルト値が Anthropic プロバイダーのパスを経由してルーティングされます。

実装状況

現在、この自動パラメータおよびヘッダー処理は、Anthropic形式のカスタムendpointに対して完全に実装されています。他の defaultParamsEndpoint 値(例: googlebedrock)についても同様の動作を今後のアップデートで予定しています。

このガイドはいかがでしたか?