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

Współdzielone ustawienia endpoint

Ta strona opisuje wspólne ustawienia konfiguracji dla wszystkich endpoint. Ustawienia wyróżnione tutaj są dostępne dla wszystkich konfiguracji w polu "Endpoints", chyba że zaznaczono inaczej.

Przykładowa konfiguracja

endpoints:
  # Individual endpoint configurations
  openAI:
    streamRate: 25
    titleModel: 'gpt-4o-mini'
    titleMethod: 'completion'
    titleTiming: 'immediate'
    titlePrompt: "Create a concise title for this conversation:\n\n{convo}"
    headers:
      X-Gateway-Metadata: '{"user_email":"{{LIBRECHAT_USER_EMAIL}}"}'

  azureOpenAI:
    streamRate: 35
    titleModel: 'grok-3'
    titleMethod: 'structured'
    titlePrompt: |
      Analyze this conversation and provide:
      1. A concise title in the detected language (5 words or less, no punctuation or quotation)
      2. Always provide a relevant emoji at the start of the title

      {convo}
    titleConvo: true

  anthropic:
    streamRate: 25
    titleModel: 'claude-3-5-haiku-20241022'
    titleMethod: 'completion'
    headers:
      X-Conversation-Id: '{{LIBRECHAT_BODY_CONVERSATIONID}}'

  bedrock:
    streamRate: 25
    titleModel: 'us.amazon.nova-lite-v1:0'
    titleEndpoint: 'anthropic'

  google:
    streamRate: 1
    titleModel: 'gemini-2.0-flash-lite'
    titlePromptTemplate: "Human: {input}\nAssistant: {output}"
    headers:
      X-Gateway-Metadata: '{"user_id":"{{LIBRECHAT_USER_ID}}"}'

  assistants:
    streamRate: 30

  azureAssistants:
    streamRate: 30

  # Global configuration using 'all' - this applies shared settings across endpoints.
  # Most defined values override endpoint defaults; headers are merged and endpoint values win on collisions.
  all:
    headers:
      X-App: 'librechat'
    titleConvo: true
    titleModel: 'gpt-4.1-nano'
    titleTiming: 'immediate'
    titlePrompt: |
      Analyze this conversation and provide:
      1. The detected language of the conversation
      2. A concise title in the detected language (5 words or less, no punctuation or quotation)
      3. Always provide a relevant emoji at the start of the title
      {convo}

Ważne: Podczas korzystania z konfiguracji all, większość zdefiniowanych współdzielonych właściwości ma zastosowanie do wszystkich endpoint. W powyższym przykładzie konfiguracja all zastosowałaby titleConvo, titleModel oraz titlePrompt do wszystkich endpoint, podczas gdy indywidualne ustawienia streamRate zostałyby zachowane, ponieważ nie są zdefiniowane w all. headers są scalane oddzielnie: wartości z endpoints.all.headers mają zastosowanie globalne, a nagłówki na poziomie endpoint mają pierwszeństwo w przypadku kolizji kluczy.

streamRate

Klucz:

KeyTypeDescriptionExample
streamRateNumberSzybkość, z jaką dane są przesyłane strumieniowo z endpoint. Przydatne do kontrolowania tempa przesyłania danych.streamRate: 25

Domyślnie: 1

Umożliwia przesyłanie strumieniowe danych z największą możliwą szybkością, pozwalając jednocześnie systemowi na oczekiwanie na następny cykl (tick)

titleConvo

Klucz:

KeyTypeDescriptionExample
titleConvoBooleanWłącza automatyczne generowanie tytułów konwersacji dla tego endpoint.titleConvo: true

Domyślnie: false

Uwagi:

  • Po włączeniu, tytuły będą generowane automatycznie przy użyciu skonfigurowanych ustawień tytułów.
  • Musi być używane w połączeniu z titleModel lub endpoint musi mieć dostępny domyślny model

Przykład:

titleConvo: true

titleTiming

Klucz:

KeyTypeDescriptionExample
titleTimingStringOkreśla, kiedy generowane są tytuły konwersacji. Prawidłowe wartości: "immediate" lub "final".titleTiming: "immediate"

Domyślnie: "immediate"

Dostępne wartości:

  • "immediate" - Generuje tytuł natychmiast po rozpoczęciu żądania, równolegle z odpowiedzią modelu, używając pierwszej wiadomości użytkownika. Tytuły zazwyczaj pojawiają się w ciągu sekundy lub dwóch.
  • "final" - Odracza generowanie tytułu do momentu zakończenia pełnej odpowiedzi. Zachowuje to starsze zachowanie (legacy behavior).

Przykład:

endpoints:
  all:
    titleTiming: 'immediate'

titleModel

Klucz:

KeyTypeDescriptionExample
titleModelStringOkreśla model używany do tytułów.Defaults to system default for the current endpoint if omitted. May cause issues if the system default model is not available. You can also dynamically use the current conversation model by setting it to "current_model".

Domyślne: Domyślne ustawienie systemowe dla bieżącego endpoint

titleMethod

Klucz:

KeyTypeDescriptionExample
titleMethodStringOkreśla metodę używaną do generowania tytułów konwersacji.Valid values: "completion" (default), "structured", "functions" (legacy alias for "structured")

Domyślnie: "completion"

Dostępne metody:

  • "completion" - Używa standardowego API completion bez narzędzi/funkcji. Kompatybilne z większością LLM.
  • "structured" - Używa ustrukturyzowanego wyjścia do generowania tytułów. Wymaga wsparcia ze strony dostawcy/modelu.
  • "functions" - Starszy alias dla "structured". Funkcjonalnie identyczny.

