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

자동화된 조정

자동화된 중재 시스템 설정입니다. 이 시스템은 점수 매기기 메커니즘을 사용하여 사용자 위반 사항을 추적합니다. 사용자가 과도한 로그인, 등록 또는 메시지 전송과 같은 행동을 하면 위반 점수가 누적됩니다. 설정된 임계값에 도달하면 해당 사용자와 IP는 일시적으로 차단됩니다. 이 시스템은 급격하거나 의심스러운 활동을 모니터링하고 제재함으로써 플랫폼 보안을 보장합니다.

자동화된 조정 시스템(Automated Moderation System)은 점수 매기기 메커니즘을 사용하여 사용자 위반 사항을 추적합니다. 사용자가 과도한 로그인, 등록 또는 메시지 전송과 같은 행동을 하면 위반 점수가 누적됩니다. 설정된 임계값에 도달하면 해당 사용자와 IP는 일시적으로 차단됩니다. 이 시스템은 급격하거나 의심스러운 활동을 모니터링하고 제재함으로써 플랫폼 보안을 보장합니다.

프로덕션 환경에서는 서버를 과도한 요청으로부터 확실하게 보호하기 위해 Cloudflare나 기타 DDoS 방어 솔루션을 도입해야 하지만, 이러한 변경 사항들은 배포된 인스턴스를 프록시로 악용하려는 단일 또는 소수의 악의적인 공격자들로부터 귀하를 크게 보호해 줄 것입니다.

자세한 내용은 다음 사용자 가이드를 참조하세요: Automated Moderation

설정

다음은 모드(mod) 시스템을 사용하고 구성하기 위한 모든 관련 env 변수입니다. 이 내용은 /.env.example 파일에서도 확인할 수 있으며, 사용자의 .env 파일에 설정해야 합니다.

참고: 현재 이러한 값 대부분은 .env 파일을 통해 구성되지만, 곧 librechat.yaml 구성 파일에서만 독점적으로 구성되도록 마이그레이션될 수 있습니다.

위반, 간격, 지속 시간

KeyTypeDescriptionExample
BAN_VIOLATIONSboolean위반 사항에 대해 사용자 차단을 활성화할지 여부입니다(차단된 사용자도 로그에는 기록됩니다).BAN_VIOLATIONS=true
BAN_DURATIONinteger사용자 및 관련 IP가 차단되는 기간(밀리초 단위).BAN_DURATION=1000 * 60 * 60 * 2
BAN_INTERVALinteger사용자의 점수가 간격 임계값에 도달하거나 초과할 때마다 사용자는 차단됩니다.BAN_INTERVAL=20

각 위반 사항에 대한 점수

KeyTypeDescriptionExample
LOGIN_VIOLATION_SCOREinteger로그인 위반 점수.LOGIN_VIOLATION_SCORE=1
REGISTRATION_VIOLATION_SCOREinteger등록 위반에 대한 점수.REGISTRATION_VIOLATION_SCORE=1
CONCURRENT_VIOLATION_SCOREinteger동시 위반에 대한 점수.CONCURRENT_VIOLATION_SCORE=1
MESSAGE_VIOLATION_SCOREinteger메시지 위반 점수.MESSAGE_VIOLATION_SCORE=1
NON_BROWSER_VIOLATION_SCOREinteger브라우저 외 위반에 대한 점수.NON_BROWSER_VIOLATION_SCORE=20
IMPORT_VIOLATION_SCOREinteger대화 가져오기 위반에 대한 점수.IMPORT_VIOLATION_SCORE=1
FORK_VIOLATION_SCOREinteger대화 분기 위반에 대한 점수.FORK_VIOLATION_SCORE=1
TTS_VIOLATION_SCOREinteger텍스트 음성 변환 위반 점수.TTS_VIOLATION_SCORE=0
STT_VIOLATION_SCOREinteger음성-텍스트 위반 점수.STT_VIOLATION_SCORE=0
FILE_UPLOAD_VIOLATION_SCOREinteger파일 업로드 위반에 대한 점수.FILE_UPLOAD_VIOLATION_SCORE=0
RESET_PASSWORD_VIOLATION_SCOREinteger비밀번호 재설정 위반 점수.RESET_PASSWORD_VIOLATION_SCORE=0
VERIFY_EMAIL_VIOLATION_SCOREinteger이메일 인증 위반에 대한 점수.VERIFY_EMAIL_VIOLATION_SCORE=0
TOOL_CALL_VIOLATION_SCOREinteger도구 호출 위반에 대한 점수.TOOL_CALL_VIOLATION_SCORE=0
CONVO_ACCESS_VIOLATION_SCOREinteger대화 접근 위반에 대한 점수.CONVO_ACCESS_VIOLATION_SCORE=0

