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

Özel Endpoint Nesne Yapısı

custom dizisindeki her bir endpoint aşağıdaki yapıya sahip olmalıdır:

Örnek

endpoints:
  custom:
    # Example using Mistral AI API
    - name: 'Mistral'
      apiKey: '${YOUR_ENV_VAR_KEY}'
      baseURL: 'https://api.mistral.ai/v1'
      models:
        default: ['mistral-tiny', 'mistral-small', 'mistral-medium', 'mistral-large-latest']
      titleConvo: true
      titleTiming: 'immediate'
      titleModel: 'mistral-tiny'
      modelDisplayLabel: 'Mistral'
      # customParams:
      #   reasoningFormat: reasoning_object
      #   reasoningKey: reasoning_content
      # tokenConfig:
      #   mistral-large-latest:
      #     prompt: 2
      #     completion: 6
      #     context: 128000
      # addParams:
      #   safe_prompt: true # Mistral specific value for moderating messages
      # NOTE: For Mistral, it is necessary to drop the following parameters or you will encounter a 422 Error:
      dropParams: ['stop', 'user', 'frequency_penalty', 'presence_penalty']

    # Example using the native Anthropic Messages API
    - 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', 'claude-opus-4-5']
        fetch: false
      titleConvo: true
      titleModel: 'claude-sonnet-4-5'
      modelDisplayLabel: 'Claude (Compatible)'

name

Anahtar:

KeyTypeDescriptionExample
nameStringendpoint için benzersiz bir ad.Will be used as the "title" in the Endpoints Selector

Gerekli

Örnek:

name: 'Mistral'

apiKey

Anahtar:

KeyTypeDescriptionExample
apiKeyString (apiKey | "user_provided")Hizmet için API anahtarınız. Bir ortam değişkenine başvurabilir veya kullanıcının değeri sağlamasına izin verebilirsiniz.It's highly recommended to use the env. variable reference for this field, i.e. `${YOUR_VARIABLE}`

Gerekli

Örnek:

apiKey: '${MISTRAL_API_KEY}'

veya

apiKey: 'your_api_key'

veya

apiKey: 'user_provided'

baseURL

Anahtar:

KeyTypeDescriptionExample
baseURLString (baseURL | "user_provided")API için temel URL. Bir ortam değişkenine başvurabilir veya kullanıcının değeri sağlamasına izin verebilir.It's highly recommended to use the env. variable reference for this field, i.e. `${YOUR_VARIABLE}`

Gerekli

Örnek:

baseURL: 'https://api.mistral.ai/v1'

veya

baseURL: '${MISTRAL_BASE_URL}'

veya

baseURL: 'user_provided'

Notlar:

  • Eğer ayarladığınız baseURL tam completions endpoint'i ise, onu doğrudan kullanmak için directEndpoint alanını true olarak ayarlayabilirsiniz.
    • Bu gereklidir çünkü uygulama varsayılan olarak baseURL değerine "/chat/completions" veya "/completion" ekler.
  • provider: anthropic kullanırken, baseURL değerini Anthropic SDK'nın çağırması gereken API kök dizinine, örneğin https://api.anthropic.com veya ağ geçidi kök dizininize ayarlayın. LibreChat, bu sağlayıcı için yerel Anthropic /v1/messages yolunu kullanır.

provider

Anahtar:

KeyTypeDescriptionExample
providerStringÖzel bir endpoint'i, varsayılan OpenAI uyumlu istemci yerine yerel bir sağlayıcı istemcisi üzerinden yönlendirir.Currently supports `anthropic`.

Varsayılan: belirtilmediğinde, OpenAI uyumlu özel endpoint yolunu kullanır.

Desteklenen Değerler:

  • "anthropic" - Bu endpoint'in baseURL, apiKey, headers, addParams, dropParams ve customParams.paramDefinitions özelliklerini kullanarak yerel Anthropic /v1/messages istemcisini kullanır.

Örnek:

