APIsRouter'yi bir LibreChat özel endpoint'i olarak ekleyin.

Updated 2026-07-29

LibreChat, özel OpenAI uyumlu endpoint'leri birinci sınıf bir özellik olarak ele alır: librechat.yaml'da bir baseURL, bir apiKey ve true olarak ayarlanmış models.fetch içeren tek bir endpoints.custom bloğuyla tüm katalog, tek bir anahtar altında model seçicide görünür.

Hızlı yanıt: librechat.yaml'da tek bir blok.

LibreChat'in özel endpoint'leri, librechat.yaml'da endpoints.custom altında yapılandırılır; her girdinin bir sağlayıcı olduğu bir dizi. Önemli üç alan: name (endpoint seçicisindeki etiket), apiKey (bu, ${VARIABLE} biçiminde ortam değişkenlerini enterpole eder, bu yüzden anahtar .env'de yaşar ve asla YAML'de değil) ve baseURL. APIsRouter için baseURL, /v1 dahil, https://api.apisrouter.com/v1'dir, çünkü LibreChat, verdiğiniz base'e /chat/completions gibi rota yolları ekler. models bloğu, model açılır menüsünde ne göründüğüne karar verir. models.fetch'i true'ya ayarlayın ve LibreChat, yükleme sırasında endpoint'in /v1/models listesini sorgular, bu yüzden elle yazılmış bir liste sürdürmeden her katalog id'si seçilebilir hale gelir. models.default hâlâ bir dizi olarak gereklidir ve bir fetch'ten önce veya yerine gösterilen geri dönüş olarak hizmet eder. Bu, bir yama değil, upstream belgelenmiş bir yapılandırmadır: LibreChat belgelerindeki özel endpoint nesne yapısı, burada kullanılan her anahtarı tanımlar.

version: 1.2.1
endpoints:
  custom:
    - name: "APIsRouter"
      apiKey: "${APISROUTER_API_KEY}"
      baseURL: "https://api.apisrouter.com/v1"
      models:
        default: ["claude-sonnet-4-6"]
        fetch: true

LibreChat özel endpoint'leri nasıl yönlendirir.

