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

Impostazioni endpoint condivise

Questa pagina descrive le impostazioni di configurazione condivise per tutti gli endpoint. Le impostazioni qui evidenziate sono disponibili per tutte le configurazioni sotto il campo "Endpoints", salvo diversa indicazione.

Esempio di configurazione

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}

Importante: Quando si utilizza la configurazione all, la maggior parte delle proprietà condivise definite si applica a tutti gli endpoint. Nell'esempio precedente, la configurazione all applicherebbe titleConvo, titleModel e titlePrompt a tutti gli endpoint, mentre le impostazioni individuali di streamRate verrebbero preservate poiché non sono definite in all. Gli headers vengono uniti separatamente: i valori da endpoints.all.headers si applicano globalmente e gli header a livello di endpoint prevalgono in caso di conflitti di chiave.

streamRate

Chiave:

KeyTypeDescriptionExample
streamRateNumberLa velocità con cui i dati vengono trasmessi in streaming dall'endpoint. Utile per controllare il ritmo dello streaming dei dati.streamRate: 25

Predefinito: 1

Consente lo streaming dei dati alla massima velocità possibile, permettendo al sistema di attendere il tick successivo

titleConvo

Chiave:

KeyTypeDescriptionExample
titleConvoBooleanAbilita la generazione automatica del titolo della conversazione per questo endpoint.titleConvo: true

Predefinito: false

Note:

  • Quando abilitato, i titoli verranno generati automaticamente utilizzando le impostazioni del titolo configurate.
  • Deve essere utilizzato insieme a titleModel o l'endpoint deve avere un modello predefinito disponibile

Esempio:

titleConvo: true

titleTiming

Chiave:

KeyTypeDescriptionExample
titleTimingStringControlla quando vengono generati i titoli delle conversazioni. Valori validi: "immediate" o "final".titleTiming: "immediate"

Predefinito: "immediate"

Valori disponibili:

  • "immediate" - Genera il titolo non appena inizia la richiesta, in parallelo con la risposta del modello, utilizzando il primo messaggio dell'utente. I titoli solitamente appaiono entro un secondo o due.
  • "final" - Posticipa la generazione del titolo fino al completamento della risposta completa. Questo preserva il comportamento legacy.

Esempio:

endpoints:
  all:
    titleTiming: 'immediate'

titleModel

Chiave:

KeyTypeDescriptionExample
titleModelStringSpecifica il modello da utilizzare per i titoli.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".

Predefinito: Impostazione predefinita di sistema per l'endpoint corrente

titleMethod

Chiave:

KeyTypeDescriptionExample
titleMethodStringControlla il metodo utilizzato per generare i titoli delle conversazioni.Valid values: "completion" (default), "structured", "functions" (legacy alias for "structured")

Predefinito: "completion"

Metodi disponibili:

  • "completion" - Utilizza l'API di completamento standard senza strumenti/funzioni. Compatibile con la maggior parte degli LLM.
  • "structured" - Utilizza l'output strutturato per la generazione del titolo. Richiede il supporto del provider/modello.
  • "functions" - Alias legacy per "structured". Funzionalmente identico.

Esempio:

titleMethod: 'completion'

titlePrompt

Chiave:

KeyTypeDescriptionExample
titlePromptStringPrompt personalizzato per la generazione del titolo. Deve includere il segnaposto {convo}.Allows full control over how titles are generated.

Predefinito:

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}

Note:

  • Deve sempre includere il segnaposto {convo}
  • Il segnaposto {convo} verrà sostituito con la conversazione formattata
  • Può essere inserito ovunque nel prompt

Esempio:

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

titlePromptTemplate

Chiave:

KeyTypeDescriptionExample
titlePromptTemplateStringModello per la formattazione del contenuto della conversazione che sostituisce {convo} in titlePrompt.Must include {input} and {output} placeholders.

Predefinito: "User: {input}\nAI: {output}"

Note:

  • Deve includere entrambi i segnaposto {input} e {output}
  • {input} viene sostituito con il messaggio iniziale dell'utente
  • {output} viene sostituito con la risposta dell'IA
  • Il risultato formattato sostituisce {convo} nel titlePrompt

Esempio:

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

titleEndpoint

Chiave:

KeyTypeDescriptionExample
titleEndpointStringSpecifica un endpoint alternativo da utilizzare per la generazione del titolo.Allows using a different, potentially cheaper model/endpoint for titles.

Predefinito: Utilizza l'endpoint della conversazione corrente

Valori accettati:

Esempio:

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

maxToolResultChars

Chiave:

KeyTypeDescriptionExample
maxToolResultCharsNumberLimita il numero massimo di caratteri nei risultati delle chiamate agli strumenti inviati al modello. Deve essere un numero positivo.maxToolResultChars: 50000

Predefinito: Nessun limite

Note:

  • Aiuta a evitare che output di strumenti eccessivamente grandi consumino troppi token
  • Si applica a tutti i risultati delle chiamate agli strumenti per l'endpoint

Esempio:

endpoints:
  all:
    maxToolResultChars: 50000

headers

Chiave:

KeyTypeDescriptionExample
headersObject/DictionaryIntestazioni di richiesta personalizzate inoltrate agli endpoint dei provider integrati supportati.Useful for AI gateways and reverse proxies that consume metadata headers while LibreChat keeps provider-native request formatting.

Endpoint supportati: openAI, anthropic, google e all.

Esempio:

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

Note:

  • I valori supportano ${ENV_VAR}, {{LIBRECHAT_USER_*}} e segnaposto del corpo della richiesta come {{LIBRECHAT_BODY_CONVERSATIONID}}.
  • Gli header a livello di endpoint sovrascrivono endpoints.all.headers in caso di collisione delle chiavi.
  • L'autenticazione gestita dal provider e le intestazioni beta/protocollo richieste rimangono autorevoli. I valori beta di Anthropic vengono uniti in modo che i flag beta personalizzati non sovrascrivano i flag richiesti dal provider.
  • Anche le intestazioni vengono inoltrate per le richieste di elenco modelli dei provider supportati.
  • Utilizza le intestazioni di metadati dietro un gateway o un reverse proxy che le consuma. Le API dei provider nativi solitamente ignorano le intestazioni sconosciute.

Note:

  • Tutte le impostazioni mostrate in questa pagina possono essere configurate singolarmente per ogni endpoint o globalmente utilizzando la chiave all
  • Quando si utilizza la configurazione all, questa sovrascriverà le impostazioni corrispondenti in TUTTI i singoli endpoint.
  • La chiave all non accetta baseURL
  • Le impostazioni non definite in all manterranno i loro valori specifici per ogni endpoint.
  • Per streamRate: I valori consigliati sono compresi tra 25-40 per un'esperienza di streaming fluida
  • L'utilizzo di una frequenza di streaming più elevata è indispensabile quando si serve l'app a molti utenti su larga scala

Esempio di comportamento di override:

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

Impostazioni endpoint

Com’è questa guida?