endpoints:
  custom:
    - 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'
          - 'claude-opus-4-5'
        fetch: false
      titleConvo: true
      titleModel: 'claude-sonnet-4-5'
      modelDisplayLabel: 'Claude (Compatible)'

Notlar:

  • Anthropic'in kendisi veya yerel Messages API'sini kullanan Anthropic uyumlu ağ geçitleri için provider: anthropic kullanın.
  • Modelleri models.default altında açıkça listeleyin; OpenAI tarzı models.fetch, yerel Anthropic özel endpoint'leri için kullanılmaz.
  • Sağlayıcı, siz açıkça farklı bir customParams.defaultParamsEndpoint ayarlamadığınız sürece Anthropic UI parametrelerini ifade eder.
  • provider içermeyen endpoint'ler, OpenAI ile uyumlu davranışı korur.

iconURL

Anahtar:

KeyTypeDescriptionExample
iconURLStringUç nokta simgesi olarak kullanılacak resim URL'si, genel varlık yolu veya yerleşik endpoint simge anahtarı.

Varsayılan: ""

Örnek:

iconURL: https://github.com/danny-avila/LibreChat/raw/main/docs/assets/LibreChat.svg

veya yerleşik bir endpoint simgesini yeniden kullanın:

iconURL: openAI

Notlar:

  • Özel bir endpoint name değerini, sadece bir simgeyi yeniden kullanmak amacıyla yerleşik bir endpoint adıyla ayarlamayın. Özel endpoint adları benzersiz olmalı ve aşağıdakiler gibi varsayılan endpoint değerlerini kullanmamalıdır:
    • "openAI" | "azureOpenAI" | "google" | "anthropic" | "assistants" | "azureAssistants" | "agents" | "bedrock"
  • Projeye dahil edilmiş bir endpoint simgesi kullanmak için, özel endpoint name değerini benzersiz tutun ve bunun yerine iconURL değerini yerleşik endpoint anahtarlarından birine ayarlayın.
    • "openAI" | "azureOpenAI" | "google" | "anthropic" | "assistants" | "azureAssistants" | "agents" | "bedrock"
  • Özel bir görsel kullanmak için iconURL değerini bir görsel URL'sine veya LibreChat tarafından sunulan bir yola, örneğin /assets/my-icon.svg şeklinde ayarlayın.
  • Ayrıca, simgeleri sağlanan "bilinen endpoint'ler" (büyük/küçük harfe duyarlı değildir) de mevcuttur. Eğer endpoint name değeriniz aşağıdaki isimlerle eşleşiyorsa, bu alanı belirtmemelisiniz:
    • Anyscale
    • APIpie
    • Cohere
    • Deepseek
    • Havai Fişekler
    • groq
    • Helicone
    • Huggingface
    • Mistral
    • MLX
    • Moonshot
    • ollama
    • OpenRouter
    • Perplexity
    • Qwen
    • ShuttleAI
    • together.ai
    • Birleştir
    • xai

models

Anahtar:

KeyTypeDescriptionExample
modelsObjectModeller için yapılandırma.

Gerekli

Özellikler:

default

Anahtar:

KeyTypeDescriptionExample
defaultArray of StringsKullanılacak varsayılan modelleri belirten bir dizi dizge.If fetching models fails, these defaults are used as a fallback.

Gerekli

Örnek:

default:
  - 'mistral-tiny'
  - 'mistral-small'
  - 'mistral-medium'

fetch

Anahtar:

KeyTypeDescriptionExample
fetchBoolean`true` olarak ayarlandığında, API'den bir model listesi getirmeye çalışır.May cause slowdowns during initial use of the app if the response is delayed. Defaults to `false`.

Varsayılan: false

Örnek:

fetch: true

userIdQuery

Anahtar:

KeyTypeDescriptionExample
userIdQueryBoolean`true` olarak ayarlandığında, LibreChat kullanıcı kimliğini API modelleri isteğine bir sorgu parametresi olarak ekler.

Varsayılan: false

Örnek:

userIdQuery: true

titleConvo

Anahtar:

