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

Automatisierte Moderation

Konfiguration des automatisierten Moderationssystems. Dieses verwendet einen Bewertungsmechanismus, um Benutzerverstöße zu verfolgen. Wenn Benutzer Aktionen wie übermäßige Anmeldungen, Registrierungen oder Nachrichten ausführen, sammeln sie Verstoßpunkte. Beim Erreichen eines festgelegten Schwellenwerts werden der Benutzer und seine IP-Adresse vorübergehend gesperrt. Dieses System gewährleistet die Plattformsicherheit durch die Überwachung und Bestrafung von schnellen oder verdächtigen Aktivitäten.

Das Automated Moderation System verwendet einen Bewertungsmechanismus, um Benutzerverstöße zu verfolgen. Wenn Benutzer Aktionen wie übermäßige Anmeldungen, Registrierungen oder Nachrichtenversand durchführen, sammeln sie Verstoßpunkte an. Beim Erreichen eines festgelegten Schwellenwerts werden der Benutzer und dessen IP-Adresse vorübergehend gesperrt. Dieses System gewährleistet die Plattformsicherheit, indem es schnelle oder verdächtige Aktivitäten überwacht und sanktioniert.

In der Produktion sollten Sie Cloudflare oder einen anderen DDoS-Schutz implementieren, um den Server wirksam vor übermäßigen Anfragen zu schützen. Diese Änderungen werden Sie jedoch weitgehend vor einzelnen oder mehreren böswilligen Akteuren schützen, die Ihre bereitgestellte Instanz für Proxying-Zwecke missbrauchen wollen.

Weitere Details finden Sie im Benutzerhandbuch hier: Automated Moderation

Einrichtung

Die folgenden Umgebungsvariablen sind alle relevant, um das Mod-System zu nutzen und zu konfigurieren. Beachten Sie, dass diese auch in der Datei /.env.example zu finden sind und in Ihrer eigenen .env Datei festgelegt werden müssen.

Hinweis: Derzeit werden die meisten dieser Werte über die .env Datei konfiguriert, sie könnten jedoch bald ausschließlich über die librechat.yaml Konfigurationsdatei konfiguriert werden.

Verstoß, Intervall, Dauer

KeyTypeDescriptionExample
BAN_VIOLATIONSbooleanOb Benutzer bei Verstößen gesperrt werden sollen oder nicht (sie werden weiterhin protokolliert).BAN_VIOLATIONS=true
BAN_DURATIONintegerWie lange der Benutzer und die zugehörige IP gesperrt bleiben (in Millisekunden).BAN_DURATION=1000 * 60 * 60 * 2
BAN_INTERVALintegerDer Benutzer wird jedes Mal gesperrt, wenn sein Punktestand den Intervall-Schwellenwert erreicht oder überschreitet.BAN_INTERVAL=20

Die Punktzahl für jeden Verstoß

KeyTypeDescriptionExample
LOGIN_VIOLATION_SCOREintegerPunktzahl für Anmeldeverstöße.LOGIN_VIOLATION_SCORE=1
REGISTRATION_VIOLATION_SCOREintegerPunktzahl für Registrierungsverstöße.REGISTRATION_VIOLATION_SCORE=1
CONCURRENT_VIOLATION_SCOREintegerPunktzahl für gleichzeitige Verstöße.CONCURRENT_VIOLATION_SCORE=1
MESSAGE_VIOLATION_SCOREintegerBewertung für Nachrichtenverstöße.MESSAGE_VIOLATION_SCORE=1
NON_BROWSER_VIOLATION_SCOREintegerPunktzahl für Nicht-Browser-Verstöße.NON_BROWSER_VIOLATION_SCORE=20
IMPORT_VIOLATION_SCOREintegerPunktzahl für Verstöße beim Import von Unterhaltungen.IMPORT_VIOLATION_SCORE=1
FORK_VIOLATION_SCOREintegerBewertung für Verstöße bei der Konversationsverzweigung.FORK_VIOLATION_SCORE=1
TTS_VIOLATION_SCOREintegerBewertung für Text-to-Speech-Verstöße.TTS_VIOLATION_SCORE=0
STT_VIOLATION_SCOREintegerBewertung für Speech-to-Text-Verstöße.STT_VIOLATION_SCORE=0
FILE_UPLOAD_VIOLATION_SCOREintegerPunktzahl für Verstöße beim Hochladen von Dateien.FILE_UPLOAD_VIOLATION_SCORE=0
RESET_PASSWORD_VIOLATION_SCOREintegerPunktzahl für Verstöße beim Zurücksetzen des Passworts.RESET_PASSWORD_VIOLATION_SCORE=0
VERIFY_EMAIL_VIOLATION_SCOREintegerPunktzahl für Verstöße bei der E-Mail-Verifizierung.VERIFY_EMAIL_VIOLATION_SCORE=0
TOOL_CALL_VIOLATION_SCOREintegerBewertung für Verstöße bei Tool-Aufrufen.TOOL_CALL_VIOLATION_SCORE=0
CONVO_ACCESS_VIOLATION_SCOREintegerPunktzahl für Verstöße gegen den Konversationszugriff.CONVO_ACCESS_VIOLATION_SCORE=0

