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

Parâmetros Personalizados

Escolhendo um conjunto de parâmetros padrão

Por padrão, ao especificar um endpoint personalizado no arquivo de configuração librechat.yaml, ele utilizará os parâmetros padrão da API da OpenAI. No entanto, você pode substituir esses padrões especificando o campo customParams.defaultParamsEndpoint dentro da definição do seu endpoint personalizado. Por exemplo, para usar os parâmetros do Google para o seu endpoint personalizado:

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

O seu endpoint "Google Gemini" agora exibirá parâmetros para a API do Google ao criar um novo agente ou predefinição.

Substituindo Definições de Parâmetros

Além disso, você também pode ajustar os parâmetros fornecidos para o seu endpoint personalizado. Por exemplo, o parâmetro temperature para o endpoint google é um controle deslizante com intervalo de 0.0 a 1.0, e padrão de 1.0; você pode atualizar o arquivo librechat.yaml para substituir esses valores:

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

Como resultado, o controle deslizante Temperature será limitado ao intervalo de 0.0 a 0.7 com um incremento de 0.1, e um valor padrão de 0.5. O restante dos parâmetros será definido com seus valores padrão.

Definindo Valores de Parâmetros Padrão

Você pode especificar valores padrão para parâmetros que serão aplicados automaticamente ao fazer solicitações de API. Isso é útil para definir valores de parâmetro base para seu endpoint personalizado sem exigir que os usuários os configurem manualmente a cada vez.

O campo default em paramDefinitions permite definir valores padrão que são aplicados quando os parâmetros não estão definidos. Esses padrões seguem uma ordem de prioridade para garantir o comportamento correto de substituição:

Ordem de prioridade (da menor para a maior):

  1. Valores padrão de paramDefinitions - Aplicados primeiro quando o parâmetro está indefinido
  2. addParams - Pode substituir valores padrão
  3. modelOptions configuradas pelo usuário - Prioridade máxima, substitui tudo
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

Neste exemplo:

  • Se um usuário não especificar temperature, o padrão será 0.7
  • Se um usuário definir explicitamente a temperature como 0.5, o valor dele (0.5) terá precedência
  • O campo addParams (se configurado) pode substituir esses padrões
  • As seleções do usuário na UI sempre têm a maior prioridade

Anthropic

Existem dois modos de endpoint personalizados relacionados à Anthropic:

  • provider: 'anthropic' no endpoint personalizado usa o cliente nativo /v1/messages da Anthropic. Use isso para a própria Anthropic ou gateways que utilizam a API de Messages da Anthropic.
  • customParams.defaultParamsEndpoint: 'anthropic' mantém o endpoint personalizado no caminho compatível com OpenAI enquanto aplica metadados de parâmetro e adaptação de requisição no estilo Anthropic.

Ao usar defaultParamsEndpoint: 'anthropic', o sistema fornece um tratamento especial que vai além de apenas exibir e usar conjuntos de parâmetros da Anthropic:

Compatibilidade com a API da Anthropic

Definir defaultParamsEndpoint: 'anthropic' adapta os parâmetros, cabeçalhos e a formatação do payload para requisições no formato da Anthropic no caminho do endpoint personalizado:

  • Os parâmetros são enviados para o seu endpoint personalizado exatamente como a API da Anthropic espera.
  • Isso é essencial para serviços de proxy como o LiteLLM que passam parâmetros fora da especificação da OpenAI diretamente para o provedor subjacente
  • Parâmetros específicos da Anthropic, como thinking, estão formatados corretamente
  • O payload messages é formatado de acordo com os requisitos da Anthropic (blocos de pensamento e cache de prompt)
  • Cabeçalhos beta apropriados são adicionados automaticamente com base no modelo, assim como ao usar Anthropic diretamente.

Isso é principalmente necessário para formatar corretamente o parâmetro thinking, que não é compatível com OpenAI:

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

Além disso, o sistema adiciona automaticamente cabeçalhos beta da Anthropic específicos do modelo, tais como:

  • anthropic-beta: prompt-caching-2024-07-31 para suporte a prompt caching
  • anthropic-beta: context-1m-2025-08-07 para modelos de contexto estendido
  • Flags de recursos específicos do modelo com base no modelo Claude que está sendo usado

Para endpoints nativos compatíveis com Anthropic, prefira provider: 'anthropic' no endpoint personalizado. Isso roteia agentes, sumarização, orçamento de tokens/contexto e padrões de parâmetros através do caminho do provedor Anthropic.

Replay de raciocínio

Alguns gateways de raciocínio compatíveis com OpenAI exigem que o reasoning_content do provedor seja reproduzido em turnos de chamada de ferramenta (tool-call) do assistente. Use flags de endpoint personalizadas para optar por isso apenas para provedores que necessitam desse comportamento:

customParams:
  reasoningFormat: reasoning_object
  reasoningKey: reasoning_content
  includeReasoningContent: true

Defina includeReasoningHistory: true apenas quando o provedor também exigir que o LibreChat reconstrua o reasoning_content a partir do histórico de conversas persistido em turnos posteriores. Isso implica includeReasoningContent.

Status da Implementação

Atualmente, esse tratamento automático de parâmetros e cabeçalhos está totalmente implementado para endpoints personalizados no estilo Anthropic. Comportamento semelhante para outros valores de defaultParamsEndpoint (por exemplo, google, bedrock) está planejado para futuras atualizações.

Como está este guia?