Przykład:

titleMethod: 'completion'

titlePrompt

Klucz:

KeyTypeDescriptionExample
titlePromptStringNiestandardowy prompt do generowania tytułu. Musi zawierać symbol zastępczy {convo}.Allows full control over how titles are generated.

Domyślne:

Analyze this conversation and provide:
1. The detected language of the conversation
2. A concise title in the detected language (5 words or less, no punctuation or quotation)

{convo}

Uwagi:

  • Musi zawsze zawierać symbol zastępczy {convo}
  • Symbol zastępczy {convo} zostanie zastąpiony sformatowaną konwersacją
  • Może być umieszczone w dowolnym miejscu w prompcie

Przykład:

titlePrompt: "Create a brief, descriptive title for the following conversation:\n\n{convo}\n\nTitle:"

titlePromptTemplate

Klucz:

KeyTypeDescriptionExample
titlePromptTemplateStringSzablon formatowania zawartości konwersacji, który zastępuje {convo} w titlePrompt.Must include {input} and {output} placeholders.

Domyślnie: "User: {input}\nAI: {output}"

Uwagi:

  • Musi zawierać oba symbole zastępcze {input} oraz {output}
  • {input} jest zastępowane początkową wiadomością użytkownika
  • {output} jest zastępowane odpowiedzią AI
  • Sformatowany wynik zastępuje {convo} w titlePrompt

Przykład:

titlePromptTemplate: "Human: {input}\n\nAssistant: {output}"

titleEndpoint

Klucz:

KeyTypeDescriptionExample
titleEndpointStringOkreśla alternatywny endpoint używany do generowania tytułów.Allows using a different, potentially cheaper model/endpoint for titles.

Domyślnie: Używa endpointu bieżącej konwersacji

Akceptowane wartości:

Przykład:

# Use Anthropic for titles even when chatting with OpenAI
endpoints:
  openAI:
    titleEndpoint: 'anthropic'
    # Will use anthropic's configuration for title generation

maxToolResultChars

Klucz:

KeyTypeDescriptionExample
maxToolResultCharsNumberOgranicza maksymalną liczbę znaków w wynikach wywołań narzędzi wysyłanych do modelu. Musi być liczbą dodatnią.maxToolResultChars: 50000

Domyślnie: Brak limitu

Uwagi:

  • Pomaga zapobiegać zużywaniu zbyt dużej liczby tokenów przez nadmiernie obszerne wyniki narzędzi
  • Dotyczy wszystkich wyników wywołań narzędzi dla tego endpoint

Przykład:

endpoints:
  all:
    maxToolResultChars: 50000

headers

Klucz:

KeyTypeDescriptionExample
headersObject/DictionaryNiestandardowe nagłówki żądań przekazywane do obsługiwanych wbudowanych endpointów dostawców.Useful for AI gateways and reverse proxies that consume metadata headers while LibreChat keeps provider-native request formatting.

Obsługiwane endpointy: openAI, anthropic, google oraz all.

Przykład:

endpoints:
  all:
    headers:
      X-App: 'librechat'
  anthropic:
    headers:
      X-Conversation-Id: '{{LIBRECHAT_BODY_CONVERSATIONID}}'

Uwagi:

  • Wartości obsługują ${ENV_VAR}, {{LIBRECHAT_USER_*}} oraz symbole zastępcze treści żądania, takie jak {{LIBRECHAT_BODY_CONVERSATIONID}}.
  • Nagłówki na poziomie endpointu nadpisują endpoints.all.headers w przypadku kolizji kluczy.
  • Uwierzytelnianie zarządzane przez dostawcę oraz wymagane nagłówki beta/protokołu pozostają nadrzędne. Wartości beta Anthropic są scalane, dzięki czemu niestandardowe flagi beta nie nadpisują wymaganych flag dostawcy.
  • Nagłówki są również przekazywane w przypadku żądań listy modeli dla wspieranych dostawców.
  • Używaj nagłówków metadanych za bramą (gateway) lub odwrotnym serwerem proxy, który je przetwarza. Natywne API dostawców zazwyczaj ignorują nieznane nagłówki.

Uwagi:

  • Wszystkie ustawienia przedstawione na tej stronie można skonfigurować indywidualnie dla każdego endpoint lub globalnie przy użyciu klucza all
  • W przypadku korzystania z konfiguracji all, zastąpi ona odpowiednie ustawienia we WSZYSTKICH poszczególnych endpoint.
  • Klucz all nie akceptuje baseURL
  • Ustawienia niezdefiniowane w all zachowają swoje indywidualne wartości dla każdego endpoint.
  • Dla streamRate: Zalecane wartości mieszczą się w przedziale 25-40, aby zapewnić płynne przesyłanie strumieniowe.
  • Użycie wyższej szybkości strumieniowania jest koniecznością podczas udostępniania aplikacji wielu użytkownikom na dużą skalę

Przykład zachowania nadpisywania:

endpoints:
  openAI:
    streamRate: 25 # This will be preserved
    titleModel: 'gpt-4' # This will be overridden
    titleConvo: false # This will be overridden

  all:
    titleConvo: true
    titleModel: 'gpt-3.5-turbo'
    # streamRate not defined here, so individual values are kept

Ustawienia endpoint

Jaka jest ta instrukcja?