Guardrails

给大模型对话装上可编程的安全护栏,防止跑偏和有害输出。

NeMo Guardrails 是 NVIDIA 开源的 LLM 对话系统安全护栏工具包,旨在为基于大语言模型的对话应用添加可编程的、可组合的安全约束。它解决的核心问题是:LLM 输出不可控、易产生有害或越界内容,且难以在复杂对话流程中系统性地进行安全管控。其核心能力包括:通过定义可编程的 Rails(护栏)来约束对话行为,支持三种主要护栏类型——Topical Rails(限定对话主题范围)、Safety Rails(检测并阻止有害内容)和 Fact-checking Rails(验证事实准确性);提供基于 Colang 的领域特定语言(DSL)来编写对话流程和护栏规则,使开发者无需深入模型内部即可灵活定制安全策略;支持与主流 LLM(如 GPT、Llama 等)集成,并可与 LangChain、RAG 等框架协同工作;内置可插拔的检测器(如 Jailbreak 检测、敏感话题检测)和生成器,便于扩展。该工具特别适合企业级应用,能在不牺牲功能的前提下显著提升 LLM 系统的安全性和合规性。

开源 free 评测安全
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 7179
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类评测安全
开发团队NVIDIA-NeMo
所属国家
定价模式free
价格说明开源工具包,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型agents,generative-ai,guardrails,llm-safety,llm-security,llms,nvidia,python,safety
GitHub 星标★ 7179
30天Star增速
HF 下载量
上线时间2023-04-18 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数9

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 3.10、3.11、3.12 或 3.13
  • 可用的 pip 包管理环境
  • 一个 guardrails 配置目录(含 config.yml,可选 config.py、actions.py)
  • 如需 Docker 部署:本地已安装 Docker(README 提供 Dockerfile)

安装与启动步骤

  1. 1检查 Python 版本

    Guardrails 要求 Python 3.10~3.13,版本不符需先升级或切换虚拟环境后再安装。

    python --version
  2. 2安装 nemoguardrails

    使用 pip 从 PyPI 安装官方包,无需克隆仓库;建议在虚拟环境中安装。

    pip install nemoguardrails
  3. 3准备配置目录

    按标准结构创建配置文件夹:config.yml 放通用配置,config.py 放初始化代码,actions.py 放自定义 Python action。

  4. 4编写 config.yml

    在配置文件中声明要使用的 LLM 模型、需要启用的 rails 以及自定义配置数据;不配置任何 rail 时会直接转发请求给 LLM。

  5. 5用 Python API 调用

    通过 RailsConfig.from_path 加载配置并创建 LLMRails 实例,再用 generate 方法发起对话,输入输出格式与 Chat Completions API 类似。

    from nemoguardrails import LLMRails, RailsConfig
    
    config = RailsConfig.from_path("PATH/TO/CONFIG")
    rails = LLMRails(config)
    
    completion = rails.generate(
        messages=[{"role": "user", "content": "Hello world!"}]
    )
    print(completion)
  6. 6按需关闭遥测

    库默认会收集匿名使用统计;如不希望上报,设置该环境变量即可关闭。

    export NEMO_GUARDRAILS_NO_USAGE_STATS=1

关键配置

配置项必填说明示例
PATH/TO/CONFIG是护栏配置目录路径,由 RailsConfig.from_path 加载PATH/TO/CONFIG
config.yml是通用配置:LLM 模型、启用的 rails、自定义配置数据config/config.yml
config.py否自定义初始化代码文件config/config.py
actions.py否自定义 Python action 文件config/actions.py
NEMO_GUARDRAILS_NO_USAGE_STATS否设为 1 可关闭匿名使用统计遥测1

如何确认成功

运行 rails.generate 后应返回类似 {"role": "assistant", "content": "Hi! How can I help you?"} 的回复。

常见问题

Q:需要什么 Python 版本?

A:README 要求 Python 3.10、3.11、3.12 或 3.13,其他版本未声明支持。

Q:怎么关闭使用统计上报?

A:设置环境变量 export NEMO_GUARDRAILS_NO_USAGE_STATS=1 即可;上报内容不含提示词、模型名、密钥等用户内容。

Q:如何用 Docker 部署服务器?

A:仓库提供了 Dockerfile,可用来构建 nemoguardrails 镜像,具体命令见官方文档 using Docker 章节。

Q:调用方式和直接调 LLM 差别大吗?

A:差别很小:加载配置生成 LLMRails 实例后,用 generate/generate_async 替代原 LLM 调用,消息格式与 Chat Completions API 类似。

Q:配置里不写任何 rail 会怎样?

A:没有配置 rail 的配置会直接把请求转发给底层 LLM,相当于不做额外约束。

注意事项

  • README 只给出 pip 安装方式,其他安装细节需查阅官方 Installation Guide。
  • 标准配置目录结构为 config.yml、config.py、actions.py、rails.co 等文件组成的 config 文件夹。
  • 遥测事件会尽力写入本地审计文件 ~/.config/nemoguardrails/usage_stats.json。
  • 官方文档:https://docs.nvidia.com/nemo/guardrails/latest/index.html

核心亮点

  • 提供 Colang 专用语言,可灵活定义对话流程和护栏规则,比纯提示词约束更系统化。
  • 内置多种安全检测器(如越狱攻击、敏感话题),开箱即用,并支持自定义扩展。
  • 与 LangChain、RAG 等主流框架集成良好,能快速嵌入现有 LLM 应用。

不足之处

  • 学习曲线较陡,需要掌握 Colang 语法,对新手不够友好。
  • 文档和示例相对有限,部分高级用法需自行探索。

适用场景

  • 企业客服机器人,确保回答不涉及敏感话题或违规内容。
  • 内容生成工具,过滤有害信息并保持输出符合品牌规范。
  • 多轮对话系统,控制对话主题不偏离预设范围。

替代项目

Guardrails AI、Llama Guard、OpenAI Moderation API

项目介绍

Guardrails 是评测安全领域的开源项目,由 NVIDIA-NeMo 开发,2023 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(7,179)位列前 7%,在评测安全分类的 466 个项目里位列前 4%。

近 41 天,它的 GitHub 星标从 6,930 增加到 7,179,净增 249。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。完全免费,可自行部署使用。

它主要面向的使用场景是:企业客服机器人,确保回答不涉及敏感话题或违规内容。同类可对比的替代方案包括 Guardrails AI、Llama Guard、OpenAI Moderation API。

上一篇:presidio

下一篇:Awesome-LLMSecOps

同类项目推荐

akto 开源

给 AI 应用做安全体检,防提示注入和数据泄露

Akto is the fastest growing AI Security platform for your teams to secure AI agents,···

★ 1517 2026-08-20
XSafeClaw 开源

给 AI 智能体装上安全盾,自动红队测试找漏洞

Introducing XSafeClaw: The Open-Source Agent Safety Platform from Fudan University

★ 164 2026-08-10
deepteam 开源

自动模拟越狱攻击,提前测出 LLM 安全漏洞

DeepTeam is a framework to red team LLMs and AI agents.

★ 2937 2026-09-12