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

Moderação Automatizada

Configuração do Sistema de Moderação Automatizado. Isso utiliza um mecanismo de pontuação para rastrear violações do usuário. À medida que os usuários cometem ações como logins, registros ou mensagens excessivas, eles acumulam pontuações de violação. Ao atingir um limite definido, o usuário e seu IP são banidos temporariamente. Este sistema garante a segurança da plataforma monitorando e penalizando atividades rápidas ou suspeitas.

O Automated Moderation System utiliza um mecanismo de pontuação para rastrear violações dos usuários. À medida que os usuários cometem ações como excesso de logins, registros ou envio de mensagens, eles acumulam pontos de violação. Ao atingir um limite definido, o usuário e seu IP são banidos temporariamente. Este sistema garante a segurança da plataforma ao monitorar e penalizar atividades rápidas ou suspeitas.

Em produção, você deve ter o Cloudflare ou alguma outra proteção contra DDoS implementada para realmente proteger o servidor contra solicitações excessivas, mas essas alterações protegerão você em grande parte contra um ou vários agentes mal-intencionados que visam sua instância implantada para proxy.

Para mais detalhes, consulte o guia do usuário fornecido aqui: Moderação Automatizada

Configuração

Abaixo estão todas as variáveis de ambiente relacionadas para utilizar e configurar o sistema de mods. Observe que isso também pode ser encontrado no arquivo /.env.example, para ser definido em seu próprio arquivo .env.

Nota: atualmente, a maioria desses valores é configurada através do arquivo .env, mas eles podem migrar em breve para serem configurados exclusivamente a partir do arquivo de configuração librechat.yaml.

Violação, Intervalo, Duração

KeyTypeDescriptionExample
BAN_VIOLATIONSbooleanSe deve ou não habilitar o banimento de usuários por violações (eles ainda serão registrados).BAN_VIOLATIONS=true
BAN_DURATIONintegerPor quanto tempo o usuário e o IP associado serão banidos (em milissegundos).BAN_DURATION=1000 * 60 * 60 * 2
BAN_INTERVALintegerO usuário será banido toda vez que sua pontuação atingir/ultrapassar o limite do intervalo.BAN_INTERVAL=20

A pontuação para cada violação

KeyTypeDescriptionExample
LOGIN_VIOLATION_SCOREintegerPontuação para violações de login.LOGIN_VIOLATION_SCORE=1
REGISTRATION_VIOLATION_SCOREintegerPontuação para violações de registro.REGISTRATION_VIOLATION_SCORE=1
CONCURRENT_VIOLATION_SCOREintegerPontuação para violações simultâneas.CONCURRENT_VIOLATION_SCORE=1
MESSAGE_VIOLATION_SCOREintegerPontuação para violações de mensagem.MESSAGE_VIOLATION_SCORE=1
NON_BROWSER_VIOLATION_SCOREintegerPontuação para violações fora do navegador.NON_BROWSER_VIOLATION_SCORE=20
IMPORT_VIOLATION_SCOREintegerPontuação para violações de importação de conversas.IMPORT_VIOLATION_SCORE=1
FORK_VIOLATION_SCOREintegerPontuação para violações de ramificação de conversa.FORK_VIOLATION_SCORE=1
TTS_VIOLATION_SCOREintegerPontuação para violações de conversão de texto em fala.TTS_VIOLATION_SCORE=0
STT_VIOLATION_SCOREintegerPontuação para violações de conversão de fala em texto.STT_VIOLATION_SCORE=0
FILE_UPLOAD_VIOLATION_SCOREintegerPontuação para violações de upload de arquivo.FILE_UPLOAD_VIOLATION_SCORE=0
RESET_PASSWORD_VIOLATION_SCOREintegerPontuação para violações de redefinição de senha.RESET_PASSWORD_VIOLATION_SCORE=0
VERIFY_EMAIL_VIOLATION_SCOREintegerPontuação para violações de verificação de e-mail.VERIFY_EMAIL_VIOLATION_SCORE=0
TOOL_CALL_VIOLATION_SCOREintegerPontuação para violações de chamada de ferramenta.TOOL_CALL_VIOLATION_SCORE=0
CONVO_ACCESS_VIOLATION_SCOREintegerPontuação para violações de acesso à conversa.CONVO_ACCESS_VIOLATION_SCORE=0

Limitação de taxa de login e registro.

KeyTypeDescriptionExample
LOGIN_MAXnumberA quantidade máxima de logins permitida por IP por LOGIN_WINDOW. O padrão é `7`.
LOGIN_WINDOWnumberEm minutos, determina a janela de tempo para LOGIN_MAX logins. O padrão é `5`.
REGISTER_MAXnumberA quantidade máxima de registros permitida por IP por REGISTER_WINDOW. O padrão é `5`.
REGISTER_WINDOWnumberEm minutos, determina a janela de tempo para REGISTER_MAX registros. O padrão é `60`.

Limitação de taxa de mensagens

KeyTypeDescriptionExample
LIMIT_CONCURRENT_MESSAGESbooleanSe deve limitar a quantidade de mensagens que um usuário pode enviar por solicitação.LIMIT_CONCURRENT_MESSAGES=true
CONCURRENT_MESSAGE_MAXintegerA quantidade máxima de mensagens que um usuário pode enviar por solicitação.CONCURRENT_MESSAGE_MAX=2

Nota: Você pode utilizar ambos os limitadores, mas o padrão é limitar apenas por IP.