로그인 및 회원가입 속도 제한.

KeyTypeDescriptionExample
LOGIN_MAXnumberLOGIN_WINDOW당 IP별로 허용되는 최대 로그인 횟수입니다. 기본값은 `7`입니다.
LOGIN_WINDOWnumberLOGIN_MAX 로그인을 위한 시간 창을 분 단위로 결정합니다. 기본값은 `5`입니다.
REGISTER_MAXnumberREGISTER_WINDOW 당 IP별로 허용되는 최대 등록 횟수입니다. 기본값은 `5`입니다.
REGISTER_WINDOWnumberREGISTER_MAX 등록을 위한 시간 범위를 분 단위로 결정합니다. 기본값은 `60`입니다.

메시지 속도 제한 (Message rate limiting)

KeyTypeDescriptionExample
LIMIT_CONCURRENT_MESSAGESboolean사용자가 요청당 보낼 수 있는 메시지 양을 제한할지 여부입니다.LIMIT_CONCURRENT_MESSAGES=true
CONCURRENT_MESSAGE_MAXinteger사용자가 요청당 보낼 수 있는 최대 메시지 수입니다.CONCURRENT_MESSAGE_MAX=2

참고: 두 제한기를 모두 활용할 수 있지만, 기본값은 IP로만 제한하는 것입니다.

메시지 속도 제한 (IP당)

KeyTypeDescriptionExample
LIMIT_MESSAGE_IPboolean`MESSAGE_IP_WINDOW`당 IP가 보낼 수 있는 메시지 양을 제한할지 여부입니다.LIMIT_MESSAGE_IP=true
MESSAGE_IP_MAXinteger`MESSAGE_IP_WINDOW`당 하나의 IP가 보낼 수 있는 최대 메시지 수입니다.MESSAGE_IP_MAX=40
MESSAGE_IP_WINDOWinteger`MESSAGE_IP_MAX` 메시지에 대한 시간 범위를 분 단위로 결정합니다.MESSAGE_IP_WINDOW=1

메시지 속도 제한 (사용자별)

KeyTypeDescriptionExample
LIMIT_MESSAGE_USERboolean`MESSAGE_USER_WINDOW`당 사용자가 보낼 수 있는 메시지 양을 제한할지 여부입니다.LIMIT_MESSAGE_USER=false
MESSAGE_USER_MAXinteger`MESSAGE_USER_WINDOW`당 사용자가 보낼 수 있는 최대 메시지 수입니다.MESSAGE_USER_MAX=40
MESSAGE_USER_WINDOWinteger`MESSAGE_USER_MAX` 메시지에 대한 시간 범위를 분 단위로 결정합니다.MESSAGE_USER_WINDOW=1

대화 가져오기 속도 제한

사용자가 대화를 가져올 수 있는 빈도를 제한하여 남용을 방지합니다.

참고: 두 제한기를 모두 활용할 수 있지만, 기본값은 IP로만 제한하는 것입니다.

대화 가져오기 속도 제한 (IP당)

