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.5Como 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):
- Valores padrão de
paramDefinitions- Aplicados primeiro quando o parâmetro está indefinido addParams- Pode substituir valores padrãomodelOptionsconfiguradas 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: 2000Neste exemplo:
- Se um usuário não especificar
temperature, o padrão será0.7 - Se um usuário definir explicitamente a
temperaturecomo0.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/messagesda 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-31para suporte a prompt cachinganthropic-beta: context-1m-2025-08-07para 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: trueDefina 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?