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) 用于测试主题防护栏和审核效果。