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

Paramètres de point de terminaison partagés

Cette page décrit les paramètres de configuration partagés pour tous les endpoint. Les paramètres mis en évidence ici sont disponibles pour toutes les configurations sous le champ "Endpoints", sauf indication contraire.

Exemple de configuration

endpoints:
  # Individual endpoint configurations
  openAI:
    streamRate: 25
    titleModel: 'gpt-4o-mini'
    titleMethod: 'completion'
    titleTiming: 'immediate'
    titlePrompt: "Create a concise title for this conversation:\n\n{convo}"
    headers:
      X-Gateway-Metadata: '{"user_email":"{{LIBRECHAT_USER_EMAIL}}"}'
 
  azureOpenAI:
    streamRate: 35
    titleModel: 'grok-3'
    titleMethod: 'structured'
    titlePrompt: |
      Analyze this conversation and provide:
      1. A concise title in the detected language (5 words or less, no punctuation or quotation)
      2. Always provide a relevant emoji at the start of the title
 
      {convo}
    titleConvo: true
 
  anthropic:
    streamRate: 25
    titleModel: 'claude-3-5-haiku-20241022'
    titleMethod: 'completion'
    headers:
      X-Conversation-Id: '{{LIBRECHAT_BODY_CONVERSATIONID}}'
 
  bedrock:
    streamRate: 25
    titleModel: 'us.amazon.nova-lite-v1:0'
    titleEndpoint: 'anthropic'
 
  google:
    streamRate: 1
    titleModel: 'gemini-2.0-flash-lite'
    titlePromptTemplate: "Human: {input}\nAssistant: {output}"
    headers:
      X-Gateway-Metadata: '{"user_id":"{{LIBRECHAT_USER_ID}}"}'
 
  assistants:
    streamRate: 30
 
  azureAssistants:
    streamRate: 30
 
  # Global configuration using 'all' - this applies shared settings across endpoints.
  # Most defined values override endpoint defaults; headers are merged and endpoint values win on collisions.
  all:
    headers:
      X-App: 'librechat'
    titleConvo: true
    titleModel: 'gpt-4.1-nano'
    titleTiming: 'immediate'
    titlePrompt: |
      Analyze this conversation and provide:
      1. The detected language of the conversation
      2. A concise title in the detected language (5 words or less, no punctuation or quotation)
      3. Always provide a relevant emoji at the start of the title
      {convo}

Important : Lorsque vous utilisez la configuration all, la plupart des propriétés partagées que vous définissez s'appliquent à tous les endpoint. Dans l'exemple ci-dessus, la configuration all appliquerait titleConvo, titleModel et titlePrompt à tous les endpoint, tandis que les paramètres individuels de streamRate seraient préservés puisqu'ils ne sont pas définis dans all. Les headers sont fusionnés séparément : les valeurs provenant de endpoints.all.headers s'appliquent globalement, et les headers au niveau de l'endpoint prévalent en cas de conflit de clés.

streamRate

Clé :

KeyTypeDescriptionExample
streamRateNumberLa vitesse à laquelle les données sont diffusées depuis le endpoint. Utile pour contrôler le rythme de diffusion des données.streamRate: 25

Par défaut : 1

Permet de diffuser des données au débit le plus rapide possible tout en permettant au système d'attendre le prochain tick

titleConvo

Clé :

KeyTypeDescriptionExample
titleConvoBooleanActive la génération automatique du titre de la conversation pour cet endpoint.titleConvo: true

Par défaut : false

Notes :

  • Lorsqu'elle est activée, les titres seront générés automatiquement en utilisant les paramètres de titre configurés.
  • Doit être utilisé conjointement avec titleModel ou l'endpoint doit disposer d'un modèle par défaut.

Exemple :

titleConvo: true

titleTiming

Clé :

KeyTypeDescriptionExample
titleTimingStringContrôle le moment où les titres des conversations sont générés. Valeurs valides : "immediate" ou "final".titleTiming: "immediate"

Par défaut : "immediate"

Valeurs disponibles :

  • "immediate" - Génère le titre dès que la requête commence, en parallèle de la réponse du modèle, en utilisant le premier message de l'utilisateur. Les titres apparaissent généralement en une ou deux secondes.
  • "final" - Diffère la génération du titre jusqu'à ce que la réponse complète soit terminée. Cela préserve le comportement hérité.

Exemple :

endpoints:
  all:
    titleTiming: 'immediate'

titleModel

Clé :

KeyTypeDescriptionExample
titleModelStringSpécifie le modèle à utiliser pour les titres.Defaults to system default for the current endpoint if omitted. May cause issues if the system default model is not available. You can also dynamically use the current conversation model by setting it to "current_model".

Par défaut : Paramètre par défaut du système pour l'endpoint actuel

titleMethod

Clé :

KeyTypeDescriptionExample
titleMethodStringContrôle la méthode utilisée pour générer les titres de conversation.Valid values: "completion" (default), "structured", "functions" (legacy alias for "structured")

Par défaut : "completion"