LibreChat (GitHub'da danny-avila, kabaca 41K yıldız), en yaygın dağıtılan kendi-barındırılan ChatGPT tarzı arayüzdür: konuşma arama, agent'lar, dosya işleme ve kullanıcı başına anahtarlarla çok-kullanıcılı, çok-modelli. Bir sağlayıcı listesini sabit kodlayan istemcilerin aksine, endpoints.custom dizisi herhangi bir OpenAI uyumlu hizmeti kabul eder ve belgelerdeki birkaç iyi bilinen sağlayıcı tam olarak bu mekanizma üzerinden yapılandırılır. Bir kullanıcı özel bir endpoint'ten bir model seçtiğinde, LibreChat o endpoint'in baseURL'sine model alanı düz bir string olarak standart bir /v1/chat/completions isteği gönderir. İstemcideki hiçbir şey modeli hangi satıcının eğittiğini umursamaz; dize olduğu gibi iletilir. baseURL'nin arkasındaki endpoint birkaç satıcıyı sunduğunda, tek bir librechat.yaml girdisi, Claude, GPT, Gemini, DeepSeek ve GLM id'lerini aynı açılır menüye koyar ve bir kullanıcı satıcıları, iki GPT varyantı arasında geçiş yapar gibi konuşma ortasında değiştirir. Bu, olağan çoklu-sağlayıcı LibreChat kurulumunu çöker. Her biri .env'de kendi anahtarına ve kendi faturalandırma yüzeyine sahip satıcı başına bir özel girdi yerine, tek bir anahtarlı tek bir girdi katalogu kapsar ve yönetici, birkaç paneli mutabakat yapmak yerine model başına kullanımı tek bir yerde görür.

Tam kurulum: YAML, .env ve Docker bağlama.

Proje kökünde librechat.yaml oluşturun ve anahtarı .env'ye koyun. YAML'deki ${APISROUTER_API_KEY} referansı başlangıçta ortamdan çözülür, bu yüzden yapılandırma dosyası commit edilebilir kalır. İlk kez kuranların çoğunun kaçırdığı adım, Docker'a özgüdür: container, librechat.yaml'ınızı onu bağlayana kadar görmez. Belgeler, ./librechat.yaml'dan /app/librechat.yaml'a bir bind mount ile docker-compose.override.yml oluşturmanızı ve ardından container'ları yeniden oluşturmanızı ister. YAML'yi sonradan düzenlemek de bir yeniden başlatma gerektirir, çünkü dosya izlenmez, başlangıçta okunur. Bir gateway girdisinde ayarlanmaya değer birkaç isteğe bağlı alan var. titleConvo, otomatik konuşma başlıklarını etkinleştirir ve titleModel, onları yazan modeli seçer; LibreChat'in titleModel için belgelenmiş varsayılanı gpt-3.5-turbo'dur, bu OpenAI-olmayan bir endpoint'in sunmayabileceği bir id'dir, bu yüzden onu açıkça hızlı bir katalog id'sine veya özel current_model değerine ayarlayın. modelDisplayLabel, asistan mesajlarında gösterilen adı kontrol eder. Ve apiKey, her kullanıcının sunucunun anahtarını paylaşmak yerine kendi anahtarını yapıştırmasını istiyorsanız özel user_provided değerini kabul eder.

version: 1.2.1
endpoints:
  custom:
    - name: "APIsRouter"
      apiKey: "${APISROUTER_API_KEY}"
      baseURL: "https://api.apisrouter.com/v1"
      models:
        default: ["claude-sonnet-4-6", "gpt-5.5", "deepseek-v4-pro"]
        fetch: true
      titleConvo: true
      titleModel: "claude-haiku-4-5-20251001"
      modelDisplayLabel: "APIsRouter"

Paylaşılan bir sohbet çalışma alanı için model seçmek.

Her model aynı anahtar üzerinden faturalandığından, bir yönetici için pratik döngü, bir haftalık kullanımı konsolda izlemek, kullanıcıların gerçekte hangi modelleri seçtiğini görmek ve models.default'u buna göre budamaktır; ileri düzey kullanıcıların yine de tam listeye ulaşabilmesi için fetch'i açık tutarak.

  • Günlük sürücü sohbet, güçlü bir genel amaçlı model ister. claude-sonnet-4-6 ve gpt-5.5, mesaj başına model kaygısı olmadan uzun konuşmaları, dosya tartışmalarını ve agent çalışmalarını taşır.
  • Yüksek sıklıklı kısa sorular hacim işidir. claude-haiku-4-5-20251001 ve gemini-3.5-flash hızlı yanıt verir ve çok-kullanıcılı bir dağıtımın harcamayı önemsiz turlarda yoğunlaştırmasını önler.
  • Başlık üretimi her konuşmada ateşlenir. titleModel'i hızlı bir id'ye yönlendirin; altı kelimelik başlıklar yazmak için sınır oranları ödemek, bir LibreChat dağıtımındaki en yaygın sessiz israftır.
  • Çok dilli ekipler deepseek-v4-pro ve glm-5.2'yi gerçek dil karışımlarında test etmelidir; çoklu-satıcı bir açılır menü bunu yeniden yapılandırma yerine uygulama içi bir karşılaştırma yapar.
  • models.fetch, yeni katalog modellerinin YAML'ye dokunmadan görünmesi anlamına gelir, bu yüzden upstream'e eklenen bir model, liste bir sonraki yenilendiğinde seçilebilir.

Kullandıkça öde · resmi fiyatların altında

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModelResmi FiyatBizim Fiyatımız
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M

LibreChat'e özgü hata modları.

Yapılandırmanın sessizce yüklenmemesi klasiktir ve neredeyse her zaman Docker bağlamasıdır. docker-compose.override.yml bind mount olmadan, container hiçbir librechat.yaml olmadan çalışır, özel endpoint seçicide hiç görünmez ve hiçbir şey hata vermez. Başka bir şeyi hata ayıklamadan önce dosyanın container içinde var olduğunu doğrulayın. Literal olarak ${APISROUTER_API_KEY} şeklinde gelen bir apiKey, değişkenin sunucunun başlatıldığı ortamda mevcut olmadığı anlamına gelir; enterpolasyon başlangıçta .env'den gerçekleşir, bu yüzden sonradan eklenen bir anahtar bir container yeniden başlatması gerektirir. Belirti, saçma bir bearer token'la gateway'den gelen bir 401'dir. /v1 olmayan bir baseURL, her istekte 404 üretir, çünkü LibreChat verildiği gibi base'e /chat/completions ekler. Ters hata, tam bir completions URL'sini baseURL olarak yapıştırmak, ayrı directEndpoint seçeneğine aittir ve normal bir girdiyle birleştirilmemelidir. fetch kapalıyken boş bir model açılır menüsü, models.default'un eksik veya boş olduğu anlamına gelir; o gerekli bir dizidir. fetch açıkken, boş bir açılır menü genellikle fetch'in kendisinin başarısız olduğu anlamına gelir; bu da anahtara veya baseURL'ye geri döner. Ve aksi halde çalışan bir endpoint'te başarısız konuşma başlıkları, gateway'in sunmadığı bir id'ye işaret eden titleModel varsayılanıdır; onu açıkça ayarlayın.

LibreChat'i bir gateway üzerinden kim yönlendirir.

  • Satıcı başına bir endpoints.custom girdisi ve bir satıcı hesabı sürdürmeden Claude, GPT, Gemini ve DeepSeek'i tek bir açılır menüde isteyen, paylaşılan bir sohbet çalışma alanını kendi barındıran ekipler.
  • Tek bir kullanım yüzeyine ihtiyaç duyan çok-kullanıcılı dağıtımları çalıştıran yöneticiler. Anahtar başına günlükler, satıcı panellerini birleştirmeden ekibin gerçekte hangi modelleri kullandığını, fiyatlandırılmış olarak gösterir.
  • Departmanlara kendi anahtarlarını veren operatörler: aynı YAML, grup başına tek bir anahtar ve kullanım günlüğü ekip başına maliyet raporu haline gelir.
  • Birkaç sohbet aboneliğini tek bir ölçülü endpoint ile değiştiren, koltuklar yerine kullanılan token'lar için ödeme yapan haneler ve küçük ekipler.
  • Belirli bir satıcının faturalandırmasına erişimi olmayan geliştiriciler. Kart gerektirmeyen yükleme tabanlı erişim, sağlayıcı başına kayıt bağımlılığını ortadan kaldırır.

Endpoint'i doğrulayın ve ilk mesajı hata ayıklayın.

LibreChat'e dokunmadan önce gateway yarısını kanıtlayın: modelleri anahtarınızla listeleyin ve models.default'a koyduğunuz id'lerin göründüğünü doğrulayın. Bu çalışırsa, kalan her belirti telin LibreChat tarafındadır. Ardından yığını başlatın ve endpoint seçicisini açın. APIsRouter girdisinin hiç görünmesi, YAML'nin yüklendiğini kanıtlar; model listesinin doldurulması fetch'i ve anahtarı kanıtlar; ilk yanıt sohbet yolunu kanıtlar. Bunları hepsini bir kerede değil sırayla çözün, çünkü her birinin sırasıyla bağlama, ortam değişkeni ve baseURL olmak üzere farklı bir başarısızlık seti vardır. Mesajlar akmaya başladığında, APIsRouter konsolu istek başına modeli, token sayılarını ve harcamayı gösterir. Paylaşılan bir LibreChat örneği, tam olarak kullanımın sessizce iki veya üç modelde yoğunlaştığı türde bir dağıtımdır ve kullanım günlüğü, faturadan önce hangilerini bulduğunuz yerdir.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

Sık sorulan sorular

LibreChat'te özel bir OpenAI uyumlu endpoint'i nerede yapılandırırım?

librechat.yaml'da endpoints.custom altında, name, apiKey, baseURL ve bir models bloğu içeren bir sağlayıcı girdileri dizisinde. Docker kurulumlarında dosya, docker-compose.override.yml üzerinden container'a bind-mount edilmelidir yoksa sessizce yok sayılır.

baseURL /v1 içermeli mi?

APIsRouter için evet: https://api.apisrouter.com/v1. LibreChat, verildiği gibi base'e /chat/completions gibi rota yolları ekler, bu yüzden eksik bir /v1, her istekte 404 üretir.

Tek bir LibreChat endpoint'i Claude, GPT ve DeepSeek modellerini birlikte sunabilir mi?

Evet. LibreChat, seçilen model id'sini endpoint'in baseURL'sine düz bir string olarak iletir. Endpoint birden fazla satıcıyı sunduğunda, tek bir endpoints.custom girdisi, hepsinin id'lerini aynı açılır menüye koyar ve models.fetch o listeyi otomatik olarak güncel tutar.

Özel endpoint'im neden seçicide eksik?

YAML yüklenmedi. Docker'da olağan neden, librechat.yaml için eksik bir bind mount'tur; container dosya olmadan çalışır ve hiçbir şey hata vermez. Dosyanın container içinde var olduğunu doğrulayın, ardından yeniden başlatın, çünkü yapılandırma başlangıçta okunur.

Sohbet çalışırken konuşma başlıkları neden başarısız oluyor?

titleConvo, belgelenmiş varsayılanı gpt-3.5-turbo olan titleModel'i kullanır; endpoint'iniz sunmayabilir. titleModel'i açıkça claude-haiku-4-5-20251001 gibi hızlı bir katalog id'sine veya özel current_model değerine ayarlayın.

Her kullanıcı, sunucu anahtarını paylaşmak yerine kendi anahtarını getirebilir mi?

Evet. apiKey'i özel user_provided değerine ayarlayın ve LibreChat her kullanıcıdan kullanıcı başına saklanan bir anahtar ister. Bu, gateway anahtarlarıyla iyi uyar, çünkü kullanıcı başına bir anahtar, kullanım günlüğünü kişi başına bir maliyet görünümüne dönüştürür.