Ratenbegrenzung für Anmeldung und Registrierung.

KeyTypeDescriptionExample
LOGIN_MAXnumberDie maximale Anzahl an erlaubten Anmeldungen pro IP pro LOGIN_WINDOW. Standardwert ist `7`.
LOGIN_WINDOWnumberIn Minuten, bestimmt das Zeitfenster für LOGIN_MAX Anmeldeversuche. Standardwert ist `5`.
REGISTER_MAXnumberDie maximale Anzahl an Registrierungen pro IP pro REGISTER_WINDOW. Standardwert ist `5`.
REGISTER_WINDOWnumberBestimmt in Minuten das Zeitfenster für REGISTER_MAX Registrierungen. Standardwert ist `60`.

Nachrichten-Ratenbegrenzung

KeyTypeDescriptionExample
LIMIT_CONCURRENT_MESSAGESbooleanOb die Anzahl der Nachrichten, die ein Benutzer pro Anfrage senden kann, begrenzt werden soll.LIMIT_CONCURRENT_MESSAGES=true
CONCURRENT_MESSAGE_MAXintegerDie maximale Anzahl an Nachrichten, die ein Benutzer pro Anfrage senden kann.CONCURRENT_MESSAGE_MAX=2

Hinweis: Sie können beide Begrenzungen verwenden, standardmäßig erfolgt die Begrenzung jedoch nur nach IP.

Nachrichten-Ratenbegrenzung (pro IP)

KeyTypeDescriptionExample
LIMIT_MESSAGE_IPbooleanOb die Anzahl der Nachrichten, die eine IP pro `MESSAGE_IP_WINDOW` senden kann, begrenzt werden soll.LIMIT_MESSAGE_IP=true
MESSAGE_IP_MAXintegerDie maximale Anzahl an Nachrichten, die eine IP pro `MESSAGE_IP_WINDOW` senden kann.MESSAGE_IP_MAX=40
MESSAGE_IP_WINDOWintegerBestimmt in Minuten das Zeitfenster für `MESSAGE_IP_MAX` Nachrichten.MESSAGE_IP_WINDOW=1

Nachrichten-Ratenbegrenzung (pro Benutzer)

KeyTypeDescriptionExample
LIMIT_MESSAGE_USERbooleanOb die Anzahl der Nachrichten, die ein Benutzer pro `MESSAGE_USER_WINDOW` senden kann, begrenzt werden soll.LIMIT_MESSAGE_USER=false
MESSAGE_USER_MAXintegerDie maximale Anzahl an Nachrichten, die ein Benutzer pro `MESSAGE_USER_WINDOW` senden kann.MESSAGE_USER_MAX=40
MESSAGE_USER_WINDOWintegerBestimmt in Minuten das Zeitfenster für `MESSAGE_USER_MAX` Nachrichten.MESSAGE_USER_WINDOW=1

Import-Ratenbegrenzung für Konversationen

Begrenzt, wie oft Benutzer Konversationen importieren können, um Missbrauch zu verhindern.

Hinweis: Sie können beide Begrenzungen verwenden, standardmäßig erfolgt die Begrenzung jedoch nur nach IP.

Import-Konversations-Ratenbegrenzung (pro IP)

