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

Moderazione automatizzata

Configurazione del sistema di moderazione automatizzato. Questo utilizza un meccanismo di punteggio per tracciare le violazioni degli utenti. Quando gli utenti compiono azioni come accessi, registrazioni o invio di messaggi eccessivi, accumulano punteggi di violazione. Al raggiungimento di una soglia prestabilita, l'utente e il suo IP vengono temporaneamente bannati. Questo sistema garantisce la sicurezza della piattaforma monitorando e penalizzando le attività rapide o sospette.

Il sistema di moderazione automatizzata utilizza un meccanismo di punteggio per tracciare le violazioni degli utenti. Man mano che gli utenti compiono azioni come accessi, registrazioni o invio di messaggi eccessivi, accumulano punteggi di violazione. Al raggiungimento di una soglia prestabilita, l'utente e il suo IP vengono temporaneamente bannati. Questo sistema garantisce la sicurezza della piattaforma monitorando e penalizzando le attività rapide o sospette.

In produzione, dovresti disporre di Cloudflare o di un'altra protezione DDoS per proteggere realmente il server da richieste eccessive, ma queste modifiche ti proteggeranno in gran parte da uno o più malintenzionati che prendono di mira la tua istanza distribuita per il proxying.

Per ulteriori dettagli, consultare la guida per l'utente fornita qui: Automated Moderation

Setup

Di seguito sono riportate tutte le variabili d'ambiente correlate per utilizzare e configurare il sistema di mod. Nota che queste si trovano anche nel file /.env.example, da impostare nel proprio file .env.

Nota: attualmente, la maggior parte di questi valori viene configurata tramite il file .env, ma presto potrebbero essere migrati per essere configurati esclusivamente dal librechat.yaml file di configurazione.

Violazione, Intervallo, Durata

KeyTypeDescriptionExample
BAN_VIOLATIONSbooleanSe abilitare o meno il ban degli utenti per violazioni (saranno comunque registrati).BAN_VIOLATIONS=true
BAN_DURATIONintegerPer quanto tempo l'utente e l'IP associato vengono bannati (in millisecondi).BAN_DURATION=1000 * 60 * 60 * 2
BAN_INTERVALintegerL'utente verrà bannato ogni volta che il suo punteggio raggiunge/supera la soglia dell'intervallo.BAN_INTERVAL=20

Il punteggio per ogni violazione

KeyTypeDescriptionExample
LOGIN_VIOLATION_SCOREintegerPunteggio per le violazioni di accesso.LOGIN_VIOLATION_SCORE=1
REGISTRATION_VIOLATION_SCOREintegerPunteggio per le violazioni di registrazione.REGISTRATION_VIOLATION_SCORE=1
CONCURRENT_VIOLATION_SCOREintegerPunteCONCURRENT_VIOLATION_SCORE=1
MESSAGE_VIOLATION_SCOREintegerPunteggio per le violazioni dei messaggi.MESSAGE_VIOLATION_SCORE=1
NON_BROWSER_VIOLATION_SCOREintegerPunteggio per violazioni non relative al browser.NON_BROWSER_VIOLATION_SCORE=20
IMPORT_VIOLATION_SCOREintegerPunteggio per le violazioni nell'importazione delle conversazioni.IMPORT_VIOLATION_SCORE=1
FORK_VIOLATION_SCOREintegerPunteggio per le violazioni di fork della conversazione.FORK_VIOLATION_SCORE=1
TTS_VIOLATION_SCOREintegerPunteggio per le violazioni da testo a voce.TTS_VIOLATION_SCORE=0
STT_VIOLATION_SCOREintegerPunteggio per le violazioni da sintesi vocale (speech-to-text).STT_VIOLATION_SCORE=0
FILE_UPLOAD_VIOLATION_SCOREintegerPunteggio per le violazioni del caricamento file.FILE_UPLOAD_VIOLATION_SCORE=0
RESET_PASSWORD_VIOLATION_SCOREintegerPunteggio per le violazioni del ripristino password.RESET_PASSWORD_VIOLATION_SCORE=0
VERIFY_EMAIL_VIOLATION_SCOREintegerPunteggio per le violazioni della verifica email.VERIFY_EMAIL_VIOLATION_SCORE=0
TOOL_CALL_VIOLATION_SCOREintegerPunteggio per le violazioni delle chiamate a strumenti.TOOL_CALL_VIOLATION_SCORE=0
CONVO_ACCESS_VIOLATION_SCOREintegerPunteggio per le violazioni di accesso alla conversazione.CONVO_ACCESS_VIOLATION_SCORE=0

Limitazione della frequenza di accesso e registrazione.

KeyTypeDescriptionExample
LOGIN_MAXnumberIl numero massimo di accessi consentiti per IP per LOGIN_WINDOW. Il valore predefinito è `7`.
LOGIN_WINDOWnumberIn minuti, determina la finestra temporale per LOGIN_MAX accessi. Il valore predefinito è `5`.
REGISTER_MAXnumberIl numero massimo di registrazioni consentite per IP per REGISTER_WINDOW. Il valore predefinito è `5`.
REGISTER_WINDOWnumberIn minuti, determina la finestra temporale per le registrazioni REGISTER_MAX. Il valore predefinito è `60`.

Limitazione della frequenza dei messaggi

KeyTypeDescriptionExample
LIMIT_CONCURRENT_MESSAGESbooleanSe limitare la quantità di messaggi che un utente può inviare per richiesta.LIMIT_CONCURRENT_MESSAGES=true
CONCURRENT_MESSAGE_MAXintegerIl numero massimo di messaggi che un utente può inviare per richiesta.CONCURRENT_MESSAGE_MAX=2

