Parametri personalizzati
Scelta di un set di parametri predefinito
Per impostazione predefinita, quando specifichi un endpoint personalizzato nel file di configurazione librechat.yaml, verranno utilizzati i parametri predefiniti dell'API OpenAI. Tuttavia, puoi sovrascrivere questi valori predefiniti specificando il campo customParams.defaultParamsEndpoint all'interno della definizione del tuo endpoint personalizzato. Ad esempio, per utilizzare i parametri di Google per il tuo endpoint personalizzato:
endpoints:
custom:
- name: 'Google Gemini'
apiKey: ...
baseURL: ...
customParams:
defaultParamsEndpoint: 'google'Il tuo endpoint "Google Gemini" ora mostrerà i parametri per l'API di Google quando crei un nuovo agente o preset.
Sovrascrittura delle definizioni dei parametri
Oltre a ciò, puoi anche ottimizzare i parametri forniti per il tuo endpoint personalizzato. Ad esempio, il parametro temperature per l'endpoint google è uno slider con un intervallo da 0.0 a 1.0 e un valore predefinito di 1.0; puoi aggiornare il file librechat.yaml per sovrascrivere questi valori:
endpoints:
custom:
- name: 'Google Gemini'
apiKey: ...
baseURL: ...
customParams:
defaultParamsEndpoint: 'google'
paramDefinitions:
- key: temperature
range:
min: 0
max: 0.7
step: 0.1
default: 0.5Di conseguenza, il cursore Temperature sarà limitato all'intervallo tra 0.0 e 0.7 con un incremento di 0.1 e un valore predefinito di 0.5. Il resto dei parametri sarà impostato sui valori predefiniti.
Impostazione dei valori predefiniti dei parametri
È possibile specificare valori predefiniti per i parametri che verranno applicati automaticamente durante l'esecuzione delle richieste API. Questo è utile per impostare valori di parametro di base per il proprio endpoint personalizzato senza richiedere agli utenti di configurarli manualmente ogni volta.
Il campo default in paramDefinitions ti consente di impostare valori predefiniti che vengono applicati quando i parametri non sono definiti. Questi valori predefiniti seguono un ordine di priorità per garantire un corretto comportamento di sovrascrittura:
Ordine di priorità (dal più basso al più alto):
- Valori predefiniti da
paramDefinitions- Applicati per primi quando il parametro non è definito addParams- Può sovrascrivere i valori predefinitimodelOptionsconfigurate dall'utente - Priorità massima, sovrascrive tutto
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: 2000In questo esempio:
- Se un utente non specifica
temperature, il valore predefinito è0.7 - Se un utente imposta esplicitamente
temperaturesu0.5, il suo valore (0.5) ha la precedenza - Il campo
addParams(se configurato) può sovrascrivere queste impostazioni predefinite - Le selezioni dell'utente nell'interfaccia utente hanno sempre la massima priorità
Anthropic
Ci sono due modalità di endpoint personalizzati relative ad Anthropic:
provider: 'anthropic'sull'endpoint personalizzato utilizza il client nativo Anthropic/v1/messages. Utilizzalo per Anthropic stesso o per gateway che supportano l'API Anthropic Messages.customParams.defaultParamsEndpoint: 'anthropic'mantiene l'endpoint personalizzato sul percorso compatibile con OpenAI, applicando al contempo i metadati dei parametri e l'adattamento della richiesta in stile Anthropic.
Quando si utilizza defaultParamsEndpoint: 'anthropic', il sistema fornisce una gestione speciale che va oltre la semplice visualizzazione e l'utilizzo dei set di parametri di Anthropic:
Compatibilità API Anthropic
L'impostazione defaultParamsEndpoint: 'anthropic' adatta i parametri, le intestazioni e la formattazione del payload per le richieste strutturate per Anthropic sul percorso dell'endpoint personalizzato:
- I parametri vengono inviati al tuo endpoint personalizzato esattamente come previsto dall'API Anthropic
- Questo è essenziale per servizi proxy come LiteLLM che passano parametri non conformi alle specifiche OpenAI direttamente al provider sottostante
- I parametri specifici di Anthropic come
thinkingsono formattati correttamente - Il payload
messagesè formattato secondo i requisiti di Anthropic (blocchi di pensiero e prompt caching) - Gli header beta appropriati vengono aggiunti automaticamente in base al modello, come quando si utilizza Anthropic direttamente.
Ciò è principalmente necessario per formattare correttamente il parametro thinking, che non è compatibile con OpenAI:
{
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}
}Inoltre, il sistema aggiunge automaticamente intestazioni beta di Anthropic specifiche per il modello, come:
anthropic-beta: prompt-caching-2024-07-31per il supporto della memorizzazione nella cache dei prompt (prompt caching)anthropic-beta: context-1m-2025-08-07per modelli a contesto esteso- Flag di funzionalità specifiche per il modello in base al modello Claude utilizzato
Per gli endpoint nativi compatibili con Anthropic, preferisci provider: 'anthropic' nell'endpoint personalizzato. Questo instrada gli agenti, la riassunzione, la gestione del budget di token/contesto e i parametri predefiniti attraverso il percorso del provider Anthropic.
Riproduzione del ragionamento
Alcuni gateway di ragionamento compatibili con OpenAI richiedono che il reasoning_content del provider venga riprodotto durante i turni di chiamata agli strumenti (tool-call) dell'assistente. Utilizza i flag degli endpoint personalizzati per attivare questa opzione solo per i provider che necessitano di questo comportamento:
customParams:
reasoningFormat: reasoning_object
reasoningKey: reasoning_content
includeReasoningContent: trueImposta includeReasoningHistory: true solo quando il provider richiede anche a LibreChat di ricostruire reasoning_content dalla cronologia delle conversazioni persistenti nei turni successivi. Ciò implica includeReasoningContent.
Stato dell'implementazione
Attualmente, questa gestione automatica dei parametri e degli header è completamente implementata per gli endpoint personalizzati in stile Anthropic. Un comportamento simile per altri valori di defaultParamsEndpoint (ad esempio, google, bedrock) è previsto per i futuri aggiornamenti.
Com’è questa guida?