KeyTypeDescriptionExample
titleConvoBoolean`true` olarak ayarlandığında konuşma başlığını etkinleştirir.

Varsayılan: false

Örnek:

titleConvo: true

titleTiming

Anahtar:

KeyTypeDescriptionExample
titleTimingStringSohbet başlıklarının ne zaman oluşturulacağını kontrol eder. Geçerli değerler: "immediate" veya "final".Defaults to "immediate".

Varsayılan: "immediate"

Kullanılabilir Değerler:

  • "immediate" - İsteğin başladığı anda, model yanıtıyla paralel olarak, kullanıcının ilk mesajını kullanarak başlığı oluşturur.
  • "final" - Başlık oluşturma işlemini tam yanıt tamamlanana kadar erteler. Bu, eski davranışı korur.

Örnek:

titleTiming: 'final'

titleMethod

Anahtar:

KeyTypeDescriptionExample
titleMethodStringSohbet başlıklarını oluşturmak için kullanılan yöntemi kontrol eder.Valid values: "completion" (default), "structured", "functions" (legacy alias for "structured")

Varsayılan: "completion"

Kullanılabilir Yöntemler:

  • "completion" - Araçlar/fonksiyonlar olmadan standart completion API'sini kullanır. Çoğu LLM ile uyumludur.
  • "structured" - Başlık oluşturma için yapılandırılmış çıktı kullanır. Sağlayıcı/model desteği gerektirir.
  • "functions" - "structured" için eski bir takma ad. İşlevsel olarak aynıdır.

Örnek:

titleMethod: 'completion'

titleModel

Anahtar:

KeyTypeDescriptionExample
titleModelStringBaşlıklar için kullanılacak modeli belirtir.Defaults to "gpt-3.5-turbo" if omitted. May cause issues if "gpt-3.5-turbo" is not available. You can also dynamically use the current conversation model by setting it to "current_model".

Varsayılan: "gpt-3.5-turbo"

Örnek:

titleModel: 'mistral-tiny'
titleModel: 'current_model'

titlePrompt

Anahtar:

KeyTypeDescriptionExample
titlePromptStringBaşlık oluşturma için özel istem. {convo} yer tutucusunu içermelidir.Allows full control over how titles are generated.

Varsayılan:

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}

Notlar:

  • Her zaman {convo} yer tutucusunu içermelidir
  • {convo} yer tutucusu, biçimlendirilmiş konuşma ile değiştirilecektir

Örnek:

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

titlePromptTemplate

Anahtar:

KeyTypeDescriptionExample
titlePromptTemplateStringtitlePrompt içindeki {convo} ifadesinin yerini alan konuşma içeriğini biçimlendirmek için kullanılan şablon.Must include {input} and {output} placeholders.

Varsayılan: "User: {input}\nAI: {output}"

Notlar:

  • Hem {input} hem de {output} yer tutucularını içermelidir
  • titlePrompt içine eklendiğinde konuşmanın nasıl biçimlendirileceğini kontrol eder

Örnek:

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

titleEndpoint

Anahtar:

KeyTypeDescriptionExample
titleEndpointStringBaşlık oluşturma için kullanılacak alternatif bir endpoint belirtir.Allows using a different model/endpoint for titles.

Varsayılan: Mevcut özel endpoint'i kullanır

Kabul Edilen Değerler:

  • openAI
  • azureOpenAI
  • google
  • anthropic
  • bedrock
  • Başka bir özel endpoint adı

Örnek:

# Use a different custom endpoint for titles
endpoints:
  custom:
    - name: 'my-chat-endpoint'
      apiKey: '${CHAT_API_KEY}'
      baseURL: 'https://api.example.com/v1/chat'
      models:
        default: ['gpt-4']
      titleEndpoint: 'my-title-endpoint'

    - name: 'my-title-endpoint'
      apiKey: '${TITLE_API_KEY}'
      baseURL: 'https://api.example.com/v1/title'
      models:
        default: ['gpt-3.5-turbo']

modelDisplayLabel

Anahtar:

KeyTypeDescriptionExample
modelDisplayLabelStringMevcut AI modeli için simgenin yanında mesajlarda görüntülenen etiket.The display order is: 1. Custom name set via preset (if available), 2. Label derived from the model name (if applicable), 3. This value is used if the above are not specified. Defaults to "AI".

Varsayılan: "AI"

Örnek:

modelDisplayLabel: 'Mistral'

addParams

Anahtar:

KeyTypeDescriptionExample
addParamsObject/Dictionaryİsteklere ek parametreler ekler. Değerler dizeler, sayılar, boole değerleri, diziler veya iç içe nesneler olabilir. `web_search: true` ve Google `url_context: true` gibi sağlayıcı aracı geçişlerini destekler.Adds/Overrides parameters. Useful for specifying API-specific options.

Örnek:

addParams:
  safe_prompt: true
  max_tokens: 2048

Notlar:

  • addParams alanı, varsayılan yükün (payload) bir parçası olmayan ek parametreleri dahil etmenize olanak tanır ("Varsayılan Parametreler" bölümüne bakın). Bu, özellikle API'ye özgü seçenekler için oldukça kullanışlıdır.

dropParams

Anahtar:

KeyTypeDescriptionExample
dropParamsArray/List of Stringsİsteklerden varsayılan parametreleri kaldırır.Excludes specified default parameters. Useful for APIs that do not accept or recognize certain parameters.

Örnek:

dropParams:
  - 'stop'
  - 'user'
  - 'frequency_penalty'
  - 'presence_penalty'

Not:

  • dropParams alanı, her istekle birlikte gönderilen "Varsayılan Parametreleri" kaldırmanıza olanak tanır. Bu, belirli parametreleri kabul etmeyen veya tanımayan API'lerle çalışırken yararlıdır.

customParams

Anahtar:

KeyTypeDescriptionExample
customParamsObject/DictionarySağlayıcı istek gövdesinin bir parçası olmayan özel endpoint davranışını ve ayar meta verilerini tanımlar.Used for endpoint-specific configuration such as reasoning parameter shape.

Alt anahtarlar:

KeyTypeDescriptionExample
defaultParamsEndpointStringİstek parametresi meta verileri için kullanılan endpoint varsayılanları. Varsayılan olarak `custom` değerini alır. `provider: anthropic` ayarlandığında ve bu alan belirtilmediğinde, LibreChat Anthropic parametre setini kullanır.defaultParamsEndpoint: custom
reasoningFormatStringOpenAI uyumlu özel endpoint'lere muhakeme parametrelerinin nasıl gönderileceğini kontrol eder. Geçerli değerler: `reasoning_effort`, `reasoning_object`, `disabled`.reasoningFormat: reasoning_object
reasoningKeyStringSağlayıcı muhakeme içeriği için hangi yanıt anahtarının okunacağını kontrol eder. Geçerli değerler: `reasoning` veya `reasoning_content`.reasoningKey: reasoning_content
includeReasoningContentBooleanBunu gerektiren OpenAI uyumlu özel endpoint'ler için araç çağrısı turları dahilindeki `reasoning_content` içeriğini yeniden oynatır.includeReasoningContent: true
includeReasoningHistoryBooleanDönüşler boyunca kalıcı hale getirilmiş konuşma geçmişinden `reasoning_content` öğesini yeniden oluşturur. `includeReasoningContent` anlamına gelir.includeReasoningHistory: true
paramDefinitionsArray/ListBu endpoint için özel ayar tanımları.See default parameter definitions.

Akıl Yürütme Formatları:

  • reasoning_effort - Eski reasoning_effort parametresini gönderir.
  • reasoning_object - Daha yeni OpenAI uyumlu yapıyı takip eden sağlayıcılar için { effort, summary } gibi bir reasoning nesnesi gönderir.
  • disabled - Bir kullanıcı veya Model Specs tarafından akıl yürütme (reasoning) seçildiğinde bile akıl yürütme parametrelerini bastırır.

