NVIDIA-NeMo/Guardrails
NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems.
What it solves
NeMo Guardrails는 LLM 기반 대화 애플리케이션을 보다 신뢰할 수 있고 안전하며 보안되게 만들기 위한 툴킷입니다. 정치와 같은 원하지 않는 주제에 대한 논의를 방지하고, 사전에 정의된 대화 경로를 따르게 하며, 탈옥 및 프롬프트 인젝션과 같은 일반적인 취약점으로부터 보호합니다.
How it works
이 라이브러리는 애플리케이션 코드와 LLM 사이에 프로그래밍 가능한 레이어를 제공합니다. Colang이라는 특수 모델링 언어를 사용해 대화 흐름과 가드레일을 정의합니다. 가드레일은 다음 다섯 가지 유형으로 구분됩니다:
- Input rails: 사용자 입력이 LLM에 도달하기 전에 필터링하거나 수정합니다.
- Dialog rails: 대화 흐름을 조정하고 LLM이 응답을 생성할지 사전 정의된 응답을 사용할지를 결정합니다.
- Retrieval rails: RAG 시나리오에서 검색된 문서를 필터링하거나 수정합니다.
- Execution rails: LLM이 호출하는 커스텀 도구/액션의 입력 및 출력을 관리합니다.
- Output rails: LLM의 응답이 사용자에게 전달되기 전에 필터링하거나 수정합니다.
Who it’s for
LLM 기반 챗봇, RAG 기반 질문‑응답 시스템, 또는 모델 동작과 안전 모더레이션을 세밀하게 제어해야 하는 맞춤형 LLM 엔드포인트를 구축하는 개발자를 위한 것입니다.
Highlights
- Colang Modeling Language: 파이썬과 유사한 언어로, 유연하면서도 제어 가능한 대화 흐름을 설계합니다.
- Comprehensive Protection: 탈옥 탐지, 환각 탐지, 사실 검증을 기본 지원합니다.
- Multi-LLM Support: OpenAI, LLaMa-2, Falcon, Vicuna, Mosaic 등 다양한 모델과 호환됩니다.
- LangChain Integration: 선택적으로 Guardrails를 LangChain 체인에 래핑할 수 있습니다.
- Evaluation Tools: 토픽 레일 및 모더레이션 효과를 테스트하는 CLI 도구 (
nemoguardrails evaluate)가 포함되어 있습니다.