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

Benutzerdefinierte Parameter

Auswahl eines Standard-Parametersatzes

Standardmäßig verwendet LibreChat die Standardparameter der OpenAI API, wenn Sie einen benutzerdefinierten endpoint in der Konfigurationsdatei librechat.yaml angeben. Sie können diese Standardwerte jedoch überschreiben, indem Sie das Feld customParams.defaultParamsEndpoint innerhalb der Definition Ihres benutzerdefinierten endpoint angeben. Um beispielsweise Google-Parameter für Ihren benutzerdefinierten endpoint zu verwenden:

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

Dein "Google Gemini" endpoint zeigt nun Parameter für die Google API an, wenn du einen neuen Agenten oder ein neues Preset erstellst.

Überschreiben von Parameterdefinitionen

Darüber hinaus können Sie auch die Parameter für Ihren benutzerdefinierten endpoint feinabstimmen. Zum Beispiel ist der temperature-Parameter für den google endpoint ein Schieberegler mit einem Bereich von 0.0 bis 1.0 und einem Standardwert von 1.0; Sie können die librechat.yaml-Datei aktualisieren, um diese Werte zu überschreiben:

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

Infolgedessen wird der Temperature-Schieberegler auf den Bereich von 0.0 bis 0.7 mit einer Schrittweite von 0.1 und einem Standardwert von 0.5 begrenzt. Die restlichen Parameter werden auf ihre Standardwerte gesetzt.

Festlegen von Standard-Parameterwerten

Sie können Standardwerte für Parameter festlegen, die automatisch angewendet werden, wenn API-Anfragen gestellt werden. Dies ist nützlich, um Basis-Parameterwerte für Ihren benutzerdefinierten endpoint festzulegen, ohne dass Benutzer diese jedes Mal manuell konfigurieren müssen.

Das Feld default in paramDefinitions ermöglicht es Ihnen, Standardwerte festzulegen, die angewendet werden, wenn Parameter nicht definiert sind. Diese Standardwerte folgen einer Prioritätsreihenfolge, um ein korrektes Überschreibungsverhalten sicherzustellen:

Prioritätsreihenfolge (niedrigste bis höchste):

  1. Standardwerte aus paramDefinitions - Werden zuerst angewendet, wenn der Parameter nicht definiert ist
  2. addParams - Kann Standardwerte überschreiben
  3. Vom Benutzer konfigurierte modelOptions – Höchste Priorität, überschreibt alles
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

In diesem Beispiel:

  • Wenn ein Benutzer keine temperature angibt, wird standardmäßig 0.7 verwendet.
  • Wenn ein Benutzer temperature explizit auf 0.5 setzt, hat sein Wert (0.5) Vorrang.
  • Das Feld addParams (falls konfiguriert) kann diese Standardwerte überschreiben
  • Benutzerauswahlen in der UI haben immer die höchste Priorität

Anthropic

Es gibt zwei Anthropic-bezogene benutzerdefinierte endpoint-Modi:

  • provider: 'anthropic' auf dem benutzerdefinierten endpoint verwendet den nativen Anthropic /v1/messages Client. Verwenden Sie dies für Anthropic selbst oder Gateways, die die Anthropic Messages API unterstützen.
  • customParams.defaultParamsEndpoint: 'anthropic' behält den benutzerdefinierten endpoint auf dem OpenAI-kompatiblen Pfad bei, während gleichzeitig Parameter-Metadaten und Request-Anpassungen im Anthropic-Stil angewendet werden.

Bei der Verwendung von defaultParamsEndpoint: 'anthropic' bietet das System eine spezielle Handhabung, die über die bloße Anzeige und Verwendung von Anthropic-Parametersätzen hinausgeht:

Anthropic API-Kompatibilität

Das Setzen von defaultParamsEndpoint: 'anthropic' passt Parameter, Header und Payload-Formatierung für Anfragen im Anthropic-Format auf dem benutzerdefinierten Endpunkt-Pfad an:

  • Parameter werden exakt so an Ihren benutzerdefinierten endpoint gesendet, wie es die Anthropic API erwartet.
  • Dies ist unerlässlich für Proxy-Dienste wie LiteLLM, die Nicht-OpenAI-Spezifikationsparameter direkt an den zugrunde liegenden Anbieter weiterleiten.
  • Anthropic-spezifische Parameter wie thinking sind korrekt formatiert
  • Die messages-Nutzlast ist gemäß den Anforderungen von Anthropic formatiert (Thinking-Blöcke und Prompt-Caching).
  • Entsprechende Beta-Header werden automatisch basierend auf dem Modell hinzugefügt, genau wie bei der direkten Verwendung von Anthropic.

Dies ist hauptsächlich erforderlich, um den thinking Parameter korrekt zu formatieren, der nicht OpenAI-kompatibel ist:

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

Zusätzlich fügt das System automatisch modellspezifische Anthropic Beta-Header hinzu, wie zum Beispiel:

  • anthropic-beta: prompt-caching-2024-07-31 für Unterstützung von Prompt Caching
  • anthropic-beta: context-1m-2025-08-07 für Modelle mit erweitertem Kontext
  • Modellspezifische Feature-Flags basierend auf dem verwendeten Claude-Modell

Für native Anthropic-kompatible endpoints, bevorzugen Sie provider: 'anthropic' im benutzerdefinierten endpoint. Dies leitet Agents, Zusammenfassungen, Token-/Kontext-Budgetierung und Parameter-Standardwerte über den Anthropic-Provider-Pfad.

Implementierungsstatus

Derzeit ist diese automatische Parameter- und Header-Verarbeitung vollständig für benutzerdefinierte Endpunkte im Anthropic-Stil implementiert. Ein ähnliches Verhalten für andere defaultParamsEndpoint-Werte (z. B. google, bedrock) ist für zukünftige Updates geplant.

Wie finden Sie diese Anleitung?