KeyTypeDescriptionExample
LIMIT_IMPORT_IPboolean`IMPORT_IP_WINDOW`당 IP가 수행할 수 있는 대화 가져오기 횟수를 제한할지 여부입니다.LIMIT_IMPORT_IP=true
IMPORT_IP_MAXinteger`IMPORT_IP_WINDOW`당 하나의 IP가 수행할 수 있는 최대 대화 가져오기 횟수입니다.IMPORT_IP_MAX=100
IMPORT_IP_WINDOWinteger`IMPORT_IP_MAX` 가져오기에 대한 시간 범위를 분 단위로 결정합니다.IMPORT_IP_WINDOW=1

대화 가져오기 속도 제한 (사용자당)

KeyTypeDescriptionExample
LIMIT_IMPORT_USERboolean`IMPORT_USER_WINDOW` 기간 동안 사용자가 수행할 수 있는 대화 가져오기 횟수를 제한할지 여부입니다.LIMIT_IMPORT_USER=false
IMPORT_USER_MAXinteger사용자가 `IMPORT_USER_WINDOW` 기간 동안 수행할 수 있는 최대 대화 가져오기 횟수입니다.IMPORT_USER_MAX=50
IMPORT_USER_WINDOWinteger`IMPORT_USER_MAX` 가져오기에 대한 시간 범위를 분 단위로 결정합니다.IMPORT_USER_WINDOW=1

대화 포킹(forking) 속도 제한

사용자가 대화를 포크(fork)할 수 있는 빈도를 제한하여 남용을 방지합니다.

참고: 두 제한기를 모두 활용할 수 있지만, 기본값은 IP로만 제한하는 것입니다.

대화 포킹 속도 제한 (IP당)

KeyTypeDescriptionExample
LIMIT_FORK_IPboolean`FORK_IP_WINDOW`당 IP 하나가 생성할 수 있는 대화 포크 수를 제한할지 여부입니다.LIMIT_FORK_IP=true
FORK_IP_MAXinteger`FORK_IP_WINDOW`당 하나의 IP가 생성할 수 있는 최대 대화 포크 수입니다.FORK_IP_MAX=30
FORK_IP_WINDOWinteger`FORK_IP_MAX` 포크에 대한 시간 범위를 분 단위로 결정합니다.FORK_IP_WINDOW=1

대화 포킹 속도 제한 (사용자당)

KeyTypeDescriptionExample
LIMIT_FORK_USERboolean`FORK_USER_WINDOW`당 사용자가 생성할 수 있는 대화 분기(fork) 수를 제한할지 여부입니다.LIMIT_FORK_USER=false
FORK_USER_MAXinteger`FORK_USER_WINDOW`당 사용자가 생성할 수 있는 최대 대화 포크 수입니다.FORK_USER_MAX=7
FORK_USER_WINDOWinteger`FORK_USER_MAX` 포크에 대한 시간 범위를 분 단위로 결정합니다.FORK_USER_WINDOW=1

허용되지 않는 모델 요청

참고: 잘못된 모델 요청은 거의 항상 악의적인데, 이는 제3자가 자동화된 스크립트를 통해 서버에 접근하려고 시도하고 있음을 의미하기 때문입니다. 이를 위해 5점 이상의 비교적 높은 점수를 권장합니다.

KeyTypeDescriptionExample
ILLEGAL_MODEL_REQ_SCOREinteger비허용 모델 요청에 대한 점수.ILLEGAL_MODEL_REQ_SCORE=5

OpenAI 텍스트 조정(text moderation)

KeyTypeDescriptionExample
OPENAI_MODERATIONboolean**OpenAI** 및 **Plugins** endpoint에서 OpenAI moderation을 활성화할지 여부입니다.OPENAI_MODERATION=false
OPENAI_MODERATION_API_KEYstringOpenAI API 키.OPENAI_MODERATION_API_KEY=

일부 리버스 프록시에서는 작동하지 않을 수 있다는 점에 유의하세요:

KeyTypeDescriptionExample
OPENAI_MODERATION_REVERSE_PROXYstring참고: 기본적으로 주석 처리되어 있으며, 모든 리버스 프록시에서 작동하지 않을 수 있습니다.# OPENAI_MODERATION_REVERSE_PROXY=

이 가이드는 어떤가요?