Guardrails

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 评测安全 🍴 复刻 899 🐛 待处理 274 👀 关注 47
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 7460
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源工具包,完全免费,可自行部署使用。

项目预览

Guardrails 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类评测安全
开发团队NVIDIA-NeMo
定价模式🏷️完全免费
价格说明开源工具包,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型agents,generative-ai,guardrails,llm-safety,llm-security,llms,nvidia,python,safety
GitHub 星标★ 7460
上线时间2023-04-18 00:00:00
代码更新2026-11-09
仓库体积153.6 MB
本站数据更新2026-11-10
维护状态活跃
收录时间2026-08-10
浏览次数10

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 7460

使用教程

难度:入门 约 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

上一篇:presidio

下一篇:Awesome-LLMSecOps

同类项目推荐

agentdojo 开源

搭建 LLM 智能体攻防演练场,量化安全风险

A Dynamic Environment to Evaluate Attacks and Defenses for LLM Agents.

★ 1011 2026-08-09
awesome-security-for-ai 开源

一站式导航AI安全工具,快速选型不踩坑

Awesome products for securing AI systems includes open source and commercial options···

★ 91 2026-08-09
ai-safe2-framework 开源

给 AI 智能体装上治理与合规操作系统,让 AI 安全落地。

The Universal Governance, Risk, Compliance (GRC) Operating System with Integrated Se···

★ 158 2026-08-10
Awesome-Video-MLLMs 开源

一站式追踪视频多模态大模型前沿,快速找到所需模型和基准。

:fire: :fire: :fire: Awesome MLLMs/Benchmarks for Short/Long/Streaming Video Underst···

★ 75 2026-08-09
GLM-5.3-Flash-J-Space-Capability··· 开源

把大模型智能体能力评测做成可读报告,一眼看清真实水平

GLM-5.3-Flash × J-Space capability realization — benchmark presentation of the J-S···

★ 1016 2026-09-25
athina-sdk 开源

写测试、跑监控,让 LLM 应用在生产环境不翻车

LLM Testing SDK that helps you write and run tests to monitor your LLM app in produc···

★ 131 2026-08-09
dsh-auto-review 开源

给DeepSeek审批加道AI安全锁,自动审查敏感操作

Second-model AI auto-review for DeepSeek Harness approval requests: a read-only revi···

★ 247 2026-09-05