NeMo Guardrails 使用介绍:功能、价格与上手指南

NeMo Guardrails 是 NVIDIA 推出的开源工具包,用于为 LLM 对话系统添加可编程的安全护栏。本文介绍其核心功能、免费开源定价、安装配置步骤,并通过一个简单示例演示如何快速上手,最后给出生产环境的使用建议。

NeMo Guardrails 是 NVIDIA 推出的开源工具包,专为大型语言模型(LLM)对话系统设计,帮助开发者在应用中加入可编程的安全护栏。无论你是构建客服机器人、教育助手还是企业级 AI 应用,NeMo Guardrails 都能有效控制模型输出,防止有害、越界或不相关的回复。

核心功能

NeMo Guardrails 提供以下几类关键护栏:

  • 输入护栏:检测并拦截用户输入中的敏感话题、越狱尝试或恶意指令。
  • 输出护栏:对模型生成的回复进行过滤,确保符合安全策略和品牌规范。
  • 对话护栏:控制对话流程,引导模型按预设路径回复,避免偏离主题。
  • 执行护栏:限制模型调用外部工具或 API 的行为,防止危险操作。
  • 可编程规则:使用 Colang 语言定义对话规则,灵活定制护栏逻辑。

这些功能通过轻量级运行时与 LLM 集成,无需重新训练模型即可生效。

价格模式

NeMo Guardrails 本身是完全开源且免费的,基于 Apache 2.0 许可证发布。你可以自由下载、修改和部署。

但需要注意:使用 NeMo Guardrails 时,你仍需为底层 LLM 付费。例如:

  • 使用 OpenAI GPT 系列:按 API 调用量付费。
  • 使用 NVIDIA NIM 或本地部署模型:按硬件或云资源付费。
  • 使用开源模型(如 Llama、Mistral):仅需基础设施成本。

因此,NeMo Guardrails 没有额外授权费用,成本取决于你选择的 LLM 和部署方式。

上手指南

环境准备

确保已安装 Python 3.8+,然后执行:

pip install nemoguardrails

如需使用 OpenAI,还需设置 API 密钥:

export OPENAI_API_KEY="your-key"

创建配置目录

新建一个文件夹,例如 my_rails,并在其中创建 config.yml

models:
  - type: main
    engine: openai
    model: gpt-3.5-turbo

再创建 rails.co 定义对话规则:

define user ask about politics
  "你如何看待当前政治局势?"

define flow
  user ask about politics
  bot refuse to answer

define bot refuse to answer
  "抱歉,我无法讨论政治话题。"

运行护栏

编写 Python 脚本:

from nemoguardrails import LLMRails, RailsConfig

config = RailsConfig.from_path("./my_rails")
rails = LLMRails(config)

response = rails.generate(messages=[{"role": "user", "content": "你如何看待当前政治局势?"}])
print(response)

输出将是预设的拒绝回复,而非模型自由生成的内容。

生产环境建议

  • 组合使用多种护栏:输入、输出和对话护栏协同工作,提升安全性。
  • 定期更新规则:根据业务变化和新型攻击方式调整 Colang 规则。
  • 监控与日志:记录护栏触发情况,便于分析和优化。
  • 性能考量:护栏会增加少量延迟,建议在关键路径上做性能测试。

结论

NeMo Guardrails 是一个免费、开源且功能强大的工具,能显著提升 LLM 对话系统的安全性和可控性。通过简单的 YAML 和 Colang 配置,你可以在几分钟内为现有应用添加护栏。对于需要合规、品牌保护或防滥用的 AI 产品,它是值得优先考虑的解决方案。

返回 AI 教程列表