Nota: È possibile utilizzare entrambi i limitatori, ma l'impostazione predefinita è limitare solo per IP.

Limitazione della frequenza dei messaggi (per IP)

KeyTypeDescriptionExample
LIMIT_MESSAGE_IPbooleanSe limitare la quantità di messaggi che un IP può inviare per `MESSAGE_IP_WINDOW`.LIMIT_MESSAGE_IP=true
MESSAGE_IP_MAXintegerIl numero massimo di messaggi che un IP può inviare per `MESSAGE_IP_WINDOW`.MESSAGE_IP_MAX=40
MESSAGE_IP_WINDOWintegerIn minuti, determina la finestra temporale per `MESSAGE_IP_MAX` messaggi.MESSAGE_IP_WINDOW=1

Limitazione della frequenza dei messaggi (per Utente)

KeyTypeDescriptionExample
LIMIT_MESSAGE_USERbooleanSe limitare il numero di messaggi che un utente può inviare per `MESSAGE_USER_WINDOW`.LIMIT_MESSAGE_USER=false
MESSAGE_USER_MAXintegerIl numero massimo di messaggi che un utente può inviare per `MESSAGE_USER_WINDOW`.MESSAGE_USER_MAX=40
MESSAGE_USER_WINDOWintegerIn minuti, determina la finestra temporale per `MESSAGE_USER_MAX` messaggi.MESSAGE_USER_WINDOW=1

Limitazione della frequenza di importazione delle conversazioni

Limita la frequenza con cui gli utenti possono importare conversazioni per prevenire abusi.

Nota: È possibile utilizzare entrambi i limitatori, ma l'impostazione predefinita è limitare solo per IP.

Limite di frequenza per l'importazione di conversazioni (per IP)

KeyTypeDescriptionExample
LIMIT_IMPORT_IPbooleanSe limitare il numero di importazioni di conversazioni che un IP può eseguire per `IMPORT_IP_WINDOW`.LIMIT_IMPORT_IP=true
IMPORT_IP_MAXintegerIl numero massimo di importazioni di conversazioni che un IP può eseguire per `IMPORT_IP_WINDOW`.IMPORT_IP_MAX=100
IMPORT_IP_WINDOWintegerIn minuti, determina la finestra temporale per le importazioni di `IMPORT_IP_MAX`.IMPORT_IP_WINDOW=1

Limitazione della frequenza di importazione delle conversazioni (per Utente)

KeyTypeDescriptionExample
LIMIT_IMPORT_USERbooleanSe limitare la quantità di importazioni di conversazioni che un utente può eseguire per `IMPORT_USER_WINDOW`.LIMIT_IMPORT_USER=false
IMPORT_USER_MAXintegerIl numero massimo di importazioni di conversazioni che un utente può eseguire per `IMPORT_USER_WINDOW`.IMPORT_USER_MAX=50
IMPORT_USER_WINDOWintegerIn minuti, determina la finestra temporale per le importazioni `IMPORT_USER_MAX`.IMPORT_USER_WINDOW=1

Limitazione della frequenza di forking delle conversazioni

Limita la frequenza con cui gli utenti possono effettuare il fork delle conversazioni per prevenire abusi.

Nota: È possibile utilizzare entrambi i limitatori, ma l'impostazione predefinita è limitare solo per IP.

Limitazione della frequenza di fork delle conversazioni (per IP)

KeyTypeDescriptionExample
LIMIT_FORK_IPbooleanSe limitare il numero di fork di conversazione che un IP può creare per `FORK_IP_WINDOW`.LIMIT_FORK_IP=true
FORK_IP_MAXintegerIl numero massimo di fork di conversazione che un IP può creare per `FORK_IP_WINDOW`.FORK_IP_MAX=30
FORK_IP_WINDOWintegerIn minuti, determina la finestra temporale per i fork di `FORK_IP_MAX`.FORK_IP_WINDOW=1

Limitazione della frequenza di forking delle conversazioni (per Utente)

KeyTypeDescriptionExample
LIMIT_FORK_USERbooleanIndica se limitare il numero di fork di conversazione che un utente può creare per `FORK_USER_WINDOW`.LIMIT_FORK_USER=false
FORK_USER_MAXintegerIl numero massimo di diramazioni di conversazione che un utente può creare per `FORK_USER_WINDOW`.FORK_USER_MAX=7
FORK_USER_WINDOWintegerIn minuti, determina la finestra temporale per i fork di `FORK_USER_MAX`.FORK_USER_WINDOW=1

Richieste di modelli non consentite

Nota: le richieste di modelli non consentite sono quasi sempre nefaste, poiché significano che una terza parte sta tentando di accedere al server tramite uno script automatizzato. Per questo, consiglio un punteggio relativamente alto, non inferiore a 5.

KeyTypeDescriptionExample
ILLEGAL_MODEL_REQ_SCOREintegerPunteggio per richieste di modelli non consentite.ILLEGAL_MODEL_REQ_SCORE=5

Moderazione del testo OpenAI

KeyTypeDescriptionExample
OPENAI_MODERATIONbooleanSe abilitare o meno la moderazione di OpenAI sugli endpoint **OpenAI** e **Plugins**.OPENAI_MODERATION=false
OPENAI_MODERATION_API_KEYstringLa tua chiave API OpenAI.OPENAI_MODERATION_API_KEY=

Nota che questo potrebbe non funzionare con tutti i reverse proxy:

KeyTypeDescriptionExample
OPENAI_MODERATION_REVERSE_PROXYstringNota: commentato per impostazione predefinita, non funziona con tutti i reverse proxy.# OPENAI_MODERATION_REVERSE_PROXY=

Com’è questa guida?