Niestandardowe endpointy
Dodawaj niestandardowych dostawców AI, takich jak OpenRouter, Ollama i bramki kompatybilne z Anthropic, do LibreChat za pomocą librechat.yaml
LibreChat obsługuje usługi kompatybilne z API OpenAI jako niestandardowe endpointy. Obsługuje również niestandardowe endpointy kompatybilne z Anthropic przy użyciu provider: "anthropic". Endpointy konfiguruje się w librechat.yaml, klucze API przechowuje w .env, a konfigurację montuje poprzez docker-compose.override.yml w przypadku wdrożeń Docker.
Który plik za co odpowiada?
Konfiguracja niestandardowego endpoint obejmuje trzy pliki, z których każdy pełni określoną rolę:
librechat.yaml-- Definiuje twoje niestandardowe endpointy (nazwę, adres URL API, modele, ustawienia wyświetlania).env-- Przechowuje poufne wartości, takie jak klucze API (do których odwołuje się plik librechat.yaml przy użyciu składni${VAR_NAME})docker-compose.override.yml-- Montujelibrechat.yamlwewnątrz kontenera Docker (tylko dla użytkowników Docker)
Aby uzyskać pełny przegląd tego, jak te pliki ze sobą współpracują, zobacz Configuration Overview.
Zanim zaczniesz
Ten przewodnik zakłada, że masz zainstalowany i uruchomiony LibreChat. Jeśli nie, najpierw ukończ konfigurację Docker.
Krok 1. Zamontuj librechat.yaml (tylko Docker)
Użytkownicy Docker muszą zamontować librechat.yaml jako wolumen, aby kontener mógł go odczytać. Pomiń ten krok, jeśli uruchamiasz LibreChat lokalnie bez Docker.
cp docker-compose.override.yml.example docker-compose.override.ymlEdytuj docker-compose.override.yml i upewnij się, że montowanie wolumenu jest odkomentowane:
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yamlDowiedz się więcej: Przewodnik nadpisywania Docker
Krok 2. Skonfiguruj librechat.yaml
Utwórz plik librechat.yaml w katalogu głównym projektu (jeśli jeszcze nie istnieje) i dodaj swoją konfigurację endpoint. Szczegółowe instrukcje konfiguracji znajdziesz w przewodniku po librechat.yaml.
Oto przykład z OpenRouter, Ollama oraz bramką kompatybilną z Anthropic:
version: 1.3.13
cache: true
endpoints:
custom:
- name: 'OpenRouter'
apiKey: '${OPENROUTER_KEY}'
baseURL: 'https://openrouter.ai/api/v1'
models:
default: ['meta-llama/llama-3-70b-instruct']
fetch: true
titleConvo: true
titleModel: 'meta-llama/llama-3-70b-instruct'
dropParams: ['stop']
modelDisplayLabel: 'OpenRouter'
- name: 'Ollama'
apiKey: 'ollama'
baseURL: 'http://host.docker.internal:11434/v1/'
models:
default: ['llama3:latest', 'command-r', 'mixtral', 'phi3']
fetch: true
titleConvo: true
titleModel: 'current_model'
- name: 'Claude-Compatible'
provider: 'anthropic'
apiKey: '${ANTHROPIC_API_KEY}'
baseURL: 'https://api.anthropic.com'
headers:
anthropic-version: '2023-06-01'
models:
default: ['claude-sonnet-4-5']
fetch: false
titleConvo: true
titleModel: 'claude-sonnet-4-5'Przeglądaj wszystkich kompatybilnych dostawców w sekcji AI Endpoints. Pełną dokumentację pól znajdziesz w Custom Endpoint Object Structure.
Punkty końcowe zgodne z Anthropic
Używaj provider: "anthropic" tylko dla endpointów, które obsługują natywne API Anthropic Messages. W przypadku bramek kompatybilnych z OpenAI, które jedynie udostępniają modele Anthropic, pomiń provider i użyj standardowego formatu niestandardowego endpointu kompatybilnego z OpenAI.
Konfiguracja klucza API
Podczas konfigurowania kluczy API w niestandardowych endpointach masz trzy opcje:
- Zmienna środowiskowa (zalecane):
apiKey: "${OPENROUTER_KEY}"-- odczytuje z.env - User provided:
apiKey: "user_provided"-- użytkownicy wprowadzają własny klucz w interfejsie użytkownika - Wartość bezpośrednia (niezalecane):
apiKey: "sk-your-actual-key"-- przechowywane jako zwykły tekst
Krok 3. Ustaw zmienne środowiskowe
Dodaj klucze API, do których odwołuje się plik librechat.yaml, do pliku .env:
OPENROUTER_KEY=your_openrouter_api_keyKażde ${VARIABLE_NAME} w pliku librechat.yaml musi mieć odpowiadający mu wpis w pliku .env.
Krok 4. Restart i weryfikacja
Po edycji plików konfiguracyjnych należy zrestartować LibreChat, aby zmiany weszły w życie.
docker compose down && docker compose up -dZatrzymaj uruchomiony proces (Ctrl+C) i uruchom ponownie:
npm run backendOtwórz LibreChat w swojej przeglądarce. Twoje niestandardowe endpoint powinny pojawić się na liście rozwijanej wyboru endpoint.
Nie widzisz swojego endpoint?
Sprawdź logi serwera pod kątem błędów konfiguracji:
docker compose logs apiTypowe problemy: błędy składni YAML, brakujące zmienne środowiskowe lub librechat.yaml niezamontowany w Docker. Sprawdź poprawność swojego pliku YAML za pomocą YAML Validator.
OpenRouter nadal się nie pojawia
W przypadku OpenRouter w szczególności, zweryfikuj łańcuch trzech plików:
.envzawieraOPENROUTER_KEY=...librechat.yamlposiadaapiKey: "${OPENROUTER_KEY}"w sekcji niestandardowego endpointu OpenRouter- Użytkownicy Docker zamontowali
librechat.yamlwdocker-compose.override.yml
Następnie uruchom ponownie za pomocą:
docker compose down && docker compose up -dJeśli endpoint się pojawia, ale zwraca 402 Payment Required, oznacza to, że żądanie dotarło do OpenRouter pomyślnie, a problem zazwyczaj dotyczy środków na koncie, płatności lub dostępności modelu w OpenRouter.
Następne kroki
Jaka jest ta instrukcja?