Akıl yürütme tekrarı:

  • Araç çağırma turları sırasında asistanın reasoning_content içeriğinin tekrar oynatılmasını gerektiren OpenAI uyumlu sağlayıcılar için includeReasoningContent: true kullanın.
  • includeReasoningHistory: true ayarını yalnızca, bazı Xiaomi MiMo veya Kimi uyumlu ağ geçitleri gibi, sonraki turlarda kalıcı geçmişten yeniden oluşturulmuş reasoning_content gerektiren sağlayıcılar için kullanın.

Anthropic sağlayıcı notu:

Özel uç noktanın yerel Anthropic Messages API'sini kullanması gerektiğinde provider: anthropic kullanın. customParams.defaultParamsEndpoint: anthropic ifadesini, yalnızca OpenAI uyumlu özel uç nokta yoluna ihtiyaç duyduğunuz ancak Anthropic tarzı parametre meta verileri ve istek uyarlaması istediğiniz durumlarda, provider olmadan kullanın.

Örnek:

customParams:
  reasoningFormat: reasoning_object
  reasoningKey: reasoning_content
  includeReasoningContent: true

tokenConfig

Anahtar:

KeyTypeDescriptionExample
tokenConfigObject/DictionaryBu özel endpoint için modele özgü bağlam pencerelerini ve milyon token başına ücretleri tanımlar.Used by context usage, visible cost breakdowns, balance transactions, and multi-endpoint agent billing.

Her anahtar bir model adıdır. Her model girdisi şunları destekler:

KeyTypeDescriptionExample
promptNumberMilyon token başına istem/girdi token oranı.Required
completionNumberMilyon token başına tamamlanma/çıktı token oranı.Required
contextNumberModel için maksimum bağlam penceresi.Required
cacheReadNumberMilyon token başına önbelleğe alınmış girdi okuma oranı.Optional
cacheWriteNumberMilyon token başına önbelleğe alınmış girdi yazma oranı.Optional

Örnek:

tokenConfig:
  gpt-4o-mini:
    prompt: 0.15
    completion: 0.6
    context: 128000
    cacheRead: 0.075
    cacheWrite: 0.15

Notlar:

  • Oranlar, görüntüleme için herhangi bir interface.currency dönüştürmesi uygulanmadan önce, milyon token başına USD cinsinden ifade edilir.
  • Model adı, özel endpoint üzerinden gönderilen model değeriyle eşleşmelidir.
  • Birden fazla endpoint kullanan Ajanlar için, kullanım ve maliyet kaydedilirken eşleşen endpoint/model token yapılandırması kullanılır.

headers

Anahtar:

KeyTypeDescriptionExample
headersObject/Dictionaryİsteklere ek başlıklar ekler. Tüm başlık değerleri dizge (string) olmalıdır. `{{LIBRECHAT_USER_*}}` ile dinamik kullanıcı alanı değiştirmeyi, `{{LIBRECHAT_BODY_*}}` ile istek gövdesi yer tutucularını ve `${ENV_VAR}` ile ortam değişkenlerini destekler.The `headers` object specifies custom headers for requests. Useful for authentication and setting content types.

Örnek:

headers:
  x-api-key: '${ENVIRONMENT_VARIABLE}'
  Content-Type: 'application/json'
  X-User-ID: '{{LIBRECHAT_USER_ID}}'
  X-User-Email: '{{LIBRECHAT_USER_EMAIL}}'

Not: "${VARIABLE_NAME}" formatını kullanan dinamik ortam değişkeni değerlerini destekler.

models.fetch: true kullanıldığında, bu başlıklar da çözümlenir ve yönetici kontrollü temel URL'ler (base URL) için model listesi isteğine iletilir. Yapılandırılmış bir Authorization başlığı, uç nokta apiKey yedeğine göre önceliklidir; bu, kullanıcı bazlı model listeleri döndüren kimlik doğrulama duyarlı proxy'ler için kullanışlıdır. Eğer baseURL: "user_provided" yapılandırılmışsa, LibreChat yapılandırılmış başlık şablonlarını kullanıcı tarafından sağlanan hedefe iletmez. provider: anthropic için başlıklar, OpenAI uyumlu istemci yerine yerel Anthropic istemcisi aracılığıyla iletilir.

