NVIDIA-NeMo/Guardrails

NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems.

它解决了什么问题

它在应用程序和大型语言模型(LLM)之间提供了一个可编程层,以确保对话保持安全、可靠且紧扣主题。它可以防止 LLM 讨论不希望涉及的话题,抵御诸如越狱和提示注入等漏洞,并确保模型遵循预定义的对话路径,而不是偏离到不可预测的行为。

它如何工作

该库实现了“轨道”——可编程控制机制,可在 LLM 处理流程的不同阶段拦截并修改数据:

  • 输入轨道:在用户输入到达 LLM 之前进行筛选或修改。
  • 对话轨道:使用一种名为 Colang 的专用建模语言来定义标准对话形式并引导对话流程。
  • 检索轨道:在 RAG(检索增强生成)过程中过滤或屏蔽检索到的数据。
  • 执行轨道:控制 LLM 调用的自定义工具或操作的输入和输出。
  • 输出轨道:在将 LLM 的响应交付给用户之前进行验证或修改。

适用于谁

需要严格控制模型行为和安全性的开发者,例如构建领域特定聊天机器人、基于 RAG 的问答系统或自定义 LLM 端点的应用程序。

主要亮点

  • Colang 建模语言:一种专为设计可控对话流程而设计的 Python 风格语言。
  • 全面的保护机制:内置对幻觉检测、事实核查以及越狱/注入攻击的扫描支持。
  • 灵活的集成方式:兼容多种 LLM(如 GPT-4、LLaMa-2 等),并可选择性地与 LangChain 集成。
  • 多种部署选项:可作为 Python 库使用,通过 CLI 调用,或部署为带有 HTTP API 的独立服务器。

相关

  • 项目
  • 项目
  • 项目
  • 项目