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

Configuración de endpoint compartido

Esta página describe los ajustes de configuración compartidos para todos los endpoints. Los ajustes destacados aquí están disponibles para todas las configuraciones bajo el campo "Endpoints", a menos que se indique lo contrario.

Ejemplo de configuración

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: Al utilizar la configuración all, la mayoría de las propiedades compartidas que definas se aplicarán a todos los endpoints. En el ejemplo anterior, la configuración all aplicaría titleConvo, titleModel y titlePrompt a todos los endpoints, mientras que los ajustes individuales de streamRate se conservarían ya que no están definidos en all. Los headers se combinan por separado: los valores de endpoints.all.headers se aplican globalmente, y los headers a nivel de endpoint prevalecen en caso de colisión de claves.

streamRate

Clave:

KeyTypeDescriptionExample
streamRateNumberLa velocidad a la que se transmiten los datos desde el endpoint. Útil para controlar el ritmo de transmisión de datos.streamRate: 25

Predeterminado: 1

Permite la transmisión de datos a la mayor velocidad posible mientras permite que el sistema espere al siguiente tick

titleConvo

Clave:

KeyTypeDescriptionExample
titleConvoBooleanHabilita la generación automática de títulos de conversación para este endpoint.titleConvo: true

Predeterminado: false

Notas:

  • Cuando está habilitado, los títulos se generarán automáticamente utilizando la configuración de títulos establecida.
  • Debe utilizarse junto con titleModel o el endpoint debe tener un modelo predeterminado disponible

Ejemplo:

titleConvo: true

titleTiming

Clave:

KeyTypeDescriptionExample
titleTimingStringControla cuándo se generan los títulos de las conversaciones. Valores válidos: "immediate" o "final".titleTiming: "immediate"

Predeterminado: "immediate"

Valores disponibles:

  • "immediate" - Genera el título tan pronto como comienza la solicitud, en paralelo con la respuesta del modelo, utilizando el primer mensaje del usuario. Los títulos suelen aparecer en uno o dos segundos.
  • "final" - Aplaza la generación del título hasta que se complete la respuesta completa. Esto preserva el comportamiento heredado.

Ejemplo:

endpoints:
  all:
    titleTiming: 'immediate'

titleModel

Clave:

KeyTypeDescriptionExample
titleModelStringEspecifica el modelo a utilizar para los títulos.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".

Predeterminado: Valor predeterminado del sistema para el endpoint actual

titleMethod

Clave:

KeyTypeDescriptionExample
titleMethodStringControla el método utilizado para generar los títulos de las conversaciones.Valid values: "completion" (default), "structured", "functions" (legacy alias for "structured")

Predeterminado: "completion"

Métodos disponibles:

  • "completion" - Utiliza la API de completion estándar sin herramientas/funciones. Compatible con la mayoría de los LLMs.
  • "structured" - Utiliza una salida estructurada para la generación de títulos. Requiere soporte del proveedor/modelo.
  • "functions" - Alias heredado para "structured". Funcionalmente idéntico.

Ejemplo:

titleMethod: 'completion'

titlePrompt

Clave:

KeyTypeDescriptionExample
titlePromptStringPrompt personalizado para la generación de títulos. Debe incluir el marcador de posición {convo}.Allows full control over how titles are generated.

Predeterminado:

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}

Notas:

  • Debe incluir siempre el marcador de posición {convo}
  • El marcador de posición {convo} será reemplazado por la conversación formateada
  • Puede colocarse en cualquier parte del prompt

Ejemplo:

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

titlePromptTemplate

Clave:

KeyTypeDescriptionExample
titlePromptTemplateStringPlantilla para dar formato al contenido de la conversación que reemplaza a {convo} en titlePrompt.Must include {input} and {output} placeholders.

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

Notas:

  • Debe incluir ambos marcadores de posición {input} y {output}
  • {input} se reemplaza con el mensaje inicial del usuario
  • {output} se reemplaza con la respuesta de la IA
  • El resultado formateado reemplaza {convo} en el titlePrompt

Ejemplo:

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

titleEndpoint

Clave:

KeyTypeDescriptionExample
titleEndpointStringEspecifica un endpoint alternativo para usar en la generación de títulos.Allows using a different, potentially cheaper model/endpoint for titles.

Predeterminado: Utiliza el endpoint de la conversación actual

Valores aceptados:

Ejemplo:

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

maxToolResultChars

Clave:

KeyTypeDescriptionExample
maxToolResultCharsNumberLimita el número máximo de caracteres en los resultados de llamadas a herramientas enviados al modelo. Debe ser un número positivo.maxToolResultChars: 50000

Predeterminado: Sin límite

Notas:

  • Ayuda a evitar que las salidas de herramientas excesivamente grandes consuman demasiados tokens
  • Se aplica a todos los resultados de llamadas a herramientas para el endpoint

Ejemplo:

endpoints:
  all:
    maxToolResultChars: 50000

headers

Clave:

KeyTypeDescriptionExample
headersObject/DictionaryEncabezados de solicitud personalizados reenviados a los endpoints de proveedores integrados compatibles.Useful for AI gateways and reverse proxies that consume metadata headers while LibreChat keeps provider-native request formatting.

Endpoints compatibles: openAI, anthropic, google y all.

Ejemplo:

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

Notas:

  • Los valores admiten ${ENV_VAR}, {{LIBRECHAT_USER_*}} y marcadores de posición del cuerpo de la solicitud como {{LIBRECHAT_BODY_CONVERSATIONID}}.
  • Los encabezados a nivel de endpoint sobrescriben a endpoints.all.headers en caso de colisión de claves.
  • La autenticación gestionada por el proveedor y los encabezados beta/protocolo requeridos siguen siendo autoritativos. Los valores beta de Anthropic se fusionan para que las banderas beta personalizadas no sobrescriban las banderas requeridas del proveedor.
  • Los encabezados también se reenvían para las solicitudes de lista de modelos de proveedores compatibles.
  • Utilice encabezados de metadatos detrás de una puerta de enlace o proxy inverso que los consuma. Las API de proveedores nativos normalmente ignoran los encabezados desconocidos.

Notas:

  • Todos los ajustes mostrados en esta página pueden configurarse individualmente por endpoint o globalmente usando la clave all
  • Al usar la configuración all, esta sobrescribirá los ajustes correspondientes en TODOS los endpoints individuales.
  • La clave all no acepta baseURL
  • Los ajustes no definidos en all conservarán sus valores de endpoint individuales
  • Para streamRate: Los valores recomendados están entre 25-40 para una experiencia de streaming fluida
  • Usar una tasa de streaming más alta es imprescindible al servir la aplicación a muchos usuarios a gran escala

Ejemplo de comportamiento de anulación:

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

Configuración de endpoint

¿Qué te parece esta guía?