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

Ortam Değişkenleri

`.env` dosyasını kullanarak uygulamanızın ortamını yapılandırmaya yönelik kapsamlı kılavuz. Bu belge, uygulamanızın farklı bağlamlardaki davranışını şekillendirecek ortam değişkenlerini anlamanız ve özelleştirmeniz için tek durak noktanızdır.

.env dosyası ile uygulamanızın ortamını yapılandırmaya yönelik kapsamlı kılavuza hoş geldiniz. Bu belge, uygulamanızın farklı bağlamlardaki davranışını şekillendirecek ortam değişkenlerini anlamanız ve özelleştirmeniz için tek durak noktanızdır.

Varsayılan ayarlar standart bir docker kurulumu için sağlam bir temel oluştursa da, bu rehberi incelemek LibreChat'in tüm potansiyelini ortaya çıkaracaktır. Bu rehber, LibreChat'i tam ihtiyaçlarınıza göre uyarlamanızı sağlar. Dil modeli kullanılabilirliğini nasıl ayarlayacağınızı, sosyal girişleri nasıl entegre edeceğinizi, otomatik denetleme sistemini nasıl yöneteceğinizi ve çok daha fazlasını keşfedin. Her şey, en iyi kullanıcı deneyimi için LibreChat'e ince ayar yapma kontrolünü size vermekle ilgilidir.

Hatırlatma: Yapılandırma değişikliklerinin geçerli olması için lütfen LibreChat'i yeniden başlatın

Alternatif olarak, LibreChat için ana docker-compose.yml dosyanızla aynı dizinde docker-compose.override.yml adında yeni bir dosya oluşturabilir; burada .env değişkenlerinizi environment altında gerektiği gibi ayarlayabilir veya tüm dosyayı doğrudan düzenlemeye ya da kopyalamaya gerek kalmadan ana docker-compose.yml tarafından sağlanan varsayılan yapılandırmayı değiştirebilirsiniz.

Daha fazla bilgi için bkz:


Sunucu Yapılandırması

Port

  • Sunucu belirli bir portu dinler.
  • PORT ortam değişkeni, sunucunun dinlediği portu ayarlar. Varsayılan olarak 3080 olarak ayarlanmıştır.
KeyTypeDescriptionExample
HOSTstringAna bilgisayarı (host) belirtir.HOST=localhost
PORTnumberPortu belirtir.PORT=3080

Trust proxy

Express uygulamasına en fazla n sayıda atlama uzaklığındaki adresi kullanın. req.socket.remoteAddress ilk atlamadır ve geri kalanlar X-Forwarded-For başlığında sağdan sola doğru aranır. 0 değeri, güvenilmeyen ilk adresin req.socket.remoteAddress olacağı, yani bir reverse proxy olmadığı anlamına gelir. TRUST_PROXY ortam değişkeninin varsayılan değeri 1 olarak ayarlanmıştır.

Bunun hakkında daha fazla bilgi için Express.js - trust proxy bölümüne bakın.

KeyTypeDescriptionExample
TRUST_PROXYnumberSıçrama sayısını belirtir.TRUST_PROXY=1

Kimlik Bilgileri Yapılandırması

Kimlik bilgilerini güvenli bir şekilde saklamak için sabit bir anahtara ve IV değerine ihtiyacınız vardır. Bunları prod ve dev ortamları için buradan ayarlayabilirsiniz.

KeyTypeDescriptionExample
CREDS_KEYstringKimlik bilgilerini güvenli bir şekilde saklamak için 32 baytlık anahtar (onaltılık tabanda 64 karakter). Uygulama başlatma için gereklidir.CREDS_KEY=f34be427ebb29de8d88c107a71546019685ed8b241d8f2ed00c3df97ad2566f0
CREDS_IVstringKimlik bilgilerini güvenli bir şekilde saklamak için 16 baytlık IV (onaltılık tabanda 32 karakter). Uygulama başlatma için gereklidir.CREDS_IV=e2341419ec3dd3d19b13a1a87fafcbfb

Uyarı

Uyarı: CREDS_KEY ve CREDS_IV değerlerini ayarlamazsanız, uygulama başlatılırken çökecektir. - Bunları hızlıca oluşturmak için bu Anahtar Oluşturucu aracını kullanabilirsiniz.

Statik Dosya İşleme

