Guardrails:它是什么、解决什么问题以及为什么它正受到关注

Guardrails:它是什么、解决什么问题以及为什么它正受到关注

它解决的问题

NeMo Guardrails 在应用程序和大型语言模型 (LLM) 之间提供了一个可编程层,以确保对话保持安全、可靠且符合主题。它能防止 LLM 讨论不当话题,抵御 jailbreaks 和 prompt injections 等漏洞,并确保模型遵循预定义的对话路径,而不是偏离到不可预测的行为中。

工作原理

该工具包实现了“rails”(护栏)——即在五个关键阶段拦截并修改信息流的可编程控制措施:

  1. Input Rails:在用户输入到达 LLM 之前对其进行过滤或更改。
  2. Dialog Rails:使用一种名为 Colang 的专用建模语言来引导对话沿预定义的路径进行。
  3. Retrieval Rails:在 RAG 场景中,这些护栏会在检索到的文档块被用于提示词之前对其进行过滤或修改。
  4. Execution Rails:控制 LLM 调用的自定义工具或操作的输入和输出。
  5. Output Rails:在 LLM 的响应交付给用户之前对其进行审查和修改。

开发者可以通过 config.yml 文件和 .co (Colang) 文件配置这些护栏,然后使用 Python API 或专门的 guardrails server 进行部署。

适用人群

  • LLM Application Developers:构建聊天机器人或特定领域助手,并需要对模型行为进行严格控制的人员。
  • RAG Implementers:需要在检索数据上实施事实核查和输出审核的人员。
  • Enterprise AI Teams:需要为面向客户的 AI 提供标准操作程序(例如身份验证)和安全保障的组织。

亮点

  • Colang:一种用于设计灵活且可控的对话流的专用建模语言。
  • 全面的保护:内置对 jailbreak detection、hallucination detection 和内容安全的支持。
  • 灵活的集成:支持多种 LLM(GPT-4, LLaMa-2, Falcon 等)并可选择性地与 LangChain 集成。
  • 评估工具:包含一个 CLI 工具 (nemoguardrails evaluate),用于测试主题护栏、审核和事实核查。

Sources