Limitação de taxa de mensagens (por IP)

KeyTypeDescriptionExample
LIMIT_MESSAGE_IPbooleanSe deve limitar a quantidade de mensagens que um IP pode enviar por `MESSAGE_IP_WINDOW`.LIMIT_MESSAGE_IP=true
MESSAGE_IP_MAXintegerA quantidade máxima de mensagens que um IP pode enviar por `MESSAGE_IP_WINDOW`.MESSAGE_IP_MAX=40
MESSAGE_IP_WINDOWintegerEm minutos, determina a janela de tempo para `MESSAGE_IP_MAX` mensagens.MESSAGE_IP_WINDOW=1

Limitação de taxa de mensagens (por Usuário)

KeyTypeDescriptionExample
LIMIT_MESSAGE_USERbooleanSe deve limitar a quantidade de mensagens que um usuário pode enviar por `MESSAGE_USER_WINDOW`.LIMIT_MESSAGE_USER=false
MESSAGE_USER_MAXintegerA quantidade máxima de mensagens que um usuário pode enviar por `MESSAGE_USER_WINDOW`.MESSAGE_USER_MAX=40
MESSAGE_USER_WINDOWintegerEm minutos, determina a janela de tempo para `MESSAGE_USER_MAX` mensagens.MESSAGE_USER_WINDOW=1

Limitação de taxa de importação de conversas

Limita a frequência com que os usuários podem importar conversas para evitar abusos.

Nota: Você pode utilizar ambos os limitadores, mas o padrão é limitar apenas por IP.

Limitação de taxa de importação de conversas (por IP)

KeyTypeDescriptionExample
LIMIT_IMPORT_IPbooleanSe deve limitar a quantidade de importações de conversas que um IP pode realizar por `IMPORT_IP_WINDOW`.LIMIT_IMPORT_IP=true
IMPORT_IP_MAXintegerA quantidade máxima de importações de conversas que um IP pode realizar por `IMPORT_IP_WINDOW`.IMPORT_IP_MAX=100
IMPORT_IP_WINDOWintegerEm minutos, determina a janela de tempo para as importações de `IMPORT_IP_MAX`.IMPORT_IP_WINDOW=1

Limite de taxa de importação de conversas (por Usuário)

KeyTypeDescriptionExample
LIMIT_IMPORT_USERbooleanSe deve limitar a quantidade de importações de conversa que um usuário pode realizar por `IMPORT_USER_WINDOW`.LIMIT_IMPORT_USER=false
IMPORT_USER_MAXintegerA quantidade máxima de importações de conversas que um usuário pode realizar por `IMPORT_USER_WINDOW`.IMPORT_USER_MAX=50
IMPORT_USER_WINDOWintegerEm minutos, determina a janela de tempo para as importações de `IMPORT_USER_MAX`.IMPORT_USER_WINDOW=1

Limitação de taxa de bifurcação de conversas

Limita a frequência com que usuários podem realizar fork de conversas para evitar abusos.

Nota: Você pode utilizar ambos os limitadores, mas o padrão é limitar apenas por IP.

Limite de taxa de bifurcação de conversas (por IP)

KeyTypeDescriptionExample
LIMIT_FORK_IPbooleanSe deve limitar a quantidade de ramificações de conversa que um IP pode criar por `FORK_IP_WINDOW`.LIMIT_FORK_IP=true
FORK_IP_MAXintegerA quantidade máxima de ramificações de conversa que um IP pode criar por `FORK_IP_WINDOW`.FORK_IP_MAX=30
FORK_IP_WINDOWintegerEm minutos, determina a janela de tempo para `FORK_IP_MAX` forks.FORK_IP_WINDOW=1

Limite de taxa de bifurcação de conversas (por Usuário)

KeyTypeDescriptionExample
LIMIT_FORK_USERbooleanSe deve limitar a quantidade de ramificações de conversa que um usuário pode criar por `FORK_USER_WINDOW`.LIMIT_FORK_USER=false
FORK_USER_MAXintegerA quantidade máxima de ramificações de conversa que um usuário pode criar por `FORK_USER_WINDOW`.FORK_USER_MAX=7
FORK_USER_WINDOWintegerEm minutos, determina a janela de tempo para `FORK_USER_MAX` forks.FORK_USER_WINDOW=1

Solicitações de modelo inválidas

Nota: Solicitações de modelo ilegais são quase sempre nefastas, pois significam que terceiros estão tentando acessar o servidor por meio de um script automatizado. Para isso, recomendo uma pontuação relativamente alta, não inferior a 5.

KeyTypeDescriptionExample
ILLEGAL_MODEL_REQ_SCOREintegerPontuação para solicitações de modelo ilegais.ILLEGAL_MODEL_REQ_SCORE=5

Moderação de texto da OpenAI

KeyTypeDescriptionExample
OPENAI_MODERATIONbooleanSe deve ou não habilitar a moderação da OpenAI nos endpoints **OpenAI** e **Plugins**.OPENAI_MODERATION=false
OPENAI_MODERATION_API_KEYstringSua chave de API da OpenAI.OPENAI_MODERATION_API_KEY=

Observe que isso pode não funcionar com todos os reverse proxies:

KeyTypeDescriptionExample
OPENAI_MODERATION_REVERSE_PROXYstringNota: Comentado por padrão, isso não funciona com todos os reverse proxys.# OPENAI_MODERATION_REVERSE_PROXY=

Como está este guia?