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

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ę:

  1. librechat.yaml -- Definiuje twoje niestandardowe endpointy (nazwę, adres URL API, modele, ustawienia wyświetlania)
  2. .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})
  3. docker-compose.override.yml -- Montuje librechat.yaml wewną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.yml

Edytuj docker-compose.override.yml i upewnij się, że montowanie wolumenu jest odkomentowane:

services:
  api:
    volumes:
      - type: bind
        source: ./librechat.yaml
        target: /app/librechat.yaml

Dowiedz 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:

  1. Zmienna środowiskowa (zalecane): apiKey: "${OPENROUTER_KEY}" -- odczytuje z .env
  2. User provided: apiKey: "user_provided" -- użytkownicy wprowadzają własny klucz w interfejsie użytkownika
  3. 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_key

Każ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 -d

Zatrzymaj uruchomiony proces (Ctrl+C) i uruchom ponownie:

npm run backend

Otwó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 api

Typowe 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:

  1. .env zawiera OPENROUTER_KEY=...
  2. librechat.yaml posiada apiKey: "${OPENROUTER_KEY}" w sekcji niestandardowego endpointu OpenRouter
  3. Użytkownicy Docker zamontowali librechat.yaml w docker-compose.override.yml

Następnie uruchom ponownie za pomocą:

docker compose down && docker compose up -d

Jeś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?