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 的对话应用更可信、安全且有保障。它可防止 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: 类 Python 语言,用于设计灵活且可控的对话流程。
- Comprehensive Protection: 内建支持越狱检测、幻觉检测与事实核查。
- Multi-LLM Support: 兼容 OpenAI、LLaMa-2、Falcon、Vicuna 与 Mosaic 等模型。
- LangChain Integration: 可选将防护栏包装在 LangChain 链上。
- Evaluation Tools: 包含 CLI 工具 (
nemoguardrails evaluate) 用于测试主题防护栏和审核效果。