Otomatik Denetleme
Otomatik Denetim Sisteminin yapılandırılması. Bu sistem, 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.
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.
Üretim ortamında, sunucuyu aşırı isteklerden gerçekten korumak için Cloudflare veya başka bir DDoS koruması kullanmalısınız; ancak bu değişiklikler, dağıtılan örneğinizi proxy kullanımı için hedef alan tekil veya birkaç kötü niyetli aktöre karşı sizi büyük ölçüde koruyacaktır.
Daha fazla ayrıntı için burada sağlanan kullanıcı kılavuzuna başvurun: Automated Moderation
Kurulum
Aşağıdakiler, mod sistemini kullanmak ve yapılandırmak için ilgili tüm .env değişkenleridir. Bunun aynı zamanda kendi .env dosyanızda ayarlanmak üzere /.env.example dosyasında da bulunduğunu unutmayın.
Not: şu anda bu değerlerin çoğu .env dosyası aracılığıyla yapılandırılmaktadır, ancak yakında yalnızca librechat.yaml yapılandırma dosyası üzerinden yapılandırılacak şekilde taşınabilirler.
İhlal, Aralık, Süre
| Key | Type | Description | Example |
|---|---|---|---|
| BAN_VIOLATIONS | boolean | İhlaller nedeniyle kullanıcıların yasaklanıp yasaklanmayacağı (yine de kayıt altına alınacaklardır). | BAN_VIOLATIONS=true |
| BAN_DURATION | integer | Kullanıcının ve ilişkili IP adresinin ne kadar süreyle yasaklanacağı (milisaniye cinsinden). | BAN_DURATION=1000 * 60 * 60 * 2 |
| BAN_INTERVAL | integer | Kullanı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 |
Her ihlal için puan
| Key | Type | Description | Example |
|---|---|---|---|
| LOGIN_VIOLATION_SCORE | integer | Giriş ihlalleri için puan. | LOGIN_VIOLATION_SCORE=1 |
| REGISTRATION_VIOLATION_SCORE | integer | Kayıt ihlalleri için puan. | REGISTRATION_VIOLATION_SCORE=1 |
| CONCURRENT_VIOLATION_SCORE | integer | Eş zamanlı ihlaller için puan. | CONCURRENT_VIOLATION_SCORE=1 |
| MESSAGE_VIOLATION_SCORE | integer | Mesaj ihlalleri için puan. | MESSAGE_VIOLATION_SCORE=1 |
| NON_BROWSER_VIOLATION_SCORE | integer | Tarayıcı dışı ihlaller için puan. | NON_BROWSER_VIOLATION_SCORE=20 |
| IMPORT_VIOLATION_SCORE | integer | İçe aktarılan sohbet ihlalleri için puan. | IMPORT_VIOLATION_SCORE=1 |
| FORK_VIOLATION_SCORE | integer | Sohbet çatallanma ihlalleri için puan. | FORK_VIOLATION_SCORE=1 |
| TTS_VIOLATION_SCORE | integer | Metinden sese dönüştürme ihlalleri için puan. | TTS_VIOLATION_SCORE=0 |
| STT_VIOLATION_SCORE | integer | Konuşmadan metne dönüştürme ihlalleri için puan. | STT_VIOLATION_SCORE=0 |
| FILE_UPLOAD_VIOLATION_SCORE | integer | Dosya yükleme ihlalleri için puan. | FILE_UPLOAD_VIOLATION_SCORE=0 |
| RESET_PASSWORD_VIOLATION_SCORE | integer | Parola sıfırlama ihlalleri için puan. | RESET_PASSWORD_VIOLATION_SCORE=0 |
| VERIFY_EMAIL_VIOLATION_SCORE | integer | E-posta doğrulama ihlalleri için puan. | VERIFY_EMAIL_VIOLATION_SCORE=0 |
| TOOL_CALL_VIOLATION_SCORE | integer | Araç çağrısı ihlalleri için puan. | TOOL_CALL_VIOLATION_SCORE=0 |
| CONVO_ACCESS_VIOLATION_SCORE | integer | Sohbet erişim ihlalleri için puan. | CONVO_ACCESS_VIOLATION_SCORE=0 |
Giriş ve kayıt hız sınırlaması.
| Key | Type | Description | Example |
|---|---|---|---|
| LOGIN_MAX | number | LOGIN_WINDOW başına IP başına izin verilen maksimum giriş sayısı. Varsayılan değer `7`'dir. | |
| LOGIN_WINDOW | number | LOGIN_MAX giriş denemesi için zaman aralığını dakika cinsinden belirler. Varsayılan değer `5`'tir. | |
| REGISTER_MAX | number | REGISTER_WINDOW başına IP başına izin verilen maksimum kayıt sayısı. Varsayılan değer `5`'tir. | |
| REGISTER_WINDOW | number | REGISTER_MAX kayıtları için zaman aralığını dakika cinsinden belirler. Varsayılan değer `60`'tır. |
Mesaj hız sınırlaması
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_CONCURRENT_MESSAGES | boolean | Bir 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_MAX | integer | Bir kullanıcının istek başına gönderebileceği maksimum mesaj sayısı. | CONCURRENT_MESSAGE_MAX=2 |
Not: Her iki sınırlayıcıyı da kullanabilirsiniz, ancak varsayılan yalnızca IP'ye göre sınırlamaktır.
Mesaj hız sınırlaması (IP başına)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_MESSAGE_IP | boolean | Bir 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_MAX | integer | Bir IP'nin `MESSAGE_IP_WINDOW` başına gönderebileceği maksimum mesaj miktarı. | MESSAGE_IP_MAX=40 |
| MESSAGE_IP_WINDOW | integer | `MESSAGE_IP_MAX` mesajı için zaman aralığını dakika cinsinden belirler. | MESSAGE_IP_WINDOW=1 |
Mesaj hız sınırlaması (Kullanıcı başına)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_MESSAGE_USER | boolean | Bir 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_MAX | integer | Bir kullanıcının `MESSAGE_USER_WINDOW` başına gönderebileceği maksimum mesaj miktarı. | MESSAGE_USER_MAX=40 |
| MESSAGE_USER_WINDOW | integer | `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.
Sohbet içe aktarma hız sınırlaması (IP başına)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_IMPORT_IP | boolean | Bir 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_MAX | integer | Bir IP adresinin `IMPORT_IP_WINDOW` başına gerçekleştirebileceği maksimum sohbet içe aktarma sayısı. | IMPORT_IP_MAX=100 |
| IMPORT_IP_WINDOW | integer | `IMPORT_IP_MAX` içe aktarmaları için zaman aralığını dakika cinsinden belirler. | IMPORT_IP_WINDOW=1 |
Sohbet içe aktarma hız sınırlaması (Kullanıcı başına)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_IMPORT_USER | boolean | Bir 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_MAX | integer | Bir 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_WINDOW | integer | `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.
Sohbet çatallama hız sınırlaması (IP başına)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_FORK_IP | boolean | Bir 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_MAX | integer | Bir IP'nin `FORK_IP_WINDOW` başına oluşturabileceği maksimum konuşma çatalı (fork) sayısı. | FORK_IP_MAX=30 |
| FORK_IP_WINDOW | integer | `FORK_IP_MAX` çatallanmaları için zaman aralığını dakika cinsinden belirler. | FORK_IP_WINDOW=1 |
Sohbet çatallama hız sınırlaması (Kullanıcı başına)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_FORK_USER | boolean | Bir 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_MAX | integer | Bir 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_WINDOW | integer | `FORK_USER_MAX` fork'ları için zaman aralığını dakika cinsinden belirler. | FORK_USER_WINDOW=1 |
Geçersiz model istekleri
Not: Yasadışı model istekleri neredeyse her zaman kötü niyetlidir; çünkü bu, üçüncü bir tarafın otomatik bir betik aracılığıyla sunucuya erişmeye çalıştığı anlamına gelir. Bunun için, 5'ten az olmayan, nispeten yüksek bir puan öneririm.
| Key | Type | Description | Example |
|---|---|---|---|
| ILLEGAL_MODEL_REQ_SCORE | integer | Yasadışı model istekleri için puan. | ILLEGAL_MODEL_REQ_SCORE=5 |
OpenAI metin denetimi
| Key | Type | Description | Example |
|---|---|---|---|
| OPENAI_MODERATION | boolean | **OpenAI** ve **Plugins** endpoint'lerinde OpenAI denetiminin etkinleştirilip etkinleştirilmeyeceği. | OPENAI_MODERATION=false |
| OPENAI_MODERATION_API_KEY | string | OpenAI API anahtarınız. | OPENAI_MODERATION_API_KEY= |
Bunun tüm reverse proxy'lerle çalışmayabileceğini unutmayın:
| Key | Type | Description | Example |
|---|---|---|---|
| OPENAI_MODERATION_REVERSE_PROXY | string | Not: Varsayılan olarak yorum satırı halindedir, tüm reverse proxy'lerle çalışmayabilir. | # OPENAI_MODERATION_REVERSE_PROXY= |
Bu rehber nasıl?
Docker Geçersiz Kılma
Ana docker-compose.yml dosyasını düzenlemeden LibreChat'in Docker kurulumunu özelleştirmek için bir docker-compose.override.yml dosyası kullanın.
Langfuse İzleme
Bu belge, yapay zeka konuşmalarınızda tam gözlemlenebilirlik elde etmek için Langfuse izlemeyi LibreChat ile nasıl entegre edeceğinizi açıklar.