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

Configurações de Endpoint Compartilhado

Esta página descreve as configurações compartilhadas para todos os endpoints. As configurações destacadas aqui estão disponíveis para todas as configurações sob o campo "Endpoints", a menos que indicado o contrário.

Exemplo de Configuração

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: Ao usar a configuração all, a maioria das propriedades compartilhadas que você define se aplica a todos os endpoints. No exemplo acima, a configuração all aplicaria titleConvo, titleModel e titlePrompt a todos os endpoints, enquanto as configurações individuais de streamRate seriam preservadas, já que não estão definidas em all. Os headers são mesclados separadamente: os valores de endpoints.all.headers aplicam-se globalmente, e os headers no nível do endpoint prevalecem em caso de conflito de chaves.

streamRate

Chave:

KeyTypeDescriptionExample
streamRateNumberA taxa na qual os dados são transmitidos a partir do endpoint. Útil para controlar o ritmo da transmissão de dados.streamRate: 25

Padrão: 1

Permite o streaming de dados na taxa mais rápida possível, permitindo que o sistema aguarde pelo próximo tick

titleConvo

Chave:

KeyTypeDescriptionExample
titleConvoBooleanHabilita a geração automática de títulos de conversa para este endpoint.titleConvo: true

Padrão: false

Notas:

  • Quando ativado, os títulos serão gerados automaticamente usando as configurações de título definidas.
  • Deve ser usado em conjunto com titleModel ou o endpoint deve ter um modelo padrão disponível

Exemplo:

titleConvo: true

titleTiming

Chave:

KeyTypeDescriptionExample
titleTimingStringControla quando os títulos das conversas são gerados. Valores válidos: "immediate" ou "final".titleTiming: "immediate"

Padrão: "immediate"

Valores Disponíveis:

  • "immediate" - Gera o título assim que a solicitação é iniciada, em paralelo com a resposta do modelo, usando a primeira mensagem do usuário. Os títulos geralmente aparecem em um ou dois segundos.
  • "final" - Adia a geração do título até que a resposta completa seja concluída. Isso preserva o comportamento legado.

Exemplo:

endpoints:
  all:
    titleTiming: 'immediate'

titleModel

Chave:

KeyTypeDescriptionExample
titleModelStringEspecifica o modelo a ser usado para 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".

Padrão: Padrão do sistema para o endpoint atual

titleMethod

Chave:

KeyTypeDescriptionExample
titleMethodStringControla o método usado para gerar títulos de conversas.Valid values: "completion" (default), "structured", "functions" (legacy alias for "structured")

Padrão: "completion"

Métodos Disponíveis:

  • "completion" - Usa a API de conclusão padrão sem ferramentas/funções. Compatível com a maioria dos LLMs.
  • "structured" - Usa saída estruturada para a geração de títulos. Requer suporte do provedor/modelo.
  • "functions" - Alias legado para "structured". Funcionalmente idêntico.

Exemplo:

titleMethod: 'completion'

titlePrompt

Chave:

KeyTypeDescriptionExample
titlePromptStringPrompt personalizado para geração de título. Deve incluir o placeholder {convo}.Allows full control over how titles are generated.

Padrão:

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:

  • Deve sempre incluir o placeholder {convo}
  • O placeholder {convo} será substituído pela conversa formatada
  • Pode ser colocado em qualquer lugar no prompt

Exemplo:

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

titlePromptTemplate

Chave:

KeyTypeDescriptionExample
titlePromptTemplateStringModelo para formatar o conteúdo da conversa que substitui {convo} em titlePrompt.Must include {input} and {output} placeholders.

Padrão: "User: {input}\nAI: {output}"

Notas:

  • Deve incluir ambos os placeholders {input} e {output}
  • {input} é substituído pela mensagem inicial do usuário
  • {output} é substituído pela resposta da IA
  • O resultado formatado substitui {convo} no titlePrompt

Exemplo:

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

titleEndpoint

Chave:

KeyTypeDescriptionExample
titleEndpointStringEspecifica um endpoint alternativo a ser usado para a geração de títulos.Allows using a different, potentially cheaper model/endpoint for titles.

Padrão: Usa o endpoint da conversa atual

Valores Aceitos:

Exemplo:

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

maxToolResultChars

Chave:

KeyTypeDescriptionExample
maxToolResultCharsNumberLimita o número máximo de caracteres nos resultados de chamadas de ferramenta enviados ao modelo. Deve ser um número positivo.maxToolResultChars: 50000

Padrão: Sem limite

Notas:

  • Ajuda a evitar que saídas de ferramentas excessivamente grandes consumam muitos tokens
  • Aplica-se a todos os resultados de chamadas de ferramenta para o endpoint

Exemplo:

endpoints:
  all:
    maxToolResultChars: 50000

headers

Chave:

KeyTypeDescriptionExample
headersObject/DictionaryCabeçalhos de solicitação personalizados encaminhados para endpoints de provedores integrados suportados.Useful for AI gateways and reverse proxies that consume metadata headers while LibreChat keeps provider-native request formatting.

Endpoints suportados: openAI, anthropic, google e all.

Exemplo:

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

Notas:

  • Os valores suportam ${ENV_VAR}, {{LIBRECHAT_USER_*}} e placeholders do corpo da requisição, como {{LIBRECHAT_BODY_CONVERSATIONID}}.
  • Os cabeçalhos em nível de endpoint substituem endpoints.all.headers em caso de colisão de chaves.
  • A autenticação gerenciada pelo provedor e os cabeçalhos beta/protocolo obrigatórios permanecem como autoridade. Os valores beta da Anthropic são mesclados para que sinalizadores beta personalizados não sobrescrevam os sinalizadores obrigatórios do provedor.
  • Cabeçalhos também são encaminhados para solicitações de lista de modelos de provedores suportados.
  • Use cabeçalhos de metadados atrás de um gateway ou proxy reverso que os consuma. APIs de provedores nativos normalmente ignoram cabeçalhos desconhecidos.

Notas:

  • Todas as configurações exibidas nesta página podem ser configuradas individualmente por endpoint ou globalmente usando a chave all
  • Ao usar a configuração all, ela substituirá as configurações correspondentes em TODOS os endpoints individuais.
  • A chave all não aceita baseURL
  • As configurações não definidas em all preservarão seus valores de endpoint individuais
  • Para streamRate: Os valores recomendados estão entre 25-40 para uma experiência de streaming fluida
  • Usar uma taxa de stream mais alta é essencial ao servir o aplicativo para muitos usuários em escala

Exemplo de Comportamento de Substituição (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

Configurações de endpoint

Como está este guia?