Méthodes disponibles :

  • "completion" - Utilise l'API de complétion standard sans outils/fonctions. Compatible avec la plupart des LLM.
  • "structured" - Utilise une sortie structurée pour la génération de titres. Nécessite la prise en charge du fournisseur/modèle.
  • "functions" - Alias hérité pour "structured". Fonctionnellement identique.

Exemple :

titleMethod: 'completion'

titlePrompt

Clé :

KeyTypeDescriptionExample
titlePromptStringInvite personnalisée pour la génération de titre. Doit inclure l'espace réservé {convo}.Allows full control over how titles are generated.

Par défaut :

Analyze this conversation and provide:
1. The detected language of the conversation
2. A concise title in the detected language (5 words or less, no punctuation or quotation)

{convo}

Notes :

  • Doit toujours inclure l'espace réservé {convo}
  • Le paramètre fictif {convo} sera remplacé par la conversation formatée
  • Peut être placé n'importe où dans le prompt

Exemple :

titlePrompt: "Create a brief, descriptive title for the following conversation:\n\n{convo}\n\nTitle:"

titlePromptTemplate

Clé :

KeyTypeDescriptionExample
titlePromptTemplateStringModèle pour formater le contenu de la conversation qui remplace {convo} dans titlePrompt.Must include {input} and {output} placeholders.

Par défaut : "User: {input}\nAI: {output}"

Notes :

  • Doit inclure les deux espaces réservés {input} et {output}
  • {input} est remplacé par le message initial de l'utilisateur
  • {output} est remplacé par la réponse de l'IA
  • Le résultat formaté remplace {convo} dans le titlePrompt

Exemple :

titlePromptTemplate: "Human: {input}\n\nAssistant: {output}"

titleEndpoint

Clé :

KeyTypeDescriptionExample
titleEndpointStringSpécifie un endpoint alternatif à utiliser pour la génération de titres.Allows using a different, potentially cheaper model/endpoint for titles.

Par défaut : Utilise l'endpoint de la conversation actuelle

Valeurs acceptées :

Exemple :

# Use Anthropic for titles even when chatting with OpenAI
endpoints:
  openAI:
    titleEndpoint: 'anthropic'
    # Will use anthropic's configuration for title generation

maxToolResultChars

Clé :

KeyTypeDescriptionExample
maxToolResultCharsNumberLimite le nombre maximal de caractères dans les résultats d'appels d'outils envoyés au modèle. Doit être un nombre positif.maxToolResultChars: 50000

Par défaut : Aucune limite

Notes :

  • Aide à empêcher les sorties d'outils excessivement volumineuses de consommer trop de jetons
  • S'applique à tous les résultats d'appels d'outils pour l'endpoint

Exemple :

endpoints:
  all:
    maxToolResultChars: 50000

headers

Clé :

KeyTypeDescriptionExample
headersObject/DictionaryEn-têtes de requête personnalisés transmis aux endpoints des fournisseurs intégrés pris en charge.Useful for AI gateways and reverse proxies that consume metadata headers while LibreChat keeps provider-native request formatting.

Points de terminaison pris en charge : openAI, anthropic, google et all.

Exemple :

endpoints:
  all:
    headers:
      X-App: 'librechat'
  anthropic:
    headers:
      X-Conversation-Id: '{{LIBRECHAT_BODY_CONVERSATIONID}}'

Notes :

  • Les valeurs prennent en charge ${ENV_VAR}, {{LIBRECHAT_USER_*}} et les espaces réservés du corps de la requête tels que {{LIBRECHAT_BODY_CONVERSATIONID}}.
  • Les en-têtes au niveau de l'endpoint remplacent endpoints.all.headers en cas de collision de clés.
  • L'authentification gérée par le fournisseur et les en-têtes bêta/protocole requis restent faisant autorité. Les valeurs bêta d'Anthropic sont fusionnées afin que les drapeaux bêta personnalisés n'écrasent pas les drapeaux requis par le fournisseur.
  • Les en-têtes sont également transmis pour les requêtes de liste de modèles des fournisseurs pris en charge.
  • Utilisez des en-têtes de métadonnées derrière une passerelle ou un proxy inverse qui les consomme. Les API des fournisseurs natifs ignorent généralement les en-têtes inconnus.

Notes :

  • Tous les paramètres affichés sur cette page peuvent être configurés individuellement par endpoint ou globalement en utilisant la clé all
  • Lors de l'utilisation de la configuration all, celle-ci remplacera les paramètres correspondants dans TOUS les endpoint individuels.
  • La clé all n'accepte pas baseURL
  • Les paramètres non définis dans all conserveront leurs valeurs de endpoint individuelles
  • Pour streamRate : Les valeurs recommandées se situent entre 25 et 40 pour une expérience de streaming fluide.
  • L'utilisation d'un taux de streaming plus élevé est indispensable lors de la mise à disposition de l'application à de nombreux utilisateurs à grande échelle.

Exemple de comportement de remplacement :

endpoints:
  openAI:
    streamRate: 25 # This will be preserved
    titleModel: 'gpt-4' # This will be overridden
    titleConvo: false # This will be overridden
 
  all:
    titleConvo: true
    titleModel: 'gpt-3.5-turbo'
    # streamRate not defined here, so individual values are kept

Paramètres d'endpoint

Que pensez-vous de ce guide ?