Niestandardowe parametry
Wybór domyślnego zestawu parametrów
Domyślnie, gdy określisz niestandardowy endpoint w pliku konfiguracyjnym librechat.yaml, będzie on używał domyślnych parametrów OpenAI API. Możesz jednak nadpisać te ustawienia domyślne, określając pole customParams.defaultParamsEndpoint w definicji swojego niestandardowego endpointu. Na przykład, aby użyć parametrów Google dla swojego niestandardowego endpointu:
endpoints:
custom:
- name: 'Google Gemini'
apiKey: ...
baseURL: ...
customParams:
defaultParamsEndpoint: 'google'Twój endpoint "Google Gemini" będzie teraz wyświetlać parametry dla Google API podczas tworzenia nowego agenta lub presetu.
Zastępowanie definicji parametrów
Oprócz tego możesz również dostosować parametry udostępnione dla swojego niestandardowego endpoint. Na przykład parametr temperature dla endpoint google to suwak z zakresem od 0.0 do 1.0 i wartością domyślną 1.0; możesz zaktualizować plik librechat.yaml, aby nadpisać te wartości:
endpoints:
custom:
- name: 'Google Gemini'
apiKey: ...
baseURL: ...
customParams:
defaultParamsEndpoint: 'google'
paramDefinitions:
- key: temperature
range:
min: 0
max: 0.7
step: 0.1
default: 0.5W rezultacie suwak Temperature zostanie ograniczony do zakresu od 0.0 do 0.7 z krokiem 0.1 oraz wartością domyślną 0.5. Pozostałe parametry zostaną ustawione na swoje wartości domyślne.
Ustawianie domyślnych wartości parametrów
Możesz określić wartości domyślne dla parametrów, które będą automatycznie stosowane podczas wykonywania żądań API. Jest to przydatne do ustawiania bazowych wartości parametrów dla twojego niestandardowego endpoint bez konieczności ręcznego konfigurowania ich przez użytkowników za każdym razem.
Pole default w paramDefinitions pozwala na ustawienie wartości domyślnych, które są stosowane, gdy parametry nie są zdefiniowane. Te wartości domyślne podlegają kolejności priorytetów, aby zapewnić prawidłowe działanie nadpisywania:
Kolejność priorytetów (od najniższego do najwyższego):
- Domyślne wartości z
paramDefinitions- Stosowane w pierwszej kolejności, gdy parametr jest niezdefiniowany addParams- Pozwala na nadpisanie wartości domyślnych- Skonfigurowane przez użytkownika
modelOptions– Najwyższy priorytet, nadpisuje wszystko
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: 2000W tym przykładzie:
- Jeśli użytkownik nie określi
temperature, domyślną wartością będzie0.7 - Jeśli użytkownik jawnie ustawi
temperaturena0.5, jego wartość (0.5) będzie miała pierwszeństwo - Pole
addParams(jeśli skonfigurowane) może nadpisać te wartości domyślne - Wybory użytkownika w interfejsie zawsze mają najwyższy priorytet
Anthropic
Istnieją dwa tryby niestandardowego endpointu powiązane z Anthropic:
provider: 'anthropic'w niestandardowym endpoint używa natywnego klienta Anthropic/v1/messages. Użyj tego dla samego Anthropic lub bramek, które obsługują Anthropic Messages API.customParams.defaultParamsEndpoint: 'anthropic'utrzymuje niestandardowy endpoint na ścieżce zgodnej z OpenAI, jednocześnie stosując metadane parametrów w stylu Anthropic oraz adaptację żądań.
Podczas korzystania z defaultParamsEndpoint: 'anthropic', system zapewnia specjalną obsługę, która wykracza poza samo wyświetlanie i używanie zestawów parametrów Anthropic:
Zgodność z API Anthropic
Ustawienie defaultParamsEndpoint: 'anthropic' dostosowuje parametry, nagłówki i formatowanie ładunku (payload) dla żądań w formacie Anthropic w niestandardowej ścieżce endpoint:
- Parametry są wysyłane do Twojego niestandardowego endpoint dokładnie tak, jak oczekuje tego Anthropic API.
- Jest to niezbędne w przypadku usług proxy, takich jak LiteLLM, które przekazują parametry niezgodne ze specyfikacją OpenAI bezpośrednio do dostawcy bazowego.
- Parametry specyficzne dla Anthropic, takie jak
thinking, są poprawnie sformatowane - Ładunek
messagesjest sformatowany zgodnie z wymaganiami Anthropic (bloki myślowe i buforowanie promptów) - Odpowiednie nagłówki beta są dodawane automatycznie w oparciu o model, tak jak w przypadku bezpośredniego korzystania z Anthropic
Jest to głównie konieczne, aby poprawnie sformatować parametr thinking, który nie jest zgodny z OpenAI:
{
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}
}Dodatkowo system automatycznie dodaje nagłówki beta Anthropic specyficzne dla modelu, takie jak:
anthropic-beta: prompt-caching-2024-07-31dla obsługi buforowania promptów (prompt caching)anthropic-beta: context-1m-2025-08-07dla modeli z rozszerzonym kontekstem- Flagi funkcji specyficzne dla modelu w oparciu o używany model Claude
W przypadku natywnych endpointów zgodnych z Anthropic, preferuj provider: 'anthropic' w niestandardowym endpoincie. Kieruje to agentów, podsumowania, budżetowanie tokenów/kontekstu oraz domyślne parametry przez ścieżkę dostawcy Anthropic.
Odtwarzanie rozumowania
Niektóre bramki wnioskowania zgodne z OpenAI wymagają, aby reasoning_content dostawcy było odtwarzane w turach wywołań narzędzi asystenta. Użyj niestandardowych flag endpoint, aby włączyć tę opcję tylko dla dostawców, którzy wymagają takiego zachowania:
customParams:
reasoningFormat: reasoning_object
reasoningKey: reasoning_content
includeReasoningContent: trueUstaw includeReasoningHistory: true tylko wtedy, gdy dostawca wymaga również, aby LibreChat rekonstruował reasoning_content z utrwalonej historii konwersacji w kolejnych turach. Oznacza to includeReasoningContent.
Status implementacji
Obecnie ta automatyczna obsługa parametrów i nagłówków jest w pełni zaimplementowana dla niestandardowych endpointów w stylu Anthropic. Podobne zachowanie dla innych wartości defaultParamsEndpoint (np. google, bedrock) jest planowane w przyszłych aktualizacjach.
Jaka jest ta instrukcja?