KeyTypeDescriptionExample
LIMIT_IMPORT_IPbooleanOb die Anzahl der Konversationsimporte, die eine IP pro `IMPORT_IP_WINDOW` durchführen kann, begrenzt werden soll.LIMIT_IMPORT_IP=true
IMPORT_IP_MAXintegerDie maximale Anzahl an Konversationsimporten, die eine IP pro `IMPORT_IP_WINDOW` durchführen kann.IMPORT_IP_MAX=100
IMPORT_IP_WINDOWintegerBestimmt in Minuten das Zeitfenster für `IMPORT_IP_MAX`-Importe.IMPORT_IP_WINDOW=1

Ratenbegrenzung für den Import von Unterhaltungen (pro Benutzer)

KeyTypeDescriptionExample
LIMIT_IMPORT_USERbooleanOb die Anzahl der Konversationsimporte, die ein Benutzer pro `IMPORT_USER_WINDOW` durchführen kann, begrenzt werden soll.LIMIT_IMPORT_USER=false
IMPORT_USER_MAXintegerDie maximale Anzahl an Konversationsimporten, die ein Benutzer pro `IMPORT_USER_WINDOW` durchführen kann.IMPORT_USER_MAX=50
IMPORT_USER_WINDOWintegerBestimmt in Minuten das Zeitfenster für `IMPORT_USER_MAX` Importe.IMPORT_USER_WINDOW=1

Ratenbegrenzung für das Forken von Unterhaltungen

Begrenzt, wie oft Benutzer Konversationen forken können, um Missbrauch zu verhindern.

Hinweis: Sie können beide Begrenzungen verwenden, standardmäßig erfolgt die Begrenzung jedoch nur nach IP.

Ratenbegrenzung für das Forken von Konversationen (pro IP)

KeyTypeDescriptionExample
LIMIT_FORK_IPbooleanOb die Anzahl der Konversations-Forks, die eine IP pro `FORK_IP_WINDOW` erstellen kann, begrenzt werden soll.LIMIT_FORK_IP=true
FORK_IP_MAXintegerDie maximale Anzahl an Konversations-Forks, die eine IP pro `FORK_IP_WINDOW` erstellen kann.FORK_IP_MAX=30
FORK_IP_WINDOWintegerIn Minuten, bestimmt das Zeitfenster für `FORK_IP_MAX` Forks.FORK_IP_WINDOW=1

Ratenbegrenzung für das Forken von Unterhaltungen (pro Benutzer)

KeyTypeDescriptionExample
LIMIT_FORK_USERbooleanOb die Anzahl der Konversations-Forks, die ein Benutzer pro `FORK_USER_WINDOW` erstellen kann, begrenzt werden soll.LIMIT_FORK_USER=false
FORK_USER_MAXintegerDie maximale Anzahl an Konversations-Forks, die ein Benutzer pro `FORK_USER_WINDOW` erstellen kann.FORK_USER_MAX=7
FORK_USER_WINDOWintegerIn Minuten, bestimmt das Zeitfenster für `FORK_USER_MAX` Forks.FORK_USER_WINDOW=1

Unzulässige Modellanfragen

Hinweis: Illegale Modellanfragen sind fast immer bösartig, da dies bedeutet, dass ein Dritter versucht, über ein automatisiertes Skript auf den Server zuzugreifen. Hierfür empfehle ich einen relativ hohen Wert, nicht weniger als 5.

KeyTypeDescriptionExample
ILLEGAL_MODEL_REQ_SCOREintegerBewertung für unzulässige Modellanfragen.ILLEGAL_MODEL_REQ_SCORE=5

OpenAI Text-Moderation

KeyTypeDescriptionExample
OPENAI_MODERATIONbooleanOb die OpenAI-Moderation für die **OpenAI**- und **Plugins**-endpoint aktiviert werden soll oder nicht.OPENAI_MODERATION=false
OPENAI_MODERATION_API_KEYstringIhr OpenAI API-Schlüssel.OPENAI_MODERATION_API_KEY=

Beachte, dass dies möglicherweise nicht mit allen Reverse Proxies funktioniert:

KeyTypeDescriptionExample
OPENAI_MODERATION_REVERSE_PROXYstringHinweis: Standardmäßig auskommentiert, dies funktioniert nicht mit allen Reverse Proxys.# OPENAI_MODERATION_REVERSE_PROXY=

Wie finden Sie diese Anleitung?