Kullanılabilir Kullanıcı Alanı Yer Tutucuları:

Yer TutucuKullanıcı AlanıTürAçıklama
{{LIBRECHAT_USER_ID}}idStringKullanıcının benzersiz tanımlayıcısı
{{LIBRECHAT_USER_NAME}}nameStringKullanıcının görünen adı
{{LIBRECHAT_USER_USERNAME}}usernameStringKullanıcının kullanıcı adı
{{LIBRECHAT_USER_EMAIL}}emailStringKullanıcının e-posta adresi
{{LIBRECHAT_USER_PROVIDER}}providerStringKimlik doğrulama sağlayıcısı (ör. "email", "google", "github")
{{LIBRECHAT_USER_ROLE}}roleStringKullanıcının rolü (ör. "user", "admin")
{{LIBRECHAT_USER_GOOGLEID}}googleIdStringGoogle hesap kimliği
{{LIBRECHAT_USER_FACEBOOKID}}facebookIdStringFacebook hesap kimliği
{{LIBRECHAT_USER_OPENIDID}}openidIdStringOpenID hesap kimliği
{{LIBRECHAT_USER_SAMLID}}samlIdStringSAML hesap kimliği
{{LIBRECHAT_USER_LDAPID}}ldapIdStringLDAP hesap kimliği
{{LIBRECHAT_USER_GITHUBID}}githubIdStringGitHub hesap kimliği
{{LIBRECHAT_USER_DISCORDID}}discordIdStringDiscord hesap kimliği
{{LIBRECHAT_USER_APPLEID}}appleIdStringApple hesap kimliği
{{LIBRECHAT_USER_EMAILVERIFIED}}emailVerifiedBoolean → StringE-posta doğrulama durumu ("true" veya "false")
{{LIBRECHAT_USER_TWOFACTORENABLED}}twoFactorEnabledBoolean → String2FA durumu ("true" veya "false")
{{LIBRECHAT_USER_TERMSACCEPTED}}termsAcceptedBoolean → StringŞartların kabul edilme durumu ("true" veya "false")

Kullanılabilir İstek Gövdesi Yer Tutucuları:

Yer TutucuGövde AlanıTürAçıklama
{{LIBRECHAT_BODY_CONVERSATIONID}}conversationIdStringMevcut konuşma tanımlayıcısı
{{LIBRECHAT_BODY_PARENTMESSAGEID}}parentMessageIdStringÜst mesaj tanımlayıcısı
{{LIBRECHAT_BODY_MESSAGEID}}messageIdStringMevcut mesaj tanımlayıcısı

İstek gövdesi yer tutucularını kullanan örnek:

headers:
  X-Conversation-ID: '{{LIBRECHAT_BODY_CONVERSATIONID}}'
  X-Parent-Message-ID: '{{LIBRECHAT_BODY_PARENTMESSAGEID}}'
  X-Message-ID: '{{LIBRECHAT_BODY_MESSAGEID}}'

directEndpoint

Anahtar:

KeyTypeDescriptionExample
directEndpointBoolean`true` olarak ayarlandığında, yapılandırılmış `baseURL` değerini kullanılacak completions endpoint'i olarak kabul eder

Varsayılan: false

Örnek:

directEndpoint: true

titleMessageRole

  • Seçenekler: "system" | "user" | "assistant"

Anahtar:

KeyTypeDescriptionExample
titleMessageRoleStringBaşlık oluşturma için mesaj yükünde kullanılacak rol değerini belirtir. Şunlardan biri olmalıdır: `"system"`, `"user"`, `"assistant"`.Defaults to "system" if omitted. May cause issues if "system" is not a valid value, which is sometimes the case for single message payloads, as it is for title generation.

Varsayılan: "system"

Örnek:

titleMessageRole: 'user'

Bu rehber nasıl?