描述
NeMo Guardrails 是一个开源工具包,旨在赋能开发者为其基于大型语言模型(LLM)的对话应用程序添加可编程的 guardrails。这些 guardrails,通常被称为“rails”,提供了一种结构化的方法来控制 LLM 的输出,确保其符合预定义的规则和目标。这包括防止讨论敏感话题、强制执行特定的响应模式、沿预定义路径引导对话以及提取结构化数据。
该工具包充当应用程序代码和 LLM 之间的中间层,提供关键优势,例如构建值得信赖、安全可靠的 LLM 应用程序。开发者可以定义 rails 来指导和保护对话,规定 LLM 在特定主题上的行为,并防止与不受欢迎的话题进行交互。这对于维护品牌形象和用户安全至关重要。
NeMo Guardrails 还促进了 LLM 与外部服务或工具之间的安全连接。它通过引导 LLM 遵循设计的对话流程来实现可控对话,遵守对话设计中的最佳实践,并强制执行身份验证或支持协议等标准操作程序。此外,该库通过提供各种防御机制,可以有效防止常见的 LLM 漏洞,包括越狱和提示注入。
该库支持多种 LLM,包括 OpenAI 的 GPT 系列、LLaMa-2、Falcon、Vicuna 和 Mosaic。它提供五种主要的 guardrails 类型:用于处理用户输入的 Input rails、用于影响 LLM 提示和对话流程的 Dialog rails、用于管理 RAG 场景中检索数据的 Retrieval rails、用于管理自定义操作的 Execution rails,以及用于审核 LLM 生成内容的 Output rails。可以通过 Python API 或专用的 guardrails 服务器来管理配置,并支持同步和异步操作。该工具包引入了 Colang,一种类似 Python 的建模语言,用于定义这些 guardrails,从而为对话流程提供灵活性和控制力。
NeMo Guardrails的核心功能
为 LLM 对话系统提供可编程的 guardrails
增强 LLM 输出的安全性、可靠性和控制力
防止 LLM 讨论不受欢迎的话题
引导 LLM 遵循预定义的对话路径
促进与外部工具和服务的安全集成
防范 LLM 漏洞,如越狱和提示注入
支持多种 LLM,包括 OpenAI、LLaMa-2、Falcon 和 Vicuna
提供五种 guardrails 类型:Input、Dialog、Retrieval、Execution 和 Output
可通过 Python API 或专用 guardrails 服务器进行配置
引入 Colang 用于定义对话流程和 guardrails
支持同步和异步操作
内置 CLI 用于服务器管理和交互式聊天会话
与 LangChain 集成以增强 LLM 应用开发
NeMo Guardrails入门
克隆仓库:从 GitHub 获取 NeMo Guardrails 代码。
安装依赖项:设置您的 Python 环境并安装必要的包。
配置 guardrails:使用 Colang 和配置文件定义所需的 rails。
与 LLM 集成:在您的应用程序中加载配置并创建 LLMRails 实例。
执行调用:使用 `generate` 或 `generate_async` 方法通过 guardrails 与 LLM 进行交互。
部署服务器(可选):启动 guardrails 服务器以通过 API 访问您的配置。
NeMo Guardrails的使用案例
- 安全聊天机器人
- 数据提取
- 内容审核
- RAG 系统
- LLM 端点安全
- 可控对话流程
- 漏洞防护