KeyTypeDescriptionExample
STATIC_CACHE_MAX_AGEstringSaniye cinsinden Cache-Control max-ageSTATIC_CACHE_MAX_AGE=172800
STATIC_CACHE_S_MAX_AGEstringPaylaşımlı önbellekler (CDN'ler ve vekiller) için saniye cinsinden Cache-Control s-maxageSTATIC_CACHE_S_MAX_AGE="86400"
DISABLE_COMPRESSIONbooleanStatik dosyalar için sıkıştırmayı devre dışı bırakır.DISABLE_COMPRESSION=false
ENABLE_IMAGE_OUTPUT_GZIP_SCANbooleanAynı klasörde bulunmaları durumunda yüklenen görsellerin gzipped sürümlerinin sunulmasını sağlar.ENABLE_IMAGE_OUTPUT_GZIP_SCAN=true
ENABLE_STATIC_ASSET_BROTLIbooleanMevcut olduğunda statik uygulama varlıklarının önceden sıkıştırılmış Brotli sürümlerinin sunulmasını sağlar.ENABLE_STATIC_ASSET_BROTLI=true

Davranış:

Statik dosyalar için Cache-Control başlıklarını ayarlar. Bu yapılandırmalar yalnızca NODE_ENV değeri production olarak ayarlandığında tetiklenir.

  • Statik dosyalar için yerel max-age değerini değiştirmek üzere STATIC_CACHE_MAX_AGE satırının yorum işaretini kaldırın. Bu değer varsayılan olarak 2 gün (172800 saniye) olarak ayarlanmıştır.
  • Paylaşılan önbellekler (CDN'ler ve vekiller) için s-maxage değerini ayarlamak üzere STATIC_CACHE_S_MAX_AGE satırının yorum işaretini kaldırın. Bu değer varsayılan olarak 1 gün (86400 saniye) olarak ayarlanmıştır.
  • Statik dosyalar için sıkıştırmayı devre dışı bırakmak istiyorsanız DISABLE_COMPRESSION satırının yorum işaretini kaldırın. Varsayılan olarak sıkıştırma etkindir.
  • Aynı klasörde, aynı isimle ve .gz uzantısıyla önceden sıkıştırılmışlarsa, görsellerin gzipped sürümlerinin taranmasını ve sunulmasını sağlamak için ENABLE_IMAGE_OUTPUT_GZIP_SCAN satırının yorum işaretini kaldırın. Varsayılan olarak, yüklenen görseller için gzip taraması devre dışıdır.
  • Varlıkların mevcut olduklarında önceden sıkıştırılmış .br sürümlerini sunmak için ENABLE_STATIC_ASSET_BROTLI satırının yorumunu kaldırın. Etkinleştirildiğinde, API tarafından sunulan statik dosyalar için gzip yerine Brotli tercih edilir.

Uyarı

  • Bu durum yalnızca API sunucusu tarafından sunulan statik dosyaları etkiler ve Firebase, NGINX veya diğer yapılandırmalar için geçerli değildir.

Index HTML Önbellek Denetimi

KeyTypeDescriptionExample
INDEX_CACHE_CONTROLstringindex.html için Cache-Control başlığıINDEX_CACHE_CONTROL=no-cache, no-store, must-revalidate
INDEX_PRAGMAstringindex.html için Pragma başlığıINDEX_PRAGMA=no-cache
INDEX_EXPIRESstringindex.html için Expires başlığıINDEX_EXPIRES=0

Davranış:

Özellikle index.html yanıtı için önbellekleme başlıklarını kontrol eder. Varsayılan olarak bu ayarlar, kullanıcıların her zaman uygulamanın en güncel sürümünü almasını sağlamak için önbelleğe almayı engeller.

Not

Performans için önbelleğe alınan statik varlıkların aksine, index.html dosyasının önbellek başlıkları, kullanıcıların her zaman en güncel uygulama kabuğunu almasını sağlamak için ayrı olarak yapılandırılmıştır.

MongoDB Veritabanı

KeyTypeDescriptionExample
MONGO_URIstringMongoDB URI'sini belirtir.MONGO_URI=mongodb://127.0.0.1:27017/LibreChat

Farklıysa bunu MongoDB URI'niz ile değiştirin. URI içerisindeki veritabanı adı olarak LibreChat veya kendi APP_TITLE değerinizi eklemelisiniz.

Çevrimiçi bir veritabanı kullanıyorsanız, URI formatı mongodb+srv://<username>:<password>@<host>/<database>?<options> şeklindedir. MONGO_URI değeriniz şu şekilde görünmelidir:

  • mongodb+srv://username:[email protected]/LibreChat?retryWrites=true (çevrimiçi veritabanı kullanırken ihtiyacınız olan tek seçenek retryWrites seçeneğidir.)

MongoDB Bağlantı Havuzu Yapılandırması

KeyTypeDescriptionExample
MONGO_MAX_POOL_SIZEnumberBağlantı havuzundaki maksimum bağlantı sayısı.# MONGO_MAX_POOL_SIZE=
MONGO_MIN_POOL_SIZEnumberBağlantı havuzundaki minimum bağlantı sayısı.# MONGO_MIN_POOL_SIZE=
MONGO_MAX_CONNECTINGnumberBağlantı havuzu tarafından aynı anda kurulma sürecinde olabilecek maksimum bağlantı sayısı.# MONGO_MAX_CONNECTING=
MONGO_MAX_IDLE_TIME_MSnumberBir bağlantının havuzdan kaldırılıp kapatılmadan önce boşta kalabileceği maksimum milisaniye sayısı.# MONGO_MAX_IDLE_TIME_MS=
MONGO_WAIT_QUEUE_TIMEOUT_MSnumberBir iş parçacığının bağlantının kullanılabilir hale gelmesi için bekleyebileceği milisaniye cinsinden maksimum süre.# MONGO_WAIT_QUEUE_TIMEOUT_MS=

MongoDB Şema Yapılandırması

KeyTypeDescriptionExample
MONGO_AUTO_INDEXbooleanBu bağlantıyla ilişkili tüm modeller için otomatik dizin oluşturmayı devre dışı bırakmak üzere false olarak ayarlayın. Belirtilmediğinde, Mongoose varsayılan davranışını kullanır.# MONGO_AUTO_INDEX=
MONGO_AUTO_CREATEbooleanMongoose'un bu bağlantıda oluşturulan her model üzerinde otomatik olarak createCollection() çağırmasını devre dışı bırakmak için false olarak ayarlayın. Belirtilmediğinde, Mongoose varsayılan davranışı kullanılır.# MONGO_AUTO_CREATE=

Alternatif olarak mongoDb'yi taklit eden documentDb kullanabilirsiniz ancak bu:

  • retryWrites desteklenmez - retryWrites=false kullanın
  • TLS bağlantısı gerektirir, bu nedenle TLS'i etkinleştirmek için tls=true parametresini ve AWS tarafından sağlanan CA paket dosyasına işaret etmek için tlsCAFile=/path-to-ca/bundle.pem parametresini kullanın

documentDb için URI şu şekilde görünecektir:

  • mongodb+srv://username:password@domain/dbname?retryWrites=false&tls=true&tlsCAFile=/path-to-ca/bundle.pem

Ayrıca bakınız:

Uygulama Alanları

LibreChat'i yerel kullanım veya özel alan adı dağıtımı için yapılandırmak üzere aşağıdaki ortam değişkenlerini ayarlayın:

KeyTypeDescriptionExample
DOMAIN_CLIENTstringİstemci tarafı etki alanını belirtir.DOMAIN_CLIENT=http://localhost:3080
DOMAIN_SERVERstringSunucu tarafı alan adını belirtir.DOMAIN_SERVER=http://localhost:3080
ADMIN_PANEL_URLstringYönetici paneli ayrı olarak barındırıldığında, yönetici OAuth/SSO yönlendirmeleri için kullanılan harici yönetici paneli temel URL'si. Sonuna eğik çizgi (/) eklemeyin.ADMIN_PANEL_URL=https://admin.example.com/admin
ADMIN_PANEL_SESSION_SECRETstringPaketlenmiş yönetici paneli için gerekli oturum şifreleme anahtarı (en az 32 karakter). docker-compose ve deploy-compose admin-panel servisleri bunu SESSION_SECRET olarak okur. Yığını başlatmadan önce `openssl rand -hex 32` komutuyla oluşturun.ADMIN_PANEL_SESSION_SECRET=<your-32-char-random-string>
ADMIN_PANEL_PORTnumberVarsayılan docker-compose içindeki paketlenmiş yönetici paneli için ana bilgisayar bağlantı noktası. deploy-compose içinde panel, bunun yerine nginx aracılığıyla http://admin.localhost adresinden sunulur.ADMIN_PANEL_PORT=3000

LibreChat'i özel bir alan adına dağıtırken, http://localhost:3080 ifadesini dağıttığınız URL ile değiştirin.

  • örneğin https://librechat.example.com.

Arama Motorlarının İndekslemesini Engelleme

Varsayılan olarak, web siteniz herkese açık arama motorları (örneğin Google, Bing, …) tarafından dizine eklenmeyecektir. Bu, insanların web sitenizi bu arama motorları aracılığıyla bulamayacağı anlamına gelir. Web sitenizi daha görünür ve aranabilir hale getirmek istiyorsanız, aşağıdaki ayarı false olarak değiştirebilirsiniz.

KeyTypeDescriptionExample
NO_INDEXbooleanArama motorlarının web sitenizi dizine eklemesini engeller.NO_INDEX=true

Not: Bu yöntemin tüm arama motorları için çalışacağı garanti edilmemekte olup, bazı arama motorları web sitenizi veya web sayfanızı önbelleğe alma veya arşivleme gibi başka amaçlarla dizine eklemeye devam edebilir. Bu nedenle, web sitenizdeki veya web sayfanızdaki hassas veya gizli bilgileri korumak için yalnızca bu yönteme güvenmemelisiniz.

Günlük Kaydı

LibreChat yerleşik bir merkezi günlüğe kaydetme sistemine sahiptir, daha fazla bilgi için Logging System bölümüne bakın.

Günlük Dosyaları

  • Hata ayıklama günlüğü (debug logging) varsayılan olarak etkindir ve geliştirme için çok önemlidir.
  • Sorunları bildirmek için hatayı yeniden oluşturun ve ./api/logs/debug-%DATE%.log dosyasındaki günlükleri şu adrese gönderin: LibreChat GitHub Issues
  • Hata günlükleri aynı konumda saklanır.

Ortam Değişkenleri

KeyTypeDescriptionExample
DEBUG_LOGGINGbooleanHata ayıklama günlüklerini etkin tutun.DEBUG_LOGGING=true
DEBUG_CONSOLEbooleanDosya hata ayıklama günlükleriyle aynı formatta ayrıntılı konsol/stdout günlüklerini etkinleştirin.DEBUG_CONSOLE=false
LOG_TO_FILEbooleanDosya destekli Winston aktarımlarını devre dışı bırakıp konsol günlüğünü etkin tutmak için false olarak ayarlayın.LOG_TO_FILE=true
CONSOLE_JSONbooleanGCP/AWS gibi bulut dağıtımları için uygun olan ayrıntılı JSON konsol/stdout günlüklerini etkinleştirin.CONSOLE_JSON=false
CONSOLE_JSON_STRING_LENGTHnumberJSON konsol/stdout günlüklerindeki dize değerleri için kırpma boyutunu yapılandırın. Varsayılan: 255.# CONSOLE_JSON_STRING_LENGTH=255
LIBRECHAT_LOG_DIRstringGünlük dosyaları için özel dizin. Varsayılan değer /app/logs (Docker) veya api/logs (yerel geliştirme).# LIBRECHAT_LOG_DIR=/custom/log/path
MEM_DIAGbooleanBellek tanılamayı etkinleştirir — her 60 saniyede bir yığın/RSS anlık görüntülerini günlüğe kaydeder. --inspect ile çalıştırıldığında otomatik olarak etkinleştirilir.# MEM_DIAG=true
AGENT_DEBUG_LOGGINGbooleanAjan denetleyicisinde ayrıntılı hata ayıklama günlüğünü etkinleştirir (token sayıları, bağlam budama tanılamaları).# AGENT_DEBUG_LOGGING=true

Not:

  • DEBUG_LOGGING, DEBUG_CONSOLE veya CONSOLE_JSON ile kullanılabilir ancak her ikisiyle birden kullanılamaz.
  • DEBUG_CONSOLE ve CONSOLE_JSON birbirini dışlayan seçeneklerdir.
  • CONSOLE_JSON: Bulut dağıtımlarında (GCP veya AWS gibi) konsol günlüklerini işlerken, bunu etkinleştirmek günlükleri UTC zaman damgasıyla dökecek ve JSON olarak biçimlendirecektir.

Not: DEBUG_CONSOLE önerilmemektedir, çünkü çıktılar oldukça ayrıntılı olabilir, bu nedenle varsayılan olarak devre dışıdır.

İzin

UID ve GID, Linux tarafından sistemdeki her kullanıcıya ve gruba atanan numaralardır. İzin sorunları yaşıyorsanız, Docker Compose komutunu çalıştıran kullanıcının UID ve GID değerlerini buraya ayarlayın. Konteyner içindeki uygulamalar bu UID/GID değerleriyle çalışacaktır.

KeyTypeDescriptionExample
UIDnumberKullanıcı kimliği.# UID=1000
GIDnumberGrup kimliği.# GID=1000

OpenTelemetry Tracing

LibreChat, genel API, HTTP, MongoDB, Mongoose, Redis ve giden istek görünürlüğü için arka uç OpenTelemetry izleri yayabilir. Redis komut düzeyi aralıkları (spans) isteğe bağlıdır, bu nedenle varsayılan izler üst düzeyde kalır. GenAI'ye özgü istem/model gözlemlenebilirliği için Langfuse kullanın.

KeyTypeDescriptionExample
OTEL_TRACING_ENABLEDbooleanArka uç OpenTelemetry izlemeyi etkinleştirin. OTEL_SDK_DISABLED=true olduğunda izleme devre dışı kalır.# OTEL_TRACING_ENABLED=false
OTEL_SERVICE_NAMEstringOpenTelemetry'ye bildirilen hizmet adı. Varsayılan: librechat.# OTEL_SERVICE_NAME=librechat
OTEL_SERVICE_VERSIONstringOpenTelemetry'ye bildirilen servis sürümü. Ayarlanmadığında varsayılan olarak paket sürümünü kullanır.# OTEL_SERVICE_VERSION=
OTEL_EXPORTER_OTLP_ENDPOINTstringTemel OTLP dışa aktarıcı endpoint'i.# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTstringİzlemeye özel OTLP endpoint. Ayarlandığında, izlemeler için temel endpoint'i geçersiz kılar.# OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=
OTEL_EXPORTER_OTLP_HEADERSstringVirgülle ayrılmış OTLP dışa aktarıcı başlıkları (örneğin, yetkilendirme meta verileri).# OTEL_EXPORTER_OTLP_HEADERS=
OTEL_TRACES_EXPORTERstringİzleyici dışa aktarıcı seçimi.# OTEL_TRACES_EXPORTER=otlp
OTEL_TRACES_SAMPLERstringOpenTelemetry iz örnekleyici. Varsayılan örnek: parentbased_always_on.# OTEL_TRACES_SAMPLER=parentbased_always_on
OTEL_LOG_LEVELstringOpenTelemetry SDK günlük düzeyi.# OTEL_LOG_LEVEL=INFO
OTEL_SDK_DISABLEDbooleanİzleme etkinleştirilmiş olsa bile OpenTelemetry SDK'sını devre dışı bırakın.# OTEL_SDK_DISABLED=false
OTEL_IOREDIS_TRACING_ENABLEDbooleanRedis komut düzeyi aralıklarını etkinleştirir. Arka uç izlemelerini üst düzeyde tutmak için varsayılan olarak devre dışıdır.# OTEL_IOREDIS_TRACING_ENABLED=false

Gerçek Kullanıcı İzleme (Tarayıcı)

LibreChat, tarayıcı Gerçek Kullanıcı İzleme (RUM) telemetrisini HyperDX uyumlu OTLP toplayıcılarına yayınlayabilir. RUM varsayılan olarak devre dışıdır.

KeyTypeDescriptionExample
RUM_ENABLEDbooleanTarayıcı Gerçek Kullanıcı İzlemeyi (RUM) etkinleştirin. Varsayılan: false.# RUM_ENABLED=false
RUM_PROVIDERstringTarayıcı RUM sağlayıcısı. Şu anda `hyperdx` desteklemektedir.# RUM_PROVIDER=hyperdx
RUM_URLstringpublic-token modu tarafından kullanılan genel toplayıcı URL'si.# RUM_URL=http://localhost:4318
RUM_SERVICE_NAMEstringTarayıcı SDK'sı tarafından bildirilen hizmet adı. Varsayılan: librechat-web.# RUM_SERVICE_NAME=librechat-web
RUM_ENVIRONMENTstringTarayıcı telemetrisi ile bildirilen ortam etiketi.# RUM_ENVIRONMENT=development
RUM_AUTH_MODEstringTarayıcı telemetrisi için kimlik doğrulama modu. `publicToken` veya `proxy` kullanın.# RUM_AUTH_MODE=publicToken
RUM_PUBLIC_TOKENstringPublic-token modu için genel tarayıcı belirteci. Bunu herkese açık olarak değerlendirin ve toplayıcıda (collector) veri alımını kısıtlayın.# RUM_PUBLIC_TOKEN=
RUM_PROXY_TARGET_URLstringKimliği doğrulanmış proxy modu tarafından kullanılan Collector temel URL'si. `RUM_AUTH_MODE=proxy` olduğunda gereklidir.# RUM_PROXY_TARGET_URL=http://otel-collector:4318
RUM_PROXY_TIMEOUT_MSnumberMilisaniye cinsinden proxy istek zaman aşımı. Varsayılan: 10000.# RUM_PROXY_TIMEOUT_MS=10000
RUM_TRACE_PROPAGATION_TARGETSstringtraceparent başlıklarını alması gereken, virgülle ayrılmış birinci taraf HTTPS kaynakları veya URL'leri.# RUM_TRACE_PROPAGATION_TARGETS=https://api.example.com
RUM_DISABLE_REPLAYbooleanTarayıcı oturumu tekrarını devre dışı bırak. Varsayılan: true.# RUM_DISABLE_REPLAY=true
RUM_CONSOLE_CAPTUREbooleanTarayıcı konsol günlüklerini yakalar. Hassas istemleri, yanıtları veya yükleri toplayabilir.# RUM_CONSOLE_CAPTURE=false
RUM_ADVANCED_NETWORK_CAPTUREbooleanAyrıntılı ağ yüklerini yakalar. Hassas istemleri, yanıtları veya yükleri toplayabilir.# RUM_ADVANCED_NETWORK_CAPTURE=false
RUM_SAMPLE_RATEnumber0 ile 1 arasında tarayıcı telemetri örnekleme oranı. Varsayılan: 1.# RUM_SAMPLE_RATE=1

publicToken modunda, tarayıcı telemetriyi doğrudan RUM_PUBLIC_TOKEN ile RUM_URL adresine gönderir. proxy modunda ise tarayıcı telemetriyi LibreChat üzerinden gönderir; arka uç (backend) kullanıcı oturumunu doğrular, uygulama kimlik doğrulama başlıklarını kaldırır ve telemetriyi RUM_PROXY_TARGET_URL adresine iletir. Geçersiz veya süresi dolmuş oturumlar 204 yanıtı ile düşürülür, böylece tarayıcı telemetri hataları normal API kimlik doğrulama hatalarını ortaya çıkarmaz. Proxy sonuçları, LibreChat API /metrics uç noktasında endpoint ve result etiketleriyle rum_proxy_requests_total içinde sayılır.

Yapılandırma Yolu - librechat.yaml

LibreChat yapılandırma dosyası için alternatif bir konum belirtin.

Mutlak bir yol, göreli bir yol veya bir URL belirtebilirsiniz. Yoldaki dosya adı esnektir ve librechat.yaml olması gerekmez; geçerli herhangi bir yapılandırma dosyası çalışacaktır.

Not: LibreChat'in yapılandırma dosyasını kök dizinde aramasını tercih ederseniz (varsayılan davranış budur), bu seçeneği yorum satırı olarak bırakmanız yeterlidir.

KeyTypeDescriptionExample
CONFIG_PATHstringLibreChat yapılandırma dosyası için alternatif bir konum.# CONFIG_PATH=https://raw.githubusercontent.com/danny-avila/LibreChat/main/librechat.example.yaml

Dağıtım Becerileri

Deployment Skills, başlangıçta dosya sisteminden salt okunur olarak yüklenir ve Skills yeteneği etkinleştirilmiş kullanıcılara sunulur.

KeyTypeDescriptionExample
DEPLOYMENT_SKILLS_DIRstringDağıtım tarafından sağlanan Skill'leri içeren dizin. Varsayılan olarak proje kök dizinindeki `./skill` yoludur.# DEPLOYMENT_SKILLS_DIR=./skill

Bu dizini veya içindeki herhangi bir dosyayı değiştirdikten sonra LibreChat'i yeniden başlatın. Dağıtım tarafından sağlanan Skills, aynı isme sahip kalıcı Skills'e göre önceliklidir.

Yapılandırma Doğrulama

Varsayılan olarak LibreChat, librechat.yaml yapılandırma dosyası doğrulama hataları içeriyorsa bir hata ile (çıkış kodu 1) kapanacaktır. Bu hızlı başarısız olma (fail-fast) davranışı, dağıtım süreçlerinde yapılandırma sorunlarının erkenden tespit edilmesine yardımcı olur ve istenmeyen varsayılan ayarlarla çalışmayı önler.

KeyTypeDescriptionExample
CONFIG_BYPASS_VALIDATIONboolean`true` olarak ayarlandığında, `librechat.yaml` doğrulama hataları içerse bile sunucu bir uyarı günlüğü oluşturacak ve varsayılan yapılandırmayla başlatılmaya devam edecektir. Bu, eski davranış biçimini korur.# CONFIG_BYPASS_VALIDATION=true

Uyarı

CONFIG_BYPASS_VALIDATION=true kullanımı üretim ortamları için önerilmez. Bu, yapılandırma sorunlarını ayıklarken geçici bir çözüm olarak tasarlanmıştır. Yapılandırma dosyanızdaki doğrulama hatalarını her zaman düzeltin.

Yakalanmamış İstisna İşleme

Varsayılan olarak LibreChat, yakalanmamış bir istisna oluştuğunda süreci sonlandıracaktır; bu, standart Node.js davranışıdır. Yakalanmamış istisnalardan sonra uygulamanın çalışmaya devam etmesini sağlamak için bu davranışı geçersiz kılabilirsiniz.

KeyTypeDescriptionExample
CONTINUE_ON_UNCAUGHT_EXCEPTIONboolean`true` olarak ayarlandığında, uygulama yakalanamayan istisnalarla karşılaştığında süreci sonlandırmak yerine çalışmaya devam edecektir.# CONTINUE_ON_UNCAUGHT_EXCEPTION=false

Uyarı

Gerekli olmadıkça üretim ortamı için önerilmez. Yakalanmayan istisnalar, uygulamayı öngörülemez bir durumda bırakabilir.

Endpoints

Bu bölümde, endpoint'leri ve model seçimini, bunların API anahtarlarını ve bunu destekleyen endpoint'ler için proxy ve reverse proxy ayarlarını yapılandırabilirsiniz.

Genel Yapılandırma

LibreChat içindeki mevcut endpoint'leri özelleştirmek için ENDPOINTS satırının yorum işaretlerini kaldırın.

KeyTypeDescriptionExample
ENDPOINTSstringKullanılabilir endpoint'lerin virgülle ayrılmış listesi.# ENDPOINTS=openAI,agents,assistants,gptPlugins,azureOpenAI,google,anthropic,bingAI,custom
PROXYstringDesteklenen sunucu tarafı istemciler için giden proxy. Hem HTTP hem de HTTPS hedefleri için geçerlidir.PROXY=
HTTP_PROXYstringPROXY ayarlanmadığında desteklenen sunucu tarafı istemcileri tarafından kullanılan HTTP proxy yedeği.# HTTP_PROXY=
HTTPS_PROXYstringPROXY ayarlanmadığında desteklenen sunucu tarafı istemciler tarafından kullanılan HTTPS proxy yedeği.# HTTPS_PROXY=
NO_PROXYstringDesteklenen sunucu tarafı istemcilerin atlaması gereken, virgülle ayrılmış ana bilgisayarlar, alan adları veya IP aralıkları. Küçük harfli no_proxy değişkeni de dikkate alınır.# NO_PROXY=
TITLE_CONVObooleanTüm endpoint'ler için başlıklandırmayı etkinleştirin.TITLE_CONVO=true

Bilinen endpoint'ler - librechat.yaml

KeyTypeDescriptionExample
ANYSCALE_API_KEYstringAnyscale için API anahtarı.# ANYSCALE_API_KEY=
APIPIE_API_KEYstringApipie için API anahtarı.# APIPIE_API_KEY=
COHERE_API_KEYstringCohere için API anahtarı.# COHERE_API_KEY=
FIREWORKS_API_KEYstringFireworks için API anahtarı.# FIREWORKS_API_KEY=
GROQ_API_KEYstringGroq için API anahtarı.# GROQ_API_KEY=
MISTRAL_API_KEYstringMistral için API anahtarı.# MISTRAL_API_KEY=
OPENROUTER_KEYstringOpenRouter için API anahtarı.# OPENROUTER_KEY=
PERPLEXITY_API_KEYstringPerplexity için API anahtarı.# PERPLEXITY_API_KEY=
SHUTTLEAI_API_KEYstringShuttleAI için API anahtarı.# SHUTTLEAI_API_KEY=
TOGETHERAI_API_KEYstringTogetherAI için API anahtarı.# TOGETHERAI_API_KEY=
DEEPSEEK_API_KEYstringDeepseek API için API anahtarı# DEEPSEEK_API_KEY=

Web arama özelliği, LibreChat içerisinde internette arama yapma yeteneklerini etkinleştirir.

Önemli: Aşağıda gösterilen tam ortam değişkeni adları varsayılan referanslardır ve tercih ettiğiniz herhangi bir değişken adını kullanmak için librechat.yaml yapılandırma dosyası aracılığıyla özelleştirilebilirler.

Ayrıntılı yapılandırma ve özelleştirme seçenekleri için bkz: Web Search Configuration

KeyTypeDescriptionExample
SERPER_API_KEYstringSerper arama sağlayıcısı için API anahtarı. Anahtarınızı https://serper.dev/api-keys adresinden alın# SERPER_API_KEY=
TAVILY_API_KEYstringTavily arama ve kazıyıcı sağlayıcısı için API anahtarı. Anahtarınızı https://app.tavily.com/home adresinden alın.# TAVILY_API_KEY=
TAVILY_SEARCH_URLstringÖzel Tavily Arama API URL'si (isteğe bağlı). Yalnızca özel veya proxy Tavily uyumlu arama endpoint'leri için gereklidir.# TAVILY_SEARCH_URL=
TAVILY_EXTRACT_URLstringÖzel Tavily Extract API URL'si (isteğe bağlı). Yalnızca özel veya proxy Tavily uyumlu extract uç noktaları için gereklidir.# TAVILY_EXTRACT_URL=
FIRECRAWL_API_KEYstringFirecrawl kazıyıcı hizmeti için API anahtarı. Anahtarınızı https://docs.firecrawl.dev/introduction#api-key adresinden alın.# FIRECRAWL_API_KEY=
FIRECRAWL_API_URLstringÖzel Firecrawl API URL'si (isteğe bağlı). Yalnızca özel Firecrawl örnekleri için gereklidir.# FIRECRAWL_API_URL=
FIRECRAWL_VERSIONstringFirecrawl API sürümü (v0 veya v1).# FIRECRAWL_VERSION=v1
JINA_API_KEYstringJina reranker hizmeti için API anahtarı. Anahtarınızı https://jina.ai/api-dashboard/ adresinden alın.# JINA_API_KEY=
JINA_API_URLstringÖzel Jina API URL'si (isteğe bağlı). Yalnızca özel Jina örnekleri için gereklidir.# JINA_API_URL=
COHERE_API_KEYstringCohere reranker hizmeti için API anahtarı. Anahtarınızı https://dashboard.cohere.com/welcome/login adresinden alın# COHERE_API_KEY=

Not: Bu değişken adları librechat.yaml yapılandırma dosyanızda özelleştirilebilir. Örneğin, web arama ayarlarında yapılandırarak SERPER_API_KEY yerine CUSTOM_SERPER_KEY kullanabilirsiniz. Değişken adlarını özelleştirme hakkında ayrıntılar için Web Search Configuration belgelerine bakın.

Anthropic

bkz: Anthropic Endpoint

  • https://platform.claude.com/ adresinden bir erişim anahtarı talep edebilirsiniz.
  • Bu endpoint'i devre dışı bırakmak için ANTHROPIC_API_KEY= kısmını boş bırakın
  • Kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için ANTHROPIC_API_KEY= değerini "user_provided" olarak ayarlayın.
  • Anthropic için bir ters vekil sunucusuna (reverse proxy) erişiminiz varsa, bunu ANTHROPIC_REVERSE_PROXY= ile ayarlayabilirsiniz.
    • varsayılan base url'i kullanmak için boş bırakın veya yorum satırı yapın
KeyTypeDescriptionExample
ANTHROPIC_API_KEYstringAnthropic API anahtarı veya kullanıcıların kendi API anahtarlarını sağlamalarına izin vermek için "user_provided".Defaults to an empty string.
ANTHROPIC_MODELSstringKullanılacak Anthropic modellerinin virgülle ayrılmış listesi.# ANTHROPIC_MODELS=claude-fable-5,claude-opus-4-8,claude-opus-4-7,claude-sonnet-4-6,claude-opus-4-6,claude-opus-4-20250514,claude-3-7-sonnet-20250219,claude-3-5-sonnet-20241022,claude-3-5-haiku-20241022
ANTHROPIC_REVERSE_PROXYstringAnthropic için ters vekil sunucu (reverse proxy).# ANTHROPIC_REVERSE_PROXY=
ANTHROPIC_TITLE_MODELstringKULLANIMDAN KALDIRILDI: Anthropic ile başlıklandırma için kullanılacak model.# ANTHROPIC_TITLE_MODEL=claude-3-haiku-20240307
  • ANTHROPIC_TITLE_MODEL artık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerine librechat.yaml yapılandırmasındaki titleModel Endpoint Setting ayarını kullanın.

Not: Anthropic Endpoint ile uyumlu olmalıdır. Ayrıca, Claude 2 ve Claude 3 modelleri bu görevde en iyi performansı gösterir; claude-3-haiku modelleri ise en uygun maliyetli olanlardır.

Claude Fable 5, varsayılan Anthropic model listesine dahildir. Fable/Mythos sınıfı modeller, LibreChat'te modern Anthropic davranışını kullanır: 1M bağlam, uyarlanabilir düşünme desteği, istem önbelleğe alma (prompt caching) desteği ve özetlenmiş veya atlanmış muhakeme çıktısı için thinkingDisplay işleme.

Vertex AI üzerinden Anthropic

Anthropic Claude modellerini Google Cloud Vertex AI aracılığıyla da kullanabilirsiniz. Ayrıntılı YAML yapılandırma seçenekleri için bkz: Anthropic Vertex AI Configuration

KeyTypeDescriptionExample
ANTHROPIC_USE_VERTEXbooleanDoğrudan API yerine Google Vertex AI üzerinden Anthropic modellerini kullanmak için true olarak ayarlayın.ANTHROPIC_USE_VERTEX=true
ANTHROPIC_VERTEX_REGIONstringVertex AI için Google Cloud bölgesi. Varsayılan: us-east5.ANTHROPIC_VERTEX_REGION=us-east5

Not: Vertex AI kullanırken, Vertex AI User rolüne sahip bir hizmet hesabıyla GOOGLE_SERVICE_KEY_FILE (bkz. Google Yapılandırması) ayarını da yapılandırmanız gerekir.

AWS Bedrock

Bkz: AWS Bedrock Kurulumu

KeyTypeDescriptionExample
BEDROCK_AWS_DEFAULT_REGIONstringBedrock için varsayılan bir AWS bölgesi sağlanmalıdır.BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_ACCESS_KEY_IDstringBedrock için AWS erişim anahtarı kimliği (access key ID). Varsayılan AWS kimlik bilgileri zinciri kullanılıyorsa isteğe bağlıdır.# BEDROCK_AWS_ACCESS_KEY_ID=your_access_key_id
BEDROCK_AWS_SECRET_ACCESS_KEYstringBedrock için AWS secret access key. Varsayılan AWS kimlik bilgisi zinciri kullanılıyorsa isteğe bağlıdır.# BEDROCK_AWS_SECRET_ACCESS_KEY=your_secret_access_key
BEDROCK_AWS_SESSION_TOKENstringGeçici kimlik bilgileri için AWS oturum belirteci. İsteğe bağlı.# BEDROCK_AWS_SESSION_TOKEN=your_session_token
BEDROCK_AWS_PROFILEstringBedrock için AWS paylaşılan yapılandırma profili adı. Varsayılan AWS kimlik bilgileri zinciri kullanılıyorsa isteğe bağlıdır.# BEDROCK_AWS_PROFILE=your-profile-name
BEDROCK_AWS_BEARER_TOKENstringBearer kimlik doğrulaması için Amazon Bedrock API anahtarı veya kullanıcıların kendi Bedrock API anahtarlarını arayüz üzerinden girmelerine olanak tanımak için user_provided.# BEDROCK_AWS_BEARER_TOKEN=your_bedrock_api_key
BEDROCK_AWS_MODELSstringVirgülle ayrılmış Bedrock model kimlikleri listesi. Belirtilmediği takdirde, bilinen tüm desteklenen modeller dahil edilir.# BEDROCK_AWS_MODELS=anthropic.claude-fable-5,anthropic.claude-opus-4-8,anthropic.claude-opus-4-7,anthropic.claude-sonnet-4-6,meta.llama3-1-8b-instruct-v1:0

Not: Varsayılan AWS kimlik bilgileri zincirini (ortam değişkenleri, SSO kimlik bilgileri, paylaşılan kimlik bilgisi dosyaları veya EC2/ECS Örnek Meta Veri Hizmeti) kullanmak için erişim anahtarlarını atlayabilirsiniz. Daha fazla ayrıntı için AWS Bedrock Setup bölümüne bakın.

Bedrock üzerindeki Claude Fable/Mythos sınıfı modeller yalnızca çıkarım profili (inference-profile) tabanlıdır. us.anthropic.claude-fable-5 gibi bir profil kimliği kullanın ve bu modelleri çağırmadan önce Bedrock konsolunda veya Data Retention API üzerinden gerekli Anthropic veri paylaşım ayarını etkinleştirin.

BingAI

Bing, ayrıca Sydney, jailbreak ve Bing Image Creator için kullanılır

KeyTypeDescriptionExample
BINGAI_TOKENstringBing erişim belirteci. Devre dışı bırakmak için boş bırakın. Kullanıcıların WebUI üzerinden kendi belirteçlerini sağlamalarına izin vermek için "user_provided" olarak ayarlanabilir.BINGAI_TOKEN=user_provided
BINGAI_HOSTstringBing ana bilgisayar URL'si. Varsayılan sunucuyu kullanmak için yorum satırı olarak bırakın.# BINGAI_HOST=https://cn.bing.com

Not: Bunu "user_provided" olarak bırakmanız ve token'ı WebUI üzerinden sağlamanız önerilir.

Google

Google Endpoint kurulumunu yapmak için bu talimatları izleyin

KeyTypeDescriptionExample
GOOGLE_KEYstringGoogle API anahtarı. Kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için "user_provided" olarak ayarlayın.GOOGLE_KEY=user_provided
GOOGLE_SERVICE_KEY_FILEstringGoogle hizmet hesabı JSON anahtar dosyasının yolu, getirileceği URL veya stringleştirilmiş JSON. Vertex AI kimlik doğrulaması (örneğin, OCR özellikleri) için kullanılır.GOOGLE_SERVICE_KEY_FILE=/path/to/auth.json
GOOGLE_REVERSE_PROXYstringGoogle ters vekil sunucu URL'si.GOOGLE_REVERSE_PROXY=
GOOGLE_AUTH_HEADERbooleanX-goog-api-key yerine Authorization başlığını kullanın. Bazı ters vekil sunucular (reverse proxies) bunu gerektirir.# GOOGLE_AUTH_HEADER=true
GOOGLE_MODELSstringVirgülle ayrılmış, mevcut Gemini API Google modelleri.GOOGLE_MODELS=gemini-3.1-pro-preview,gemini-3.1-pro-preview-customtools,gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite,gemini-2.0-flash,gemini-2.0-flash-lite
GOOGLE_MODELSstringVirgülle ayrılmış, mevcut Vertex AI Google modelleri.GOOGLE_MODELS=gemini-3.1-pro-preview,gemini-3.1-pro-preview-customtools,gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite,gemini-2.0-flash-001,gemini-2.0-flash-lite-001
GOOGLE_TITLE_MODELstringKULLANIMDAN KALDIRILDI: Google ile başlıklandırma için kullanılan model.GOOGLE_TITLE_MODEL=gemini-pro
GOOGLE_LOCstringAPI isteklerini işlemek için Google Cloud konumunu belirtirGOOGLE_LOC=us-central1
GOOGLE_CLOUD_LOCATIONstringGemini Görsel Oluşturma için alternatif bölge (örneğin, global).# GOOGLE_CLOUD_LOCATION=global
GOOGLE_EXCLUDE_SAFETY_SETTINGSstringVarsayılan olarak dahil edilen güvenlik ayarlarını tamamen devre dışı bırakın; bu, sağlayıcı varsayılanlarını kullanacaktırGOOGLE_EXCLUDE_SAFETY_SETTINGS=true
GOOGLE_SAFETY_SEXUALLY_EXPLICITstringCinsel içerikli içerikler için güvenlik ayarı. Seçenekler: BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF.GOOGLE_SAFETY_SEXUALLY_EXPLICIT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_HATE_SPEECHstringNefret söylemi içeriği için güvenlik ayarı. Seçenekler BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF şeklindedir.GOOGLE_SAFETY_HATE_SPEECH=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_HARASSMENTstringTaciz içeriği için güvenlik ayarı. Seçenekler: BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF.GOOGLE_SAFETY_HARASSMENT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_DANGEROUS_CONTENTstringTehlikeli içerik için güvenlik ayarı. Seçenekler BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF şeklindedir.GOOGLE_SAFETY_DANGEROUS_CONTENT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_CIVIC_INTEGRITYstringSivil bütünlük içeriği için güvenlik ayarı. Seçenekler BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF şeklindedir.# GOOGLE_SAFETY_CIVIC_INTEGRITY=BLOCK_ONLY_HIGH

Kullanılabilir modelleri virgülle ayrılmış şekilde, boşluk bırakmadan özelleştirin. İlk sırada yer alan varsayılan olacaktır. Dahili ayarları kullanmak için boş bırakın veya yorum satırı haline getirin.

  • GOOGLE_TITLE_MODEL artık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerine librechat.yaml yapılandırmasındaki titleModel Uç Nokta Ayarını kullanın.

Not: Vertex AI GOOGLE_SAFETY değişkenleri için varsayılan olarak BLOCK_NONE ayarına erişiminiz yoktur. Bu kısıtlı HarmBlockThreshold ayarını kullanmak için şunlardan birini yapmanız gerekecektir:

Gemini Görsel Oluşturma

Gemini Image Generation, hem Gemini API'yi hem de Vertex AI'ı destekleyen, Agent'lar için bir araçtır. Bkz: Gemini Image Generation

KeyTypeDescriptionExample
GEMINI_API_KEYstringGörsel oluşturma için özel Gemini API anahtarı. Ayarlanmadığı takdirde GOOGLE_KEY kullanılır.# GEMINI_API_KEY=your_gemini_api_key
GEMINI_IMAGE_MODELstringGörüntü oluşturma için Gemini modeli. Varsayılan: gemini-2.5-flash-image.# GEMINI_IMAGE_MODEL=gemini-2.5-flash-image

Not: Herhangi bir API anahtarı yapılandırılmadığında, araç otomatik olarak GOOGLE_SERVICE_KEY_FILE içindeki hizmet hesabını kullanarak Vertex AI'a geri döner. Hizmet hesabının Vertex AI User rolüne sahip olması gerekir.

OpenAI

Bkz: OpenAI Setup

KeyTypeDescriptionExample
OPENAI_API_KEYstringOpenAI API anahtarınız. Bu endpoint'i devre dışı bırakmak için boş bırakın veya kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için "user_provided" olarak ayarlayın.OPENAI_API_KEY=user_provided
OPENAI_MODELSstringKullanılabilir modelleri virgülle ayrılmış şekilde, boşluk bırakmadan özelleştirin. İlk model varsayılan olacaktır. Dahili ayarları kullanmak için yorum satırı olarak bırakın.# OPENAI_MODELS=gpt-5,gpt-5-codex,gpt-5-mini,gpt-5-nano,o3-pro,o3,o4-mini,gpt-4.1,gpt-4.1-mini,gpt-4.1-nano,o3-mini,o1-pro,o1,gpt-4o,gpt-4o-mini
DEBUG_OPENAIbooleanOpenAI endpoint için hata ayıklama modunu etkinleştirin.DEBUG_OPENAI=false
OPENAI_SUMMARIZEbooleanMesaj özetlemeyi etkinleştir. Varsayılan olarak False'tur# OPENAI_SUMMARIZE=true
OPENAI_SUMMARY_MODELstringOpenAI özetleme için kullanılan model.# OPENAI_SUMMARY_MODEL=gpt-3.5-turbo
OPENAI_FORCE_PROMPTbooleanAPI'nin messages yükü yerine prompt yükü ile çağrılmasını zorunlu kılın.# OPENAI_FORCE_PROMPT=false
OPENAI_ORGANIZATIONstringOpenAI'a yapılan her API isteği için hangi organizasyonun kullanılacağını belirtin. İsteğe bağlı# OPENAI_ORGANIZATION=
OPENAI_REVERSE_PROXYstringKULLANIMDAN KALDIRILDI: OpenAI için ters vekil sunucu (reverse proxy) ayarları.# OPENAI_REVERSE_PROXY=
OPENAI_TITLE_MODELstringKULLANIMDAN KALDIRILDI: OpenAI başlıklandırma için kullanılan model.# OPENAI_TITLE_MODEL=gpt-3.5-turbo
  • OPENAI_TITLE_MODEL artık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerine librechat.yaml yapılandırmasında titleModel Uç Nokta Ayarını kullanın.
  • OPENAI_REVERSE_PROXY artık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerine bir özel uç nokta kullanın.

Assistants

Bkz: Assistants Setup

KeyTypeDescriptionExample
ASSISTANTS_API_KEYstringAssistants API için OpenAI API anahtarınız. Bu endpoint'i devre dışı bırakmak için boş bırakın veya kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için "user_provided" olarak ayarlayın.ASSISTANTS_API_KEY=user_provided
ASSISTANTS_MODELSstringKullanılabilir modelleri virgülle ayırarak ve boşluk bırakmadan özelleştirin. İlk model varsayılan olacaktır. Dahili ayarları kullanmak için boş bırakın.# ASSISTANTS_MODELS=gpt-3.5-turbo-0125,gpt-3.5-turbo-16k-0613,gpt-3.5-turbo-16k,gpt-3.5-turbo,gpt-4,gpt-4-0314,gpt-4-32k-0314,gpt-4-0613,gpt-3.5-turbo-0613,gpt-3.5-turbo-1106,gpt-4-0125-preview,gpt-4-turbo-preview,gpt-4-1106-preview
ASSISTANTS_BASE_URLstringAssistants API için alternatif temel URL.# ASSISTANTS_BASE_URL=

Not: Kullanılabilir modelleri, aralarında boşluk bırakmadan virgülle ayırarak özelleştirebilirsiniz. İlk sırada yer alan varsayılan olacaktır. Dahili ayarları kullanmak için boş bırakın veya yorum satırı haline getirin.

Tavily

API anahtarınızı buradan alın: https://tavily.com/#api

Ortam Değişkenleri:

KeyTypeDescriptionExample
TAVILY_API_KEYstringTavily API anahtarı.TAVILY_API_KEY=

Traversaal

Açıklama: LLM ile geliştirilmiş arama aracı.

API anahtarını buradan alın: https://api.traversaal.ai/dashboard

Ortam Değişkenleri:

KeyTypeDescriptionExample
TRAVERSAAL_API_KEYstringTraversaal API anahtarı.TRAVERSAAL_API_KEY=

WolframAlpha

Ayrıntılı talimatları burada bulabilirsiniz: Wolfram Alpha

Ortam Değişkenleri:

KeyTypeDescriptionExample
WOLFRAM_APP_IDstringWolfram Alpha Uygulama Kimliği (App ID)WOLFRAM_APP_ID=

Zapier

Açıklama: - Bir Zapier hesabına ihtiyacınız var. API anahtarınızı buradan alın: Zapier

  • İzin verilen eylemleri oluşturun - Zapier'in bu başlangıç kılavuzundaki 3. adımı izleyin

Not: Zapier'ın belirli eylemler konusunda hassas olduğu bilinmektedir. E-posta taslakları yazmak muhtemelen bunun için en iyi kullanım alanıdır.

Ortam Değişkenleri:

KeyTypeDescriptionExample
ZAPIER_NLA_API_KEYstringZapier NLA API anahtarı.ZAPIER_NLA_API_KEY=

OpenWeather

Ayrıntılı talimatları burada bulabilirsiniz: OpenWeather

KeyTypeDescriptionExample
OPENWEATHER_API_KEYstringOne Call API 3.0 için OpenWeather API anahtarı.OPENWEATHER_API_KEY=

Code Interpreter

Code Interpreter API, kod yürütmek ve dosyaları yönetmek için güvenli bir ortam sağlar. Bkz: Code Interpreter API

KeyTypeDescriptionExample
LIBRECHAT_CODE_API_KEYstringCode Interpreter hizmeti için API anahtarı. Genel olarak ayarlandığında, tüm kullanıcılara erişim sağlar.LIBRECHAT_CODE_API_KEY=your-api-key
LIBRECHAT_CODE_BASEURLstringCode Interpreter API için özel temel URL (yalnızca Enterprise planları).# LIBRECHAT_CODE_BASEURL=https://your-custom-domain.com

Artifacts

Artifacts, HTML/JS kodunun güvenli bir şekilde oluşturulması için CodeSandbox kütüphanesinden yararlanır. Varsayılan olarak, CodeSandbox tarafından barındırılan herkese açık CDN kullanılır.

Neyse ki, dahili ağ gereksinimleri olanlar için, ön uç kodunu derleyen paketleyiciyi kendi sunucunuzda barındırabilir ve Sandpack için özel bir paketleyici URL'si belirtebilirsiniz.

Metrik istekleri kaldırılmış şekilde kendi kendine barındırma (self-hosting) için hazır konteyner görüntüleri de dahil olmak üzere daha fazla bilgi için bkz: https://github.com/LibreChat-AI/codesandbox-client

KeyTypeDescriptionExample
SANDPACK_BUNDLER_URLstringArtifacts tarafından kullanılan Sandpack için özel bir paketleyici URL'si belirtirSANDPACK_BUNDLER_URL=your-bundler-url

Arama (Meilisearch)

Mesajlar ve konuşmalar içinde aramayı etkinleştirir:

KeyTypeDescriptionExample
SEARCHbooleanMesajlarda ve sohbetlerde aramayı etkinleştirir.SEARCH=true

Not: Docker kullanmıyorsanız, ücretsiz kendi kendine barındırılan (self-hosted) Meilisearch kurulumu veya ücretli bir uzak plan gerektirir.

Mutlak gizlilik için MeiliSearch'e yönelik anonimleştirilmiş telemetri analizlerini devre dışı bırakmak istiyorsanız, bunu true olarak ayarlayın:

KeyTypeDescriptionExample
MEILI_NO_ANALYTICSbooleanMeiliSearch için anonimleştirilmiş telemetri analizlerini devre dışı bırakır.MEILI_NO_ANALYTICS=true

API sunucusunun arama sunucusuna bağlanması için. MeiliSearch'ü docker-compose ile çalıştırıyorsanız '0.0.0.0' ifadesini 'meilisearch' ile değiştirin.

KeyTypeDescriptionExample
MEILI_HOSTstringArama sunucusuna API sunucusu bağlantısı.MEILI_HOST=http://0.0.0.0:7700

Bu ana anahtar (master key), geçerli UTF-8 karakterlerinden oluşan en az 16 bayt uzunluğunda olmalıdır. Bir ana anahtar sağlanmazsa veya 16 bayttan kısa olursa, MeiliSearch bir hata verecek ve başlatılmayı reddedecektir. MeiliSearch, güvenli ve otomatik oluşturulmuş bir ana anahtar önerecektir. Bu, docker-compose için hazır ve güvenli bir anahtardır; dilerseniz bunu kendinizinkiyle değiştirebilirsiniz.

KeyTypeDescriptionExample
MEILI_MASTER_KEYstringMeiliSearch için ana anahtar.MEILI_MASTER_KEY=DrhYf7zENyR6AlUCKmnz0eYASOQdl6zxH7s7MKFSfFCt

LibreChat'in Meilisearch ile bir veritabanı indeksleme senkronizasyonu yapmaya çalışmasını önlemek için aşağıdaki ortam değişkenini true olarak ayarlayabilirsiniz. Bu, yalnızca bir örneğin indekslemeden sorumlu olması gereken bir node kümesinde veya çoklu node kurulumunda kullanışlıdır.

KeyTypeDescriptionExample
MEILI_NO_SYNCstringMeilisearch dizin senkronizasyonunu devre dışı bırakma anahtarıMEILI_NO_SYNC=true

RAG API

Belge indeksleme ve bağlama duyarlı yanıtlar için Retrieval-Augmented Generation (RAG) yapılandırmasını gerçekleştirin. Bkz: RAG API Configuration

KeyTypeDescriptionExample
RAG_API_URLstringRAG API servisinin URL'si.RAG_API_URL=http://host.docker.internal:8000
RAG_OPENAI_API_KEYstringRAG yerleştirmeleri için OpenAI API anahtarı. RAG için OPENAI_API_KEY değerini geçersiz kılar.# RAG_OPENAI_API_KEY=sk-your-openai-api-key
RAG_OPENAI_BASEURLstringRAG yerleştirmeleri için özel OpenAI temel URL'si.# RAG_OPENAI_BASEURL=
RAG_USE_FULL_CONTEXTbooleanİlk 4 sonuç yerine tüm dosya bağlamını getir. Varsayılan: false.# RAG_USE_FULL_CONTEXT=true
EMBEDDINGS_PROVIDERstringEmbeddings sağlayıcısı: openai, azure, huggingface, huggingfacetei veya ollama. Varsayılan: openai.# EMBEDDINGS_PROVIDER=openai
EMBEDDINGS_MODELstringKullanılacak Embeddings modeli. Varsayılan değer sağlayıcıya bağlıdır.# EMBEDDINGS_MODEL=text-embedding-3-small

Not: Varsayılan Docker kurulumunu kullanırken, .env dosyası LibreChat ve RAG API arasında paylaşılır. Tüm yapılandırma seçenekleri için RAG API belgelerine bakın.

Konuşmadan Metne & Metinden Konuşmaya

Konuşmadan Metne (STT) ve Metinden Konuşmaya (TTS) servislerini yapılandırın. Bkz: Konuşma Ayarları

KeyTypeDescriptionExample
STT_API_KEYstringSpeech-to-Text hizmeti için API anahtarı (örneğin, OpenAI Whisper).# STT_API_KEY=
TTS_API_KEYstringMetinden Konuşmaya (Text-to-Speech) hizmeti için API anahtarı (örneğin OpenAI TTS).# TTS_API_KEY=

Not: STT ve TTS öncelikli olarak librechat.yaml içindeki speech: bölümü aracılığıyla yapılandırılır. Bu ortam değişkenleri, söz konusu yapılandırmada referans alınır. Tam YAML yapılandırma seçenekleri için Speech Settings bölümüne bakın.

Paylaşılan sohbet bağlantıları işlevini yapılandırın.

KeyTypeDescriptionExample
ALLOW_SHARED_LINKSbooleanPaylaşılan sohbet bağlantılarını etkinleştirin veya devre dışı bırakın. Varsayılan: true.ALLOW_SHARED_LINKS=true
ALLOW_SHARED_LINKS_PUBLICbooleanPaylaşılan bağlantıların kimlik doğrulaması olmadan herkese açık olmasını sağlayın. Varsayılan: false.ALLOW_SHARED_LINKS_PUBLIC=false
SHARED_LINKS_SNAPSHOT_FILESbooleanPaylaşılan bir sohbet tarafından referans verilen anlık görüntü dosyaları; böylece görüntüleyenler bunları paylaşılan bağlantı üzerinden önizleyebilir veya indirebilir. Ayarlandığında interface.sharedLinks.snapshotFiles değerini geçersiz kılar.SHARED_LINKS_SNAPSHOT_FILES=true

ALLOW_SHARED_LINKS, özellik genelindeki anahtardır. Rol izinleri artık kimlerin paylaşılan bağlantılar oluşturabileceğini, bunları kimliği doğrulanmış kullanıcılarla paylaşabileceğini veya herkes için görünür kılabileceğini kontrol eder; bkz. interface.sharedLinks. ALLOW_SHARED_LINKS_PUBLIC yalnızca herkese açık paylaşılan bağlantıların kimlik doğrulaması olmadan görüntülenip görüntülenemeyeceğini kontrol eder. SHARED_LINKS_SNAPSHOT_FILES, paylaşılan bağlantı dosya anlık görüntüleri için genel bir geçersiz kılmadır ve false olarak ayarlandığında her bağlantı için anlık görüntü sunumunu devre dışı bırakabilir.

Kullanıcı Sistemi

Bu bölüm şunlar için yapılandırmayı içerir:

Moderasyon

Otomatik Denetleme Sistemi, kullanıcı ihlallerini takip etmek için bir puanlama mekanizması kullanır. Kullanıcılar aşırı giriş denemeleri, kayıtlar veya mesajlaşma gibi eylemlerde bulundukça ihlal puanları biriktirirler. Belirlenen bir eşiğe ulaşıldığında, kullanıcı ve IP adresi geçici olarak yasaklanır. Bu sistem, hızlı veya şüpheli etkinlikleri izleyip cezalandırarak platform güvenliğini sağlar.

bakınız: Otomatik Denetleme

Temel Denetim Ayarları

KeyTypeDescriptionExample
OPENAI_MODERATIONboolean**OpenAI** ve **Plugins** endpoint'lerinde OpenAI denetiminin etkinleştirilip etkinleştirilmeyeceği.OPENAI_MODERATION=false
OPENAI_MODERATION_API_KEYstringOpenAI API anahtarınız.OPENAI_MODERATION_API_KEY=
OPENAI_MODERATION_REVERSE_PROXYstringNot: Varsayılan olarak yorum satırı halindedir, tüm reverse proxy'lerle çalışmayabilir.# OPENAI_MODERATION_REVERSE_PROXY=

Yasaklama Ayarları

KeyTypeDescriptionExample
BAN_VIOLATIONSbooleanİhlaller nedeniyle kullanıcıların yasaklanıp yasaklanmayacağı (yine de kayıt altına alınacaklardır).BAN_VIOLATIONS=true
BAN_DURATIONintegerKullanıcının ve ilişkili IP adresinin ne kadar süreyle yasaklanacağı (milisaniye cinsinden).BAN_DURATION=1000 * 60 * 60 * 2
BAN_INTERVALintegerKullanıcının puanı aralık eşiğine her ulaştığında veya bu eşiği geçtiğinde kullanıcı yasaklanacaktır.BAN_INTERVAL=20

Giriş ve kayıt hız sınırlaması

Giriş denemelerini ve yeni hesap kayıtlarını sınırlayarak kaba kuvvet saldırılarını ve spam kayıtlarını önler.

KeyTypeDescriptionExample
LOGIN_MAXintegerLOGIN_WINDOW başına IP başına izin verilen maksimum giriş sayısı.LOGIN_MAX=7
LOGIN_WINDOWintegerLOGIN_MAX girişi için zaman aralığını dakika cinsinden belirler.LOGIN_WINDOW=5
REGISTER_MAXintegerREGISTER_WINDOW başına IP başına izin verilen maksimum kayıt sayısı.REGISTER_MAX=5
REGISTER_WINDOWintegerDakika cinsinden, REGISTER_MAX kayıtları için zaman aralığını belirler.REGISTER_WINDOW=60

Her ihlal için puan

KeyTypeDescriptionExample
LOGIN_VIOLATION_SCOREintegerGiriş ihlalleri için puan.LOGIN_VIOLATION_SCORE=1
REGISTRATION_VIOLATION_SCOREintegerKayıt ihlalleri için puan.REGISTRATION_VIOLATION_SCORE=1
CONCURRENT_VIOLATION_SCOREintegerEş zamanlı ihlaller için puan.CONCURRENT_VIOLATION_SCORE=1
MESSAGE_VIOLATION_SCOREintegerMesaj ihlalleri için puan.MESSAGE_VIOLATION_SCORE=1
NON_BROWSER_VIOLATION_SCOREintegerTarayıcı dışı ihlaller için puan.NON_BROWSER_VIOLATION_SCORE=20
ILLEGAL_MODEL_REQ_SCOREintegerYasadışı model istekleri için puan.ILLEGAL_MODEL_REQ_SCORE=5
IMPORT_VIOLATION_SCOREintegerİçe aktarılan sohbet ihlalleri için puan.IMPORT_VIOLATION_SCORE=1
FORK_VIOLATION_SCOREintegerSohbet çatallanma ihlalleri için puan.FORK_VIOLATION_SCORE=1
TTS_VIOLATION_SCOREintegerMetinden sese dönüştürme ihlalleri için puan.TTS_VIOLATION_SCORE=0
STT_VIOLATION_SCOREintegerKonuşmadan metne dönüştürme ihlalleri için puan.STT_VIOLATION_SCORE=0
FILE_UPLOAD_VIOLATION_SCOREintegerDosya yükleme ihlalleri için puan.FILE_UPLOAD_VIOLATION_SCORE=0
RESET_PASSWORD_VIOLATION_SCOREintegerParola sıfırlama ihlalleri için puan.RESET_PASSWORD_VIOLATION_SCORE=0
VERIFY_EMAIL_VIOLATION_SCOREintegerE-posta doğrulama ihlalleri için puan.VERIFY_EMAIL_VIOLATION_SCORE=0
TOOL_CALL_VIOLATION_SCOREintegerAraç çağrısı ihlalleri için puan.TOOL_CALL_VIOLATION_SCORE=0
CONVO_ACCESS_VIOLATION_SCOREintegerSohbet erişim ihlalleri için puan.CONVO_ACCESS_VIOLATION_SCORE=0

Not: Tarayıcı dışı erişim ve yasa dışı model istekleri neredeyse her zaman kötü niyetlidir; çünkü bu, 3. bir tarafın otomatik bir betik aracılığıyla sunucuya erişmeye çalıştığı anlamına gelir.

Mesaj hız sınırlaması (kullanıcı ve IP başına)

KeyTypeDescriptionExample
LIMIT_CONCURRENT_MESSAGESbooleanBir kullanıcının istek başına gönderebileceği mesaj miktarının sınırlandırılıp sınırlandırılmayacağı.LIMIT_CONCURRENT_MESSAGES=true
CONCURRENT_MESSAGE_MAXintegerBir kullanıcının istek başına gönderebileceği maksimum mesaj sayısı.CONCURRENT_MESSAGE_MAX=2

Sınırlayıcılar

Not: Her iki sınırlayıcıyı da kullanabilirsiniz, ancak varsayılan yalnızca IP'ye göre sınırlamaktır.

IP Sınırlayıcı:
KeyTypeDescriptionExample
LIMIT_MESSAGE_IPbooleanBir IP'nin `MESSAGE_IP_WINDOW` başına gönderebileceği mesaj miktarının sınırlandırılıp sınırlandırılmayacağı.LIMIT_MESSAGE_IP=true
MESSAGE_IP_MAXintegerBir IP'nin `MESSAGE_IP_WINDOW` başına gönderebileceği maksimum mesaj miktarı.MESSAGE_IP_MAX=40
MESSAGE_IP_WINDOWinteger`MESSAGE_IP_MAX` mesajı için zaman aralığını dakika cinsinden belirler.MESSAGE_IP_WINDOW=1
Kullanıcı Sınırlayıcı:
KeyTypeDescriptionExample
LIMIT_MESSAGE_USERbooleanBir kullanıcının `MESSAGE_USER_WINDOW` başına gönderebileceği mesaj miktarının sınırlandırılıp sınırlandırılmayacağı.LIMIT_MESSAGE_USER=false
MESSAGE_USER_MAXintegerBir kullanıcının `MESSAGE_USER_WINDOW` başına gönderebileceği maksimum mesaj miktarı.MESSAGE_USER_MAX=40
MESSAGE_USER_WINDOWinteger`MESSAGE_USER_MAX` mesajları için zaman aralığını dakika cinsinden belirler.MESSAGE_USER_WINDOW=1

Sohbet içe aktarma hız sınırlaması

Kötüye kullanımı önlemek için kullanıcıların konuşmaları ne sıklıkla içe aktarabileceğini sınırlar.

Not: Her iki sınırlayıcıyı da kullanabilirsiniz, ancak varsayılan yalnızca IP'ye göre sınırlamaktır.

IP Sınırlayıcı:
KeyTypeDescriptionExample
LIMIT_IMPORT_IPbooleanBir IP adresinin `IMPORT_IP_WINDOW` başına gerçekleştirebileceği sohbet içe aktarma miktarının sınırlandırılıp sınırlandırılmayacağı.LIMIT_IMPORT_IP=true
IMPORT_IP_MAXintegerBir IP adresinin `IMPORT_IP_WINDOW` başına gerçekleştirebileceği maksimum sohbet içe aktarma sayısı.IMPORT_IP_MAX=100
IMPORT_IP_WINDOWinteger`IMPORT_IP_MAX` içe aktarmaları için zaman aralığını dakika cinsinden belirler.IMPORT_IP_WINDOW=1
Kullanıcı Sınırlayıcı:
KeyTypeDescriptionExample
LIMIT_IMPORT_USERbooleanBir kullanıcının `IMPORT_USER_WINDOW` başına gerçekleştirebileceği sohbet içe aktarma miktarının sınırlandırılıp sınırlandırılmayacağı.LIMIT_IMPORT_USER=false
IMPORT_USER_MAXintegerBir kullanıcının `IMPORT_USER_WINDOW` başına gerçekleştirebileceği maksimum sohbet içe aktarma miktarı.IMPORT_USER_MAX=50
IMPORT_USER_WINDOWinteger`IMPORT_USER_MAX` içe aktarmaları için zaman aralığını dakika cinsinden belirler.IMPORT_USER_WINDOW=1

Sohbet çatallama hız sınırlaması

Kötüye kullanımı önlemek için kullanıcıların konuşmaları ne sıklıkla çatallayabileceğini (fork) sınırlar.

Not: Her iki sınırlayıcıyı da kullanabilirsiniz, ancak varsayılan yalnızca IP'ye göre sınırlamaktır.

IP Sınırlayıcı:
KeyTypeDescriptionExample
LIMIT_FORK_IPbooleanBir IP adresinin `FORK_IP_WINDOW` başına oluşturabileceği konuşma çatalı (fork) miktarının sınırlandırılıp sınırlandırılmayacağı.LIMIT_FORK_IP=true
FORK_IP_MAXintegerBir IP'nin `FORK_IP_WINDOW` başına oluşturabileceği maksimum konuşma çatalı (fork) sayısı.FORK_IP_MAX=30
FORK_IP_WINDOWinteger`FORK_IP_MAX` çatallanmaları için zaman aralığını dakika cinsinden belirler.FORK_IP_WINDOW=1
Kullanıcı Sınırlayıcı:
KeyTypeDescriptionExample
LIMIT_FORK_USERbooleanBir kullanıcının `FORK_USER_WINDOW` başına oluşturabileceği konuşma çatalı (fork) miktarının sınırlandırılıp sınırlandırılmayacağı.LIMIT_FORK_USER=false
FORK_USER_MAXintegerBir kullanıcının `FORK_USER_WINDOW` başına oluşturabileceği maksimum konuşma çatalı (fork) sayısı.FORK_USER_MAX=7
FORK_USER_WINDOWinteger`FORK_USER_MAX` fork'ları için zaman aralığını dakika cinsinden belirler.FORK_USER_WINDOW=1

Dosya yükleme hız sınırlaması

Kötüye kullanımı önlemek için kullanıcıların dosya yükleme sıklığını sınırlar.

Not: Bunlar ayrıca librechat.yaml içindeki rateLimits.fileUploads bölümü aracılığıyla da yapılandırılabilir.

IP Sınırlayıcı:
KeyTypeDescriptionExample
FILE_UPLOAD_IP_MAXinteger`FILE_UPLOAD_IP_WINDOW` başına IP başına maksimum dosya yükleme sayısı. Varsayılan: 100.# FILE_UPLOAD_IP_MAX=100
FILE_UPLOAD_IP_WINDOWinteger`FILE_UPLOAD_IP_MAX` için zaman aralığını dakika cinsinden belirler. Varsayılan: 15.# FILE_UPLOAD_IP_WINDOW=15
Kullanıcı Sınırlayıcı:
KeyTypeDescriptionExample
FILE_UPLOAD_USER_MAXinteger`FILE_UPLOAD_USER_WINDOW` başına kullanıcı başına maksimum dosya yükleme sayısı. Varsayılan: 50.# FILE_UPLOAD_USER_MAX=50
FILE_UPLOAD_USER_WINDOWintegerDakika cinsinden, `FILE_UPLOAD_USER_MAX` için zaman aralığını belirler. Varsayılan: 15.# FILE_UPLOAD_USER_WINDOW=15

TTS (Metinden Sese) hız sınırlaması

Kötüye kullanımı önlemek için kullanıcıların Metin Okuma (Text-to-Speech) özelliğini ne sıklıkla kullanabileceğini sınırlar.

Not: Bunlar ayrıca librechat.yaml dosyasındaki rateLimits.tts bölümü aracılığıyla da yapılandırılabilir.

IP Sınırlayıcı:
KeyTypeDescriptionExample
TTS_IP_MAXinteger`TTS_IP_WINDOW` başına IP başına maksimum TTS isteği. Varsayılan: 100.# TTS_IP_MAX=100
TTS_IP_WINDOWintegerDakika cinsinden, `TTS_IP_MAX` için zaman aralığını belirler. Varsayılan: 1.# TTS_IP_WINDOW=1
Kullanıcı Sınırlayıcı:
KeyTypeDescriptionExample
TTS_USER_MAXinteger`TTS_USER_WINDOW` başına kullanıcı başına maksimum TTS isteği. Varsayılan: 50.# TTS_USER_MAX=50
TTS_USER_WINDOWinteger`TTS_USER_MAX` için zaman aralığını dakika cinsinden belirler. Varsayılan: 1.# TTS_USER_WINDOW=1

STT (Speech-to-Text) hız sınırlaması

Kötüye kullanımı önlemek için kullanıcıların Konuşmadan Metne (Speech-to-Text) özelliğini ne sıklıkla kullanabileceğini sınırlar.

Not: Bunlar ayrıca librechat.yaml dosyasındaki rateLimits.stt bölümü aracılığıyla da yapılandırılabilir.

IP Sınırlayıcı:
KeyTypeDescriptionExample
STT_IP_MAXinteger`STT_IP_WINDOW` başına IP başına maksimum STT isteği. Varsayılan: 100.# STT_IP_MAX=100
STT_IP_WINDOWintegerDakika cinsinden, `STT_IP_MAX` için zaman aralığını belirler. Varsayılan: 1.# STT_IP_WINDOW=1
Kullanıcı Sınırlayıcı:
KeyTypeDescriptionExample
STT_USER_MAXinteger`STT_USER_WINDOW` başına kullanıcı başına maksimum STT isteği. Varsayılan: 50.# STT_USER_MAX=50
STT_USER_WINDOWintegerDakika cinsinden, `STT_USER_MAX` için zaman aralığını belirler. Varsayılan: 1.# STT_USER_WINDOW=1

Bakiye

Aşağıdaki özellik, sistemin endpoint'leri dahilindeki kullanıcı bakiyelerinin yönetilmesine olanak tanır. Bakiyeleri manuel olarak ekleme seçeneğine sahipsiniz veya kullanıcılar için otomatik olarak bakiye biriktiren bir sistem uygulamayı tercih edebilirsiniz. Yapılandırmada belirli bir başlangıç bakiyesi tanımlanmışsa, kullanıcılar kayıt olduklarında bakiyelerine otomatik olarak token yüklenecektir.

bakınız: Token Kullanımı

KeyTypeDescriptionExample
CHECK_BALANCEbooleanOpenAI/Plugins endpoint'leri için token kredi bakiyelerini etkinleştirin.CHECK_BALANCE=false
START_BALANCEintegerEğer değer ayarlanmışsa, kayıt işleminden sonra kullanıcı bakiyesine token tanımlanacaktır.START_BALANCE=20000

Bakiyeleri Yönetme

  • Bakiyeleri manuel olarak eklemek için npm run add-balance komutunu çalıştırın.
    • Ayrıca eklenecek e-posta adresini ve token kredi miktarını da belirtebilirsiniz, örneğin: npm run add-balance [email protected] 1000
  • Bakiyeleri manuel olarak ayarlamak için npm run set-balance komutunu çalıştırın; bu, add-balance komutuna benzer şekilde çalışır.
  • Her kullanıcının bakiyesini listelemek için npm run list-balances komutunu çalıştırın.

Not: 1000 kredi = $0.001 (1 mil USD)

Kayıt ve Giriş

bkz: Kimlik Doğrulama Sistemi

Kullanıcı kayıt ekranıKullanıcı kayıt ekranı

Yapılandırma Dosyası Açıklaması

Bu bölümdeki tüm kimlik doğrulama ayarları librechat.yaml dosyasında veya docker-compose.override.yml dosyasında değil, .env dosyanızda yapılandırılmalıdır. docker-compose.override.yml dosyası yalnızca Docker için birimleri (volumes) bağlamak ve ortam değişkenlerini ayarlamak amacıyla kullanılırken, librechat.yaml dosyası özel endpoint'ler ve diğer uygulama ayarları için kullanılır.

  • Genel Ayarlar:
KeyTypeDescriptionExample
ALLOW_EMAIL_LOGINbooleanSADECE e-posta ile girişi etkinleştirin veya devre dışı bırakın.ALLOW_EMAIL_LOGIN=true
ALLOW_REGISTRATIONbooleanYeni kullanıcıların E-posta ile kaydını etkinleştirin veya devre dışı bırakın.ALLOW_REGISTRATION=true
ALLOW_SOCIAL_LOGINbooleanKullanıcıların LibreChat'e çeşitli sosyal ağlarla bağlanmasına izin verin.ALLOW_SOCIAL_LOGIN=false
ALLOW_SOCIAL_REGISTRATIONbooleanÇeşitli sosyal ağları kullanarak yeni kullanıcıların kaydını etkinleştirin veya devre dışı bırakın.ALLOW_SOCIAL_REGISTRATION=false
ALLOW_PASSWORD_RESETbooleanKullanıcıların şifrelerini kendilerinin sıfırlayabilme özelliğini etkinleştirin veya devre dışı bırakınALLOW_PASSWORD_RESET=false
ALLOW_ACCOUNT_DELETIONbooleanKullanıcıların hesaplarını kendi başlarına silme yeteneğini etkinleştirin veya devre dışı bırakın. Belirtilmediğinde/yorum satırı yapıldığında varsayılan olarak etkindirALLOW_ACCOUNT_DELETION=true
ALLOW_UNVERIFIED_EMAIL_LOGINbooleanKullanıcıların e-posta adreslerini doğrulamadan giriş yapmalarına izin vermek için true olarak ayarlayın. false olarak ayarlanırsa, kullanıcıların giriş yapmadan önce e-postalarını doğrulamaları gerekecektir.ALLOW_UNVERIFIED_EMAIL_LOGIN=true
MIN_PASSWORD_LENGTHnumberKullanıcı kimlik doğrulaması için minimum parola uzunluğu. LDAP kimlik doğrulaması kullanırken, LDAP sunucuları kendi parola politikalarını yönettikleri için yerel parola doğrulamasını atlamak amacıyla bunu 1 olarak ayarlamak isteyebilirsiniz.MIN_PASSWORD_LENGTH=8

Hızlı İpucu: Kayıt devre dışı bırakılmış olsa bile, npm run create-user komutunu kullanarak kullanıcıları doğrudan veritabanına ekleyebilirsiniz.

Hızlı İpucu: Kayıt devre dışı bırakıldığında, npm run delete-user [email protected] komutuyla bir kullanıcıyı silebilirsiniz.

  • Oturum ve Yenileme Jetonu Ayarları:
KeyTypeDescriptionExample
SESSION_EXPIRYinteger (milliseconds)Oturum zaman aşımı süresi.SESSION_EXPIRY=1000 * 60 * 15
REFRESH_TOKEN_EXPIRYinteger (milliseconds)Yenileme belirteci (refresh token) sona erme süresi.REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7
SESSION_COOKIE_SECUREbooleanOturum/kimlik doğrulama çerezleri için Secure özniteliğini geçersiz kılar. Varsayılan NODE_ENV/DOMAIN_SERVER buluşsal yöntemini kullanmak için ayarlanmamış bırakın.# SESSION_COOKIE_SECURE=false

Yeni ve güvenli değerler kullanmalısınız. Verilen örnekler 32 baytlık anahtarlardır (onaltılık tabanda 64 karakter). Hızlıca oluşturmak için bu replit'i kullanın: JWT Keys

KeyTypeDescriptionExample
JWT_SECRETstring (hex)JWT gizli anahtarı.JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef
JWT_REFRESH_SECRETstring (hex)JWT yenileme gizli anahtarı.JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418

Sosyal Girişler

Daha fazla detay için: OAuth2-OIDC

Apple Kimlik Doğrulaması

Daha fazla bilgi için: Apple Authentication

KeyTypeDescriptionExample
APPLE_CLIENT_IDstringApple Hizmet Kimliğiniz (ör. com.yourdomain.librechat.services).APPLE_CLIENT_ID=com.yourdomain.librechat.services
APPLE_TEAM_IDstringApple Developer Team ID'niz.APPLE_TEAM_ID=YOUR_TEAM_ID
APPLE_KEY_IDstringİndirilen anahtardan Apple Key ID'niz.APPLE_KEY_ID=YOUR_KEY_ID
APPLE_PRIVATE_KEY_PATHstringİndirdiğiniz .p8 dosyasının mutlak yolu.APPLE_PRIVATE_KEY_PATH=/path/to/AuthKey.p8
APPLE_CALLBACK_URLstringApple kimlik doğrulaması için geri çağırma (callback) URL'si.APPLE_CALLBACK_URL=/oauth/apple/callback

Discord Kimlik Doğrulaması

Daha fazla bilgi için: Discord

KeyTypeDescriptionExample
DISCORD_CLIENT_IDstringDiscord istemci kimliğiniz.DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRETstringDiscord client secret değeriniz.DISCORD_CLIENT_SECRET=
DISCORD_CALLBACK_URLstringDiscord kimlik doğrulaması için geri çağırma (callback) URL'si.DISCORD_CALLBACK_URL=/oauth/discord/callback

Facebook Kimlik Doğrulaması

Daha fazla bilgi için: Facebook Authentication

KeyTypeDescriptionExample
FACEBOOK_CLIENT_IDstringFacebook istemci kimliğiniz.FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRETstringFacebook istemci gizli anahtarınız.FACEBOOK_CLIENT_SECRET=
FACEBOOK_CALLBACK_URLstringFacebook kimlik doğrulaması için geri çağırma (callback) URL'si.FACEBOOK_CALLBACK_URL=/oauth/facebook/callback

GitHub Kimlik Doğrulaması

Daha fazla bilgi için: GitHub Authentication

KeyTypeDescriptionExample
GITHUB_CLIENT_IDstringGitHub istemci kimliğiniz.GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRETstringGitHub client secret değeriniz.GITHUB_CLIENT_SECRET=
GITHUB_CALLBACK_URLstringGitHub kimlik doğrulaması için geri çağırma (callback) URL'si.GITHUB_CALLBACK_URL=/oauth/github/callback
GITHUB_ENTERPRISE_BASE_URLstringİsteğe bağlı: GitHub Enterprise örneğiniz için temel URL.GITHUB_ENTERPRISE_BASE_URL=
GITHUB_ENTERPRISE_USER_AGENTstringİsteğe bağlı: GitHub Enterprise istekleri için kullanıcı aracısı.GITHUB_ENTERPRISE_USER_AGENT=

Google Kimlik Doğrulaması

Daha fazla bilgi için: Google Authentication

KeyTypeDescriptionExample
GOOGLE_CLIENT_IDstringGoogle istemci kimliğiniz.GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRETstringGoogle istemci sırrınız.GOOGLE_CLIENT_SECRET=
GOOGLE_CALLBACK_URLstringGoogle kimlik doğrulaması için geri çağırma (callback) URL'si.GOOGLE_CALLBACK_URL=/oauth/google/callback

OpenID Connect

Daha fazla bilgi için:

KeyTypeDescriptionExample
OPENID_CLIENT_IDstringOpenID istemci kimliğiniz.OPENID_CLIENT_ID=
OPENID_CLIENT_SECRETstringOpenID istemci sırrınız.OPENID_CLIENT_SECRET=
OPENID_ISSUERstringOpenID sağlayıcı URL'si.OPENID_ISSUER=
OPENID_SESSION_SECRETstringOpenID oturum depolaması için gizli anahtar.OPENID_SESSION_SECRET=
OPENID_SCOPEstringOpenID kapsamı.OPENID_SCOPE="openid profile email"
OPENID_CALLBACK_URLstringOpenID kimlik doğrulaması için geri çağırma (callback) URL'si.OPENID_CALLBACK_URL=/oauth/openid/callback
OPENID_AUDIENCEstringOpenID JWT doğrulama ve yetkilendirme istekleri için Audience değeri. JWT doğrulaması için virgülle ayrılmış değerler kabul edilir; yetkilendirme istekleri ilk boş olmayan değeri kullanır. OPENID_REUSE_TOKENS=true kullanıldığında opak token'lar yerine JWT erişim token'ları almak için Auth0 ile gereklidir.OPENID_AUDIENCE=https://api.librechat.com
OPENID_REQUIRED_ROLEstringDoğrulama için gerekli rol(ler). Tek bir rolü veya virgülle ayrılmış birden fazla rolü destekler. Birden fazla rol belirtildiğinde, kullanıcının belirtilen rollerden HERHANGİ BİRİNE sahip olması gerekir (VEYA mantığı).OPENID_REQUIRED_ROLE=admin or OPENID_REQUIRED_ROLE=role1,role2,admin
OPENID_REQUIRED_ROLE_TOKEN_KINDstringGerekli rol doğrulaması için token türü.OPENID_REQUIRED_ROLE_TOKEN_KIND=
OPENID_REQUIRED_ROLE_PARAMETER_PATHstringGerekli rol doğrulaması için parametre yolu.OPENID_REQUIRED_ROLE_PARAMETER_PATH=
OPENID_ADMIN_ROLEstringLibreChat üzerinde yönetici olmak için kullanıcının sahip olması gereken rol.OPENID_ADMIN_ROLE=
OPENID_ADMIN_ROLE_TOKEN_KINDstringYönetici rolü doğrulaması için bilgi kaynağı. Olası değerler: access, id veya userinfo.OPENID_ADMIN_ROLE_TOKEN_KIND=
OPENID_ADMIN_ROLE_PARAMETER_PATHstringGerekli rol doğrulaması için parametre yolu.OPENID_ADMIN_ROLE_PARAMETER_PATH=
OPENID_ROLE_SYNC_ENABLEDbooleanYönetici olmayan roller için genel OpenID rol senkronizasyonunu etkinleştirin. ADMIN rolü, rol senkronizasyonu ile atanamaz; yönetici yetkisi yükseltme için OPENID_ADMIN_ROLE kullanın.OPENID_ROLE_SYNC_ENABLED=false
OPENID_ROLE_SYNC_API_ENABLEDbooleanAPI tabanlı rol senkronizasyon yardımcılarını etkinleştirin. OPENID_ROLE_SYNC_ENABLED=true gerektirir.OPENID_ROLE_SYNC_API_ENABLED=false
OPENID_ROLE_SYNC_SOURCEstringRol talebi için token kaynağı. Şunlardan biri olmalıdır: access, id, userinfo. Varsayılan: id.OPENID_ROLE_SYNC_SOURCE=id
OPENID_ROLE_SYNC_CLAIMstringSağlayıcı rollerini veya gruplarını içeren talep yolu. Rol senkronizasyonu etkinleştirildiğinde gereklidir.OPENID_ROLE_SYNC_CLAIM=
OPENID_ROLE_SYNC_ROLE_PRIORITYstringEn önemliden en aza doğru sıralanmış, virgülle ayrılmış LibreChat rolleri. İlk eşleşen rol atanır.OPENID_ROLE_SYNC_ROLE_PRIORITY=Support,User
OPENID_ROLE_SYNC_FALLBACK_ROLEstringHiçbir öncelikli rol eşleşmediğinde atanan LibreChat rolü. Yapılandırıldığında yedek rol yetkilidir.OPENID_ROLE_SYNC_FALLBACK_ROLE=USER
OPENID_BUTTON_LABELstringOpenID giriş düğmesi için etiket.OPENID_BUTTON_LABEL=
OPENID_IMAGE_URLstringOpenID giriş düğmesi görselinin URL'si.OPENID_IMAGE_URL=
OPENID_USE_END_SESSION_ENDPOINTstringOturum Kapatma Yönlendirmesi olarak Issuer End Session endpoint'inin kullanılıp kullanılmayacağıOPENID_USE_END_SESSION_ENDPOINT=TRUE
OPENID_MAX_LOGOUT_URL_LENGTHnumberid_token_hint yerine logout_hint kullanılmadan önceki maksimum çıkış URL'si uzunluğu. Varsayılan: 2000.# OPENID_MAX_LOGOUT_URL_LENGTH=2000
OPENID_AUTO_REDIRECTbooleanOpenID sağlayıcısına otomatik olarak yönlendirilip yönlendirilmeyeceği.OPENID_AUTO_REDIRECT=true
OPENID_USE_PKCEbooleanOpenID kimlik doğrulaması için PKCE (Proof Key for Code Exchange) kullanın. İstemci gizli anahtarı (client secret) olmayan genel istemciler için OPENID_CLIENT_SECRET değerini boş bırakın ve bunu true olarak ayarlayın.# OPENID_USE_PKCE=true
OPENID_POST_LOGOUT_REDIRECT_URIstringOpenID çıkışından sonraki yönlendirme URI'si. Varsayılan değer ${DOMAIN_CLIENT}/login şeklindedir.# OPENID_POST_LOGOUT_REDIRECT_URI=
OPENID_CLOCK_TOLERANCEnumberToken doğrulama için saniye cinsinden saat toleransı. Varsayılan: 300.# OPENID_CLOCK_TOLERANCE=300
OPENID_GENERATE_NONCEbooleanOpenID istemcisini bir nonce parametresi oluşturmaya zorlar. AWS Cognito (özellikle federasyon ile) ve Authentik gibi bazı kimlik sağlayıcılar tarafından gereklidir.OPENID_GENERATE_NONCE=true
DEBUG_OPENID_REQUESTSbooleanOpenID istek başlıklarının ayrıntılı günlüğe kaydedilmesini etkinleştirin. Devre dışı bırakıldığında (varsayılan), hata ayıklama düzeyinde yalnızca istek URL'leri günlüğe kaydedilir. Etkinleştirildiğinde, kimlik doğrulama sorunlarının daha derinlemesine hata ayıklaması için istek başlıkları da (hassas veriler maskelenmiş olarak) günlüğe kaydedilir.DEBUG_OPENID_REQUESTS=false
OPENID_USERNAME_CLAIMstringKullanıcının kullanıcı adı olarak saklanacak OpenID sağlayıcısından gelen kullanıcı bilgisi özelliği.OPENID_USERNAME_CLAIM=
OPENID_NAME_CLAIMstringKullanıcının görünen adı olarak kaydedilecek OpenID sağlayıcısından gelen kullanıcı bilgisi özelliği.OPENID_NAME_CLAIM=
OPENID_EMAIL_CLAIMstringKullanıcı eşleştirme için e-posta/tanımlayıcı olarak kullanılacak kullanıcı bilgisi talebi (örneğin, Entra ID için "upn"). Ayarlanmadığında varsayılan olarak şunları kullanır: email → preferred_username → upn.OPENID_EMAIL_CLAIM=

OpenID rol senkronizasyonu

OPENID_ROLE_SYNC_CLAIM, rol senkronizasyonu etkinleştirildiğinde gereklidir. OPENID_ROLE_SYNC_API_ENABLED=true ayarı ayrıca OPENID_ROLE_SYNC_ENABLED=true olmasını gerektirir. Genel rol senkronizasyonu ADMIN ataması yapamaz; yönetici yetkisi yükseltme için OPENID_ADMIN_ROLE kullanın.

OpenID Connect Belirteç Yeniden Kullanımı

LibreChat, kullanıcı kimlik doğrulama durumunu yönetmek için OpenID Connect sağlayıcınız (Azure Entra ID veya Auth0 gibi) tarafından verilen erişim ve yenileme belirteçlerinin (access and refresh tokens) yeniden kullanılmasını destekler. Bu özellik etkinleştirildiğinde, kullanıcıya çerez olarak iletilen yenileme belirteci, LibreChat yerine OpenID sağlayıcınız tarafından verilir.

KeyTypeDescriptionExample
OPENID_REUSE_TOKENSbooleanOturum yönetimi için OpenID sağlayıcı belirteçlerinin yeniden kullanımını etkinleştirin.OPENID_REUSE_TOKENS=false
OPENID_SCOPEstringBoşlukla ayrılmış OpenID kapsamları listesi. Token yeniden kullanımı için offline_access içermelidir.OPENID_SCOPE=api://librechat/.default openid profile email offline_access
OPENID_AUDIENCEstringOpenID JWT doğrulama ve yetkilendirme istekleri için Audience değeri. JWT doğrulaması için virgülle ayrılmış değerler kabul edilir; yetkilendirme istekleri ilk boş olmayan değeri kullanır. OPENID_REUSE_TOKENS=true olduğunda Auth0 için gereklidir. Yukarıdaki ana OpenID bölümündeki nota bakın.OPENID_AUDIENCE=https://api.librechat.com
OPENID_REUSE_MAX_SESSION_AGE_MSnumberLibreChat'in bir IdP yenilemesini zorunlu kılmadan önce yeniden kullanılan bir OpenID oturum belirtecinin sunulduğu maksimum süre. Varsayılan: 900000 ms / 15 dakika.OPENID_REUSE_MAX_SESSION_AGE_MS=900000
OPENID_JWKS_URL_CACHE_ENABLEDbooleanİmza anahtarı doğrulama sonuçlarının önbelleğe alınmasını etkinleştirin.OPENID_JWKS_URL_CACHE_ENABLED=true
OPENID_JWKS_URL_CACHE_TIMEnumberMilisaniye cinsinden önbellek süresi (varsayılan: 600000 ms / 10 dakika).OPENID_JWKS_URL_CACHE_TIME=600000
OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIREDbooleanKullanıcı bilgileri için on-behalf-of akışını etkinleştir.OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=true
OPENID_ON_BEHALF_FLOW_USERINFO_SCOPEstringAdına hareket etme (on-behalf-of) akışında kullanıcı bilgisi kapsamı.OPENID_ON_BEHALF_FLOW_USERINFO_SCOPE=user.read
OPENID_USE_END_SESSION_ENDPOINTbooleanOturumu kapatmak için end session endpoint kullanımını etkinleştirin.OPENID_USE_END_SESSION_ENDPOINT=true
OPENID_MAX_LOGOUT_URL_LENGTHnumberlogout_hint'e geçmeden önceki maksimum çıkış URL'si uzunluğu (karakter cinsinden). id_token_hint sunucu sınırlarını aştığında URI çok uzun hatalarını önlemek için kullanışlıdır. Varsayılan: 2000.OPENID_MAX_LOGOUT_URL_LENGTH=2000

OPENID_REUSE_MAX_SESSION_AGE_MS, SESSION_EXPIRY gibi aritmetik ifadeleri kabul eder. Sağlayıcınız yenileme sırasında önceki erişim belirtecini (access token) iptal ettiğinde, MCP sunucuları gibi alt tüketicilerin hala geçerli olan bir taşıyıcı belirteci (bearer token) kullanmayı tamamlayabilmesi için bu değeri IdP erişim belirteci ömrüne doğru artırın.

Not

Ayrıntılı yapılandırma adımları ve ön koşullar için Re-use OpenID Tokens for Login Session bölümüne bakın.

Microsoft Graph API / Entra ID Entegrasyonu

Azure Entra ID'yi (eski adıyla Azure AD) OpenID sağlayıcınız olarak kullanırken, izinler ve paylaşım sistemi dahilinde gelişmiş kişi ve grup arama özellikleri için ek Microsoft Graph API özelliklerini etkinleştirebilirsiniz.

KeyTypeDescriptionExample
USE_ENTRA_ID_FOR_PEOPLE_SEARCHbooleanİzinler/paylaşım sisteminde Entra ID kişi arama entegrasyonunu etkinleştirin. Etkinleştirildiğinde, kişi seçici hem yerel veritabanında hem de Entra ID üzerinde arama yapacaktır.USE_ENTRA_ID_FOR_PEOPLE_SEARCH=false
ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERSbooleanEtkinleştirildiğinde, Entra ID grup sahipleri grubun üyeleri olarak kabul edilecektir.ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERS=false
OPENID_GRAPH_SCOPESstringKişi/grup araması için gereken Microsoft Graph API kapsamları. Varsayılan kapsamlar, kullanıcı profillerine ve grup üyeliklerine erişim sağlar.OPENID_GRAPH_SCOPES=User.Read,People.Read,GroupMember.Read.All,User.ReadBasic.All

Önemli Ön Koşullar

  • Azure Entra ID'nin OpenID sağlayıcınız olarak yapılandırılmış olması gerekir - OpenID token yeniden kullanımı ETKİNLEŞTİRİLMELİDİR (OPENID_REUSE_TOKENS=true) - bu özellik bu ayar olmadan çalışmayacaktır - Azure uygulama kaydınızın uygun Microsoft Graph API izinlerine sahip olması gerekir - Grup arama işlevi için, belirli Graph API kapsamları için yönetici onayı gerekebilir
SharePoint Entegrasyonu

LibreChat, SharePoint Online ve OneDrive for Business ile doğrudan entegrasyonu destekleyerek kullanıcıların SharePoint kütüphanelerindeki dosyaları seçip doğrudan sohbetler içinde eklemelerine olanak tanır. Bu kurumsal özellik, mevcut Azure Entra ID kimlik doğrulamasından yararlanır.

KeyTypeDescriptionExample
ENABLE_SHAREPOINT_FILEPICKERbooleanSohbet ve aracı panellerinde SharePoint dosya seçiciyi etkinleştirin. Etkinleştirildiğinde, dosya ekleme menüsüne "SharePoint'ten" seçeneğini ekler.ENABLE_SHAREPOINT_FILEPICKER=true
SHAREPOINT_BASE_URLstringSharePoint kiracı temel URL'si. SharePoint entegrasyonu etkinleştirildiğinde gereklidir.SHAREPOINT_BASE_URL=https://yourtenant.sharepoint.com
SHAREPOINT_PICKER_SHAREPOINT_SCOPEstringDosya seçici için SharePoint'e özgü OAuth kapsamı. SharePoint dosya seçici arayüzü açılırken kimlik doğrulaması için kullanılır.SHAREPOINT_PICKER_SHAREPOINT_SCOPE=https://yourtenant.sharepoint.com/AllSites.Read
SHAREPOINT_PICKER_GRAPH_SCOPEstringDosya indirmeleri için Microsoft Graph API kapsamı. Seçimden sonra SharePoint'ten dosya indirmek için kullanılır.SHAREPOINT_PICKER_GRAPH_SCOPE=Files.Read.All

Kritik Gereksinimler

SharePoint entegrasyonunun çalışması için aşağıdakilerin tümü yapılandırılmalıdır:

  • Azure Entra ID kimlik doğrulaması tam olarak yapılandırılmış olmalıdır
  • OPENID_REUSE_TOKENS=true zorunludur (on-behalf-of token akışını kullanır)
  • OPENID_SCOPE ifadesi, LibreChat uygulama API kapsamınızı içermelidir; örneğin api://<client-id>/access_as_user
  • Azure Entra ID ile bu app-audience kapsamını kullanırken OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=true gereklidir.
  • Azure uygulama kaydınızın SharePoint ve Graph API izinlerine sahip olması gerekir
  • Azure uygulama kaydınız, OPENID_SCOPE içinde kullanılan LibreChat API kapsamını (scope) dışa aktarmalıdır.
  • Dört SharePoint ortam değişkeninin tamamı ayarlanmalıdır
  • Üretim ortamlarında HTTPS gereklidir

Özellik Yetenekleri

Etkinleştirildiğinde, kullanıcılar şunları yapabilir:

  • SharePoint belge kitaplıklarından ve OneDrive for Business'tan dosyalara erişebilir
  • Aynı anda birden fazla dosya seçebilir (varsayılan maksimum: 10 dosya)
  • Gerçek zamanlı indirme ilerlemesini görebilir
    • Dosyalar indirilir ve normal yüklemeler gibi konuşmaya eklenir

Ayrıntılı SharePoint yapılandırma talimatları için bkz: SharePoint Integration Guide

SAML

Daha fazla bilgi için:

OpenID ve SAML'in Karşılıklı Dışlanması

OpenID etkinleştirilmişse, SAML kimlik doğrulaması otomatik olarak devre dışı bırakılacaktır.

Aynı anda yalnızca bir kimlik doğrulama yöntemi aktif olabilir.

KeyTypeDescriptionExample
SAML_ENTRY_POINTstringSAML kimlik sağlayıcı (IdP) giriş noktası URL'si.SAML_ENTRY_POINT=
SAML_ISSUERstringSAML hizmet sağlayıcı (SP) varlık kimliği.SAML_ISSUER=
SAML_CERTstringBir dosya yolu veya tek satırlık PEM dizgisi olarak sağlanan SAML imzalama sertifikası.SAML_CERT=
SAML_CALLBACK_URLstringSAML kimlik doğrulaması için geri çağırma (callback) URL'si.SAML_CALLBACK_URL=/oauth/saml/callback
SAML_SESSION_SECRETstringSAML oturum depolaması için gizli anahtar.SAML_SESSION_SECRET=
SAML_EMAIL_CLAIMstring<Optional>: SAML iddiasında kullanıcı e-postasını içeren öznitelik. (varsayılan: email)SAML_EMAIL_CLAIM=
SAML_USERNAME_CLAIMstring<Optional>: SAML iddiasında kullanıcı adını içeren öznitelik. (varsayılan: username)SAML_USERNAME_CLAIM=
SAML_GIVEN_NAME_CLAIMstring<Optional>: SAML iddiasında ad bilgisini içeren öznitelik. (varsayılan: given_name)SAML_GIVEN_NAME_CLAIM=
SAML_FAMILY_NAME_CLAIMstring<Optional>: SAML iddiasında soyadını içeren öznitelik. (varsayılan: family_name)SAML_FAMILY_NAME_CLAIM=
SAML_PICTURE_CLAIMstring<Optional>: SAML onayında profil resmi URL'sini içeren öznitelik. (varsayılan: picture)SAML_PICTURE_CLAIM=
SAML_NAME_CLAIMstring<Optional>: SAML iddiasında tam adı içeren öznitelik.SAML_NAME_CLAIM=
SAML_BUTTON_LABELstring<Optional>: SAML giriş düğmesi için etiket.SAML_BUTTON_LABEL=
SAML_IMAGE_URLstring<Optional>: SAML giriş düğmesi görselinin URL'si.SAML_IMAGE_URL=
SAML_USE_AUTHN_RESPONSE_SIGNEDboolean<Optional>: "true" ise, tüm SAML Yanıtını imzalar. Aksi takdirde, yalnızca Assertion imzalanır (varsayılan).SAML_USE_AUTHN_RESPONSE_SIGNED=

LDAP/AD Kimlik Doğrulaması

Daha fazla bilgi için: LDAP/AD Authentication

KeyTypeDescriptionExample
LDAP_URLstringLDAP sunucu URL'si.LDAP_URL=ldap://localhost:389
LDAP_BIND_DNstringBağlama DNLDAP_BIND_DN=cn=root
LDAP_BIND_CREDENTIALSstringbindDN için parolaLDAP_BIND_CREDENTIALS=password
LDAP_USER_SEARCH_BASEstringLDAP kullanıcı arama tabanıLDAP_USER_SEARCH_BASE=o=users,o=example.com
LDAP_SEARCH_FILTERstringLDAP arama filtresiLDAP_SEARCH_FILTER=mail={{username}}
LDAP_CA_CERT_PATHstringCA sertifika yolu.LDAP_CA_CERT_PATH=/path/to/root_ca_cert.crt
LDAP_TLS_REJECT_UNAUTHORIZEDstringLDAP TLS doğrulamasıLDAP_TLS_REJECT_UNAUTHORIZED=true
LDAP_STARTTLSstringBağlantıyı TLS'ye yükseltmek için LDAP StartTLS'yi etkinleştirin. Bu özelliği etkinleştirmek için true olarak ayarlayın.LDAP_STARTTLS=true
LDAP_LOGIN_USES_USERNAMEbooleanLDAP girişi için e-posta yerine kullanıcı adı kullanın.# LDAP_LOGIN_USES_USERNAME=true
LDAP_IDstringBenzersiz kullanıcı kimliği için LDAP özniteliği. Varsayılan: uid veya sAMAccountName, mail.# LDAP_ID=uid
LDAP_USERNAMEstringKullanıcı adı için LDAP özniteliği. Varsayılan: givenName veya mail.# LDAP_USERNAME=givenName
LDAP_EMAILstringE-posta için LDAP özniteliği. Varsayılan: mail.# LDAP_EMAIL=userPrincipalName
LDAP_FULL_NAMEstringTam ad için LDAP özniteliği/öznitelikleri. Virgülle ayrılabilir. Varsayılan: givenName + surname.# LDAP_FULL_NAME=givenName,surname

Parola Sıfırlama

E-posta, hesap doğrulama ve şifre sıfırlama işlemleri için kullanılır. LibreChat hem Mailgun API'yi hem de geleneksel SMTP hizmetlerini destekler. Bkz: E-posta kurulumu

Önemli Not: E-postanın çalışması için ya Mailgun'ı (SMTP'yi engelleyen sunucular için önerilir) ya da SMTP'yi yapılandırmanız gerekir.

Uyarı: Mailgun veya SMTP için geçerli değerlerin ayarlanmaması, LibreChat'in güvenli olmayan parola sıfırlama yöntemini kullanmasına neden olacaktır!

Mailgun, SMTP portlarını engelleyen sunuculardaki dağıtımlar için özellikle kullanışlıdır. Hem MAILGUN_API_KEY hem de MAILGUN_DOMAIN ayarlandığında, LibreChat SMTP yerine Mailgun kullanacaktır.

KeyTypeDescriptionExample
MAILGUN_API_KEYstringMailgun API anahtarınız (Mailgun için gereklidir).MAILGUN_API_KEY=
MAILGUN_DOMAINstringMailgun alan adınız (Mailgun için gereklidir).MAILGUN_DOMAIN=mg.yourdomain.com
MAILGUN_HOSTstringÖzel Mailgun API ana bilgisayarı (isteğe bağlı). AB bölgesi için https://api.eu.mailgun.net kullanın.MAILGUN_HOST=https://api.mailgun.net
EMAIL_FROMstringGönderen e-posta adresi. Zorunlu.[email protected]
EMAIL_FROM_NAMEstringGönderen adı (ayarlanmazsa varsayılan olarak APP_TITLE kullanılır).EMAIL_FROM_NAME=

SMTP Yapılandırması

Mailgun yapılandırılmamışsa, LibreChat SMTP ayarlarına geri dönecektir.

Uyarı: EMAIL_SERVICE kullanıyorsanız, genişletilmiş bağlantı parametrelerini ayarlamayın: HOST, PORT, ENCRYPTION, ENCRYPTION_HOSTNAME, ALLOW_SELFSIGNED.

Bkz: nodemailer well-known-services

KeyTypeDescriptionExample
EMAIL_SERVICEstringE-posta hizmeti (ör. Gmail, Outlook).EMAIL_SERVICE=
EMAIL_HOSTstringPosta sunucusu ana makinesi.EMAIL_HOST=
EMAIL_PORTnumberPosta sunucusu portu.EMAIL_PORT=25
EMAIL_ENCRYPTIONstringŞifreleme yöntemi (starttls, tls, vb.).EMAIL_ENCRYPTION=
EMAIL_ENCRYPTION_HOSTNAMEstringŞifreleme için ana bilgisayar adı (hostname).EMAIL_ENCRYPTION_HOSTNAME=
EMAIL_ALLOW_SELFSIGNEDbooleanKendinden imzalı sertifikalara izin ver.EMAIL_ALLOW_SELFSIGNED=
EMAIL_USERNAMEstringKimlik doğrulama için kullanıcı adı.EMAIL_USERNAME=
EMAIL_PASSWORDstringKimlik doğrulama için parola.EMAIL_PASSWORD=
EMAIL_FROM_NAMEstringGönderen adıEMAIL_FROM_NAME=
EMAIL_FROMstringGönderen e-posta adresi. Zorunlu.[email protected]

Firebase CDN

Bkz: Firebase CDN Yapılandırması

Önemli

  • Eğer dosya depolama stratejiniz olarak Firebase kullanıyorsanız, librechat.yaml yapılandırma dosyanızda fileStrategy veya fileStrategies değerini firebase olarak ayarlayın. librechat.yaml dosyasını yapılandırma hakkında daha fazla bilgi için lütfen YAML Yapılandırma Kılavuzuna bakın: Özel Endpoint'ler & Yapılandırma
KeyTypeDescriptionExample
FIREBASE_API_KEYstringFirebase projeniz için API anahtarı.FIREBASE_API_KEY=
FIREBASE_AUTH_DOMAINstringProjeniz için Firebase Auth alanı.FIREBASE_AUTH_DOMAIN=
FIREBASE_PROJECT_IDstringFirebase projenizin kimliği (ID).FIREBASE_PROJECT_ID=
FIREBASE_STORAGE_BUCKETstringProjeniz için Firebase Storage bucket'ı.FIREBASE_STORAGE_BUCKET=
FIREBASE_MESSAGING_SENDER_IDstringFirebase Cloud Messaging gönderici kimliği.FIREBASE_MESSAGING_SENDER_ID=
FIREBASE_APP_IDstringProjeniz için Firebase Uygulama Kimliği (App ID).FIREBASE_APP_ID=

Amazon S3 ve CloudFront

Bkz: Amazon S3 Yapılandırması ve S3 ile CloudFront

Önemli

Dosya depolama stratejiniz olarak S3 kullanıyorsanız, librechat.yaml yapılandırma dosyanızda fileStrategy veya fileStrategies ayarını yapın. CloudFront kullanıyorsanız, depolama kaynağı olarak yine de S3 gereklidir.

KeyTypeDescriptionExample
AWS_ACCESS_KEY_IDstringIAM kullanıcı erişim anahtarı kimliğiniz. IRSA kullanılıyorsa isteğe bağlıdır.AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEYstringIAM kullanıcı gizli erişim anahtarınız. IRSA kullanılıyorsa isteğe bağlıdır.AWS_SECRET_ACCESS_KEY=your_secret_access_key
AWS_REGIONstringS3 paketinizin bulunduğu AWS bölgesi.AWS_REGION=us-east-1
AWS_BUCKET_NAMEstringDosya depolama için S3 bucket adı.AWS_BUCKET_NAME=your_bucket_name
AWS_ENDPOINT_URLstringÖzel AWS endpoint URL'si (isteğe bağlı). S3 uyumlu hizmetler için. https://a7g8.da.idrivee2-32.com gibi URL şemasını dahil edin.# AWS_ENDPOINT_URL=https://your_endpoint_url
AWS_FORCE_PATH_STYLEbooleanYol stili URL'ler gerektiren S3 uyumlu sağlayıcılar (örneğin MinIO, Hetzner, Backblaze B2) için true olarak ayarlayın. AWS S3 için gerekli değildir. Varsayılan: false.# AWS_FORCE_PATH_STYLE=false
CLOUDFRONT_KEY_PAIR_IDstringCloudFront ortak anahtar çifti kimliği. İmzalı çerezler ve imzalı CloudFront indirme URL'leri için gereklidir.# CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC
CLOUDFRONT_PRIVATE_KEYstringCloudFront özel anahtarı PEM. İmzalı çerezler ve imzalı CloudFront indirme URL'leri için gereklidir. Bu gizli anahtarı eklerken PEM satır sonlarını koruyun.# CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"

Not: Kubernetes dağıtımları için (örneğin EKS üzerinde), açık kimlik bilgileri sağlamak yerine IRSA (IAM Roles for Service Accounts) kullanabilirsiniz. Bu durumda, yalnızca AWS_REGION ve AWS_BUCKET_NAME gereklidir.

Azure Blob Storage CDN

Bkz: Azure Blob Storage CDN Yapılandırması

Önemli

Azure Blob Storage'ı dosya depolama stratejiniz olarak kullanıyorsanız, librechat.yaml yapılandırma dosyanızda fileStrategy veya fileStrategies değerini azure_blob olarak ayarlayın.

KeyTypeDescriptionExample
AZURE_STORAGE_CONNECTION_STRINGstringAzure Blob Storage bağlantı dizesi. Bunu VEYA Yönetilen Kimlik için AZURE_STORAGE_ACCOUNT_NAME kullanın.AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=...
AZURE_STORAGE_ACCOUNT_NAMEstringAzure Storage hesap adı. Yönetilen Kimlik (Managed Identity) kimlik doğrulaması için kullanın (bağlantı dizesini ayarlamayın).# AZURE_STORAGE_ACCOUNT_NAME=yourAccountName
AZURE_STORAGE_PUBLIC_ACCESSbooleanBloblar için genel erişimi etkinleştirin. Varsayılan: false.AZURE_STORAGE_PUBLIC_ACCESS=false
AZURE_CONTAINER_NAMEstringDosya depolama için kapsayıcı adı. Varsayılan: files.AZURE_CONTAINER_NAME=files

Not: AZURE_STORAGE_CONNECTION_STRING (Seçenek A) veya Yönetilen Kimlik (Managed Identity) ile AZURE_STORAGE_ACCOUNT_NAME (Seçenek B) seçeneklerinden birini kullanın, ikisini birden kullanmayın.

Arayüz

Yardım ve SSS Düğmesi

KeyTypeDescriptionExample
HELP_AND_FAQ_URLstringYardım ve SSS URL'si. Boş veya yorum satırı halindeyse buton etkindir. Yardım ve SSS butonunu devre dışı bırakmak için "/" olarak ayarlayın.HELP_AND_FAQ_URL=https://librechat.ai

Davranış:

Statik dosyalar için Cache-Control başlıklarını ayarlar. Bu yapılandırmalar yalnızca NODE_ENV değeri production olarak ayarlandığında tetiklenir.

Önbellek başlıklarını doğru bir şekilde ayarlamak, web uygulamanızın performansını ve verimliliğini optimize etmek için çok önemlidir. Tarayıcıların ve CDN'lerin statik dosyalarınızın kopyalarını ne kadar süre saklayacağını kontrol ederek, sunucu yükünü önemli ölçüde azaltabilir, sayfa yükleme sürelerini kısaltabilir ve genel kullanıcı deneyimini iyileştirebilirsiniz.

  • Statik dosyalar için max-age değerini değiştirmek üzere STATIC_CACHE_MAX_AGE satırının yorum işaretini kaldırın. Bu değer varsayılan olarak 4 haftaya ayarlıdır.
  • Statik dosyalar için s-maxage değerini değiştirmek üzere STATIC_CACHE_S_MAX_AGE satırının yorum işaretini kaldırın. Bu değer varsayılan olarak 1 haftaya ayarlanmıştır.
    • Bu, CDN'ler ve vekiller (proxies) tarafından kullanılan paylaşılan önbellek (shared cache) içindir.
KeyTypeDescriptionExample
APP_TITLEstringUygulama başlığı.APP_TITLE=LibreChat
CUSTOM_FOOTERstringÖzel alt bilgi.# CUSTOM_FOOTER="My custom footer"
TEMP_CHAT_RETENTION_HOURSnumber**Kullanımdan kaldırıldı:** Bunun yerine librechat.yaml içinde `interface.temporaryChatRetention` kullanın. Geçici sohbetlerin tutulacağı saat süresi. Varsayılan: 720 (30 gün).# TEMP_CHAT_RETENTION_HOURS=168

Davranış:

  • Özel bir alt bilgi eklemek için CUSTOM_FOOTER satırının yorum işaretini kaldırın.
  • Alt bilgiyi kaldırmak için CUSTOM_FOOTER satırının yorum işaretini kaldırın ve içeriğini boş bırakın.
  • You can now add one or more links in the CUSTOM_FOOTER value using the following format: [Anchor text](URL). Each link should be delineated with a pipe (|).

Markdown örneği: CUSTOM_FOOTER=[Link 1](http://example1.com) | [Link 2](http://example2.com)

Doğum Günü Şapkası

KeyTypeDescriptionExample
SHOW_BIRTHDAY_ICONbooleanDoğum günü şapkası simgesini göster.# SHOW_BIRTHDAY_ICON=true

Davranış:

  • Doğum günü şapkası simgesi 11 Şubat'ta (LibreChat'in doğum günü) otomatik olarak görünecektir.
  • Doğum günü şapkasını devre dışı bırakmak için SHOW_BIRTHDAY_ICON değerini false olarak ayarlayın.
  • SHOW_BIRTHDAY_ICON değerini true olarak ayarlayarak doğum günü şapkasını her zaman etkinleştirin.

Analitik

Google Tag Manager

LibreChat, analizler için Google Tag Manager desteği sunar. LibreChat içinde bunu etkinleştirmek için bir Google Tag Manager kimliğine ihtiyacınız olacaktır. Bir Google Tag Manager kimliği oluşturmak ve Google Analytics'i yapılandırmak için bu kılavuzu takip edin. Ardından ANALYTICS_GTM_ID ortam değişkenini Google Tag Manager kimliğinize ayarlayın.

Not: ANALYTICS_GTM_ID ayarlanmamışsa, Google Tag Manager etkinleştirilmeyecektir. Yanlış ayarlanırsa, gtm.js dosyasına yönelik başarısız istekler görürsünüz.

KeyTypeDescriptionExample
ANALYTICS_GTM_IDstringGoogle Tag Manager Kimliği.ANALYTICS_GTM_ID=

Sohbet İçe Aktarma

Bellek sorunlarını önlemek için sohbet dosyası içe aktarma sınırlarını yapılandırın.

KeyTypeDescriptionExample
CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTESnumberSohbet içe aktarımları için bayt cinsinden maksimum dosya boyutu. Varsayılan: 0 (sınır uygulanmaz). Örnek: 262144000 (250 MiB).# CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTES=262144000

Satır İçi Dosya Önizlemeleri

LibreChat'in satır içi önizleme çıkarmayı atlayıp dosyaları yalnızca indirilebilir bırakmadan önce oluşturulan dosyaların ne kadar büyük olabileceğini kontrol edin.

KeyTypeDescriptionExample
FILE_PREVIEW_MAX_EXTRACT_BYTESnumberKod yürütme yapısı satır içi önizlemeleri için bayt cinsinden maksimum kaynak dosyası boyutu. Varsayılan: 2097152 (2 MiB). Oluşturulan HTML önizlemeleri ayrıca ayrı olarak sınırlandırılmıştır, bu nedenle çok zengin dosyalar bu değerin altında kalsalar bile önizlemeyi atlayabilirler.# FILE_PREVIEW_MAX_EXTRACT_BYTES=2097152

MCP (Model Context Protocol)

Gelişmiş sunucu yönetimi ve OAuth desteği için Model Context Protocol ayarlarını yapılandırın.

MCP Sunucu Yapılandırması

KeyTypeDescriptionExample
MCP_OAUTH_ON_AUTH_ERRORbooleanOAuth meta verisi bulunamadığında 401/403 yanıtlarını OAuth gereksinimi olarak ele al.MCP_OAUTH_ON_AUTH_ERROR=true
MCP_OAUTH_DETECTION_TIMEOUTnumberOAuth algılama istekleri için milisaniye cinsinden zaman aşımı süresi.MCP_OAUTH_DETECTION_TIMEOUT=5000
MCP_OAUTH_HANDLING_TIMEOUTnumberLibreChat'in bir kullanıcının MCP OAuth akışını tamamlamasını bekleme süresi. Varsayılan: 600000 ms (10 dakika).MCP_OAUTH_HANDLING_TIMEOUT=600000
MCP_OAUTH_FLOW_TTLnumberMCP OAuth akış durumunun ne kadar süreyle tutulacağı. LibreChat, bunu MCP_OAUTH_HANDLING_TIMEOUT değerinin üzerinde tutarak süre sonuna yakın geri çağırmaların tamamlanabilmesini sağlar. Varsayılan: 900000 ms (15 dakika).MCP_OAUTH_FLOW_TTL=900000
MCP_CONNECTION_CHECK_TTLnumberPahalı doğrulamalardan kaçınmak için önbellek bağlantı durumu kontrollerini bu kadar milisaniye boyunca tutun.MCP_CONNECTION_CHECK_TTL=30000
MCP_TOOLS_LIST_MAX_PAGESnumberBir MCP sunucusu araç listesini sayfalara böldüğünde (imleç tabanlı sayfalama) talep edilecek maksimum araç/liste sayfası sayısı. Hatalı bir sunucunun araç keşfini durdurmasını engellemek için sayfalama döngüsünü sınırlar. Minimum 1 olacak şekilde sabitlenmiştir. Varsayılan: 50.MCP_TOOLS_LIST_MAX_PAGES=50
MCP_SKIP_CODE_CHALLENGE_CHECKbooleanKod doğrulama yöntemi denetimini atla. true olarak ayarlandığında, .well-known/openid-configuration içinde belirtilmese bile S256 kod doğrulamasını zorunlu kılarMCP_SKIP_CODE_CHALLENGE_CHECK=false
MCP_STREAMABLE_HTTP_MAX_RESPONSE_BYTESnumberReddedilmeden önce GET olmayan stream edilebilir bir HTTP MCP yanıtında izin verilen maksimum bayt sayısı. Devre dışı bırakmak için 0 olarak ayarlayın. Varsayılan: 16777216 (16 MiB).# MCP_STREAMABLE_HTTP_MAX_RESPONSE_BYTES=16777216
MCP_STREAMABLE_HTTP_MAX_LINE_BYTESnumberGET olmayan stream edilebilir HTTP MCP yanıtları için bir SSE satırında izin verilen maksimum bayt sayısı. Devre dışı bırakmak için 0 olarak ayarlayın. Varsayılan: 5242880 (5 MiB).# MCP_STREAMABLE_HTTP_MAX_LINE_BYTES=5242880

Diğer

Redis

Redis, LibreChat için önemli performans iyileştirmeleri sağlar ve yatay ölçeklendirme yeteneklerini mümkün kılar.

Not: Redis desteği deneyseldir ve kullanırken bazı sorunlarla karşılaşabilirsiniz.

Önemli: Redis kullanıyorsanız, herhangi bir LibreChat ayarını değiştirdikten sonra önbelleği temizlemelisiniz.

Ayrıntılı yapılandırma ve örnekler için bkz: Redis Configuration Guide

KeyTypeDescriptionExample
USE_REDISbooleanÖnbelleğe alma ve oturum depolama için Redis'i etkinleştirin. true olduğunda, REDIS_URI sağlanmalıdır.USE_REDIS=true
USE_REDIS_STREAMSbooleanDevam ettirilebilir LLM akışları için Redis'i etkinleştirin. Ayarlanmadığı takdirde varsayılan olarak USE_REDIS değerini kullanır. Akışlar için bellek içi depolama kullanmak üzere false olarak ayarlayın.# USE_REDIS_STREAMS=true
REDIS_URIstringRedis bağlantı URI'si. Tek örnek için: `redis://host:port`. Küme için: virgülle ayrılmış URI'ler.REDIS_URI=redis://127.0.0.1:6379
USE_REDIS_CLUSTERbooleanTek bir URI kullanırken Redis küme modunu etkinleştirin# USE_REDIS_CLUSTER="true"
REDIS_CLUSTER_SAFE_DELETEbooleanDahili olarak anahtarları parçalayan tek uç noktalı yönetilen Redis hizmetlerinde CROSSSLOT hatalarını önlemek için Redis önbellek anahtarlarını tek tek silin.# REDIS_CLUSTER_SAFE_DELETE=true
REDIS_USERNAMEstringKimlik doğrulama için Redis kullanıcı adı. Her ikisi de sağlandığında URI içindeki kullanıcı adını geçersiz kılar.# REDIS_USERNAME=your_redis_username
REDIS_PASSWORDstringKimlik doğrulama için Redis parolası. Her ikisi de sağlandığında URI içindeki parolayı geçersiz kılar.# REDIS_PASSWORD=your_redis_password
REDIS_CAstringrediss:// protokolü kullanılırken TLS doğrulaması için CA sertifikasına giden yol.# REDIS_CA=/path/to/ca-cert.pem
REDIS_KEY_PREFIXstringÇapraz dağıtım kirlenmesini önlemek için tüm Redis anahtarları için statik önek.# REDIS_KEY_PREFIX=librechat-prod-v2
REDIS_KEY_PREFIX_VARstringDinamik önek içeren ortam değişkeni adı (örneğin, Cloud Run için K_REVISION). REDIS_KEY_PREFIX ile birlikte kullanılamaz.# REDIS_KEY_PREFIX_VAR=K_REVISION
REDIS_MAX_LISTENERSnumberRedis istemcisi başına maksimum olay dinleyicisi. Bellek sızıntılarını önler. Varsayılan: 40.# REDIS_MAX_LISTENERS=40
REDIS_PING_INTERVALnumberBağlantıları sürdürmek için saniye cinsinden ping aralığı. Varsayılan: 0 (devre dışı). Yalnızca zaman aşımı sorunları yaşıyorsanız ayarlayın.# REDIS_PING_INTERVAL=300
FORCED_IN_MEMORY_CACHE_NAMESPACESstringRedis etkinleştirildiğinde bile bellek içi depolamayı zorunlu kılacak virgülle ayrılmış önbellek anahtarları.# FORCED_IN_MEMORY_CACHE_NAMESPACES=ROLES,MESSAGES
REDIS_USE_ALTERNATIVE_DNS_LOOKUPbooleanAWS Elasticache ile TLS bağlantıları için alternatif dnsLookup özelliğini etkinleştirin. TLS özellikli Elasticache kümeleri için gereklidir.# REDIS_USE_ALTERNATIVE_DNS_LOOKUP=true

Notlar:

  • USE_REDIS=true olduğunda, REDIS_URI sağlamanız gerekir, aksi takdirde uygulama bir hata verecektir.
  • Redis Cluster modu için birden fazla URI sağlayın: redis://node1:7001,redis://node2:7002,redis://node3:7003 (cluster modu otomatik olarak algılanır).
  • Dahili olarak anahtarları parçalayan (shard) tek uç noktalı yönetilen Redis hizmetleri için USE_REDIS_CLUSTER=false ayarını koruyun ve önbellek temizleme işlemleri CROSSSLOT hatalarıyla başarısız olursa REDIS_CLUSTER_SAFE_DELETE=true olarak ayarlayın.
  • TLS bağlantıları için rediss:// protokolünü kullanın ve CA'niz herkese açık olarak güvenilir değilse REDIS_CA ayarını yapın.
  • REDIS_KEY_PREFIX_VAR ve REDIS_KEY_PREFIX birbirini dışlayan değişkenlerdir.
  • AWS Elasticache ve TLS: Elasticache, TLS bağlantıları için alternatif bir dnsLookup kullanılmasına ihtiyaç duyabilir. TLS ile Elasticache kullanıyorsanız REDIS_USE_ALTERNATIVE_DNS_LOOKUP=true olarak ayarlayın. Daha fazla ayrıntı için ioredis documentation sayfasına bakın.

Lider Seçimi

Redis ile çoklu örnek dağıtımları için dağıtık lider seçimi yapılandırın. Lider seçimi, yalnızca bir örneğin zamanlanmış görevler gibi belirli işlemleri gerçekleştirmesini sağlar.

KeyTypeDescriptionExample
LEADER_LEASE_DURATIONnumberLider kirasının sona ermeden önce geçerli olduğu saniye cinsinden süre. Varsayılan: 25.LEADER_LEASE_DURATION=25
LEADER_RENEW_INTERVALnumberLiderin kira süresini yenileme aralığı (saniye cinsinden). Varsayılan: 10.LEADER_RENEW_INTERVAL=10
LEADER_RENEW_ATTEMPTSnumberKiralama yenileme başarısız olduğunda yapılacak maksimum yeniden deneme sayısı. Varsayılan: 3.LEADER_RENEW_ATTEMPTS=3
LEADER_RENEW_RETRY_DELAYnumberKira yenilenirken yeniden deneme girişimleri arasındaki saniye cinsinden gecikme. Varsayılan: 0.5.LEADER_RENEW_RETRY_DELAY=0.5

Notlar:

  • Lider seçimi, Redis'in etkinleştirilmesini (USE_REDIS=true) gerektirir.
  • Bu ayarlar yalnızca çok örnekli (multi-instance) dağıtımlar için geçerlidir.
  • Liderlik kiralaması, liderliği korumak için sona ermeden önce yenilenmelidir.
  • Kira yenileme maksimum denemeden sonra başarısız olursa, örnek liderliği bırakacaktır.

Bu rehber nasıl?

Bu sayfada

Sunucu YapılandırmasıPortTrust proxyKimlik Bilgileri YapılandırmasıStatik Dosya İşlemeIndex HTML Önbellek DenetimiMongoDB VeritabanıMongoDB Bağlantı Havuzu YapılandırmasıMongoDB Şema YapılandırmasıUygulama AlanlarıArama Motorlarının İndekslemesini EngellemeGünlük KaydıGünlük DosyalarıOrtam DeğişkenleriİzinOpenTelemetry TracingGerçek Kullanıcı İzleme (Tarayıcı)Yapılandırma Yolu - librechat.yamlDağıtım BecerileriYapılandırma DoğrulamaYakalanmamış İstisna İşlemeEndpointsGenel YapılandırmaBilinen endpoint'ler - librechat.yamlWeb SearchAnthropicVertex AI üzerinden AnthropicAWS BedrockBingAIGoogleGemini Görsel OluşturmaOpenAIAssistantsTavilyTraversaalWolframAlphaZapierOpenWeatherCode InterpreterArtifactsArama (Meilisearch)RAG APIKonuşmadan Metne & Metinden KonuşmayaPaylaşılan BağlantılarKullanıcı SistemiModerasyonTemel Denetim AyarlarıYasaklama AyarlarıGiriş ve kayıt hız sınırlamasıHer ihlal için puanMesaj hız sınırlaması (kullanıcı ve IP başına)SınırlayıcılarIP Sınırlayıcı:Kullanıcı Sınırlayıcı:Sohbet içe aktarma hız sınırlamasıIP Sınırlayıcı:Kullanıcı Sınırlayıcı:Sohbet çatallama hız sınırlamasıIP Sınırlayıcı:Kullanıcı Sınırlayıcı:Dosya yükleme hız sınırlamasıIP Sınırlayıcı:Kullanıcı Sınırlayıcı:TTS (Metinden Sese) hız sınırlamasıIP Sınırlayıcı:Kullanıcı Sınırlayıcı:STT (Speech-to-Text) hız sınırlamasıIP Sınırlayıcı:Kullanıcı Sınırlayıcı:BakiyeBakiyeleri YönetmeKayıt ve GirişSosyal GirişlerApple Kimlik DoğrulamasıDiscord Kimlik DoğrulamasıFacebook Kimlik DoğrulamasıGitHub Kimlik DoğrulamasıGoogle Kimlik DoğrulamasıOpenID ConnectOpenID Connect Belirteç Yeniden KullanımıMicrosoft Graph API / Entra ID EntegrasyonuSharePoint EntegrasyonuSAMLLDAP/AD Kimlik DoğrulamasıParola SıfırlamaMailgun Yapılandırması (Önerilen)SMTP YapılandırmasıFirebase CDNAmazon S3 ve CloudFrontAzure Blob Storage CDNArayüzYardım ve SSS DüğmesiUygulama Başlığı ve Alt BilgiDoğum Günü ŞapkasıAnalitikGoogle Tag ManagerSohbet İçe AktarmaSatır İçi Dosya ÖnizlemeleriMCP (Model Context Protocol)MCP Sunucu YapılandırmasıDiğerRedisLider Seçimi