项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 7460
使用教程
环境要求
- Python 3.10、3.11、3.12 或 3.13
- 可用的 pip 包管理环境
- 一个 guardrails 配置目录(含 config.yml,可选 config.py、actions.py)
- 如需 Docker 部署:本地已安装 Docker(README 提供 Dockerfile)
安装与启动步骤
-
1检查 Python 版本
Guardrails 要求 Python 3.10~3.13,版本不符需先升级或切换虚拟环境后再安装。
python --version -
2安装 nemoguardrails
使用 pip 从 PyPI 安装官方包,无需克隆仓库;建议在虚拟环境中安装。
pip install nemoguardrails -
3准备配置目录
按标准结构创建配置文件夹:config.yml 放通用配置,config.py 放初始化代码,actions.py 放自定义 Python action。
-
4编写 config.yml
在配置文件中声明要使用的 LLM 模型、需要启用的 rails 以及自定义配置数据;不配置任何 rail 时会直接转发请求给 LLM。
-
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按需关闭遥测
库默认会收集匿名使用统计;如不希望上报,设置该环境变量即可关闭。
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
同类项目推荐
agentdojo
开源
搭建 LLM 智能体攻防演练场,量化安全风险
A Dynamic Environment to Evaluate Attacks and Defenses for LLM Agents.
awesome-security-for-ai
开源
一站式导航AI安全工具,快速选型不踩坑
Awesome products for securing AI systems includes open source and commercial options···
ai-safe2-framework
开源
给 AI 智能体装上治理与合规操作系统,让 AI 安全落地。
The Universal Governance, Risk, Compliance (GRC) Operating System with Integrated Se···
ChatGPT-Sentiment-Evaluation
开源
测测ChatGPT懂不懂你的情绪
Can ChatGPT really understand the opinions, sentiments, and emotions contained in th···
Awesome-Video-MLLMs
开源
一站式追踪视频多模态大模型前沿,快速找到所需模型和基准。
:fire: :fire: :fire: Awesome MLLMs/Benchmarks for Short/Long/Streaming Video Underst···
GLM-5.3-Flash-J-Space-Capability···
开源
把大模型智能体能力评测做成可读报告,一眼看清真实水平
GLM-5.3-Flash × J-Space capability realization — benchmark presentation of the J-S···
athina-sdk
开源
写测试、跑监控,让 LLM 应用在生产环境不翻车
LLM Testing SDK that helps you write and run tests to monitor your LLM app in produc···
openai-guardrails-python
开源
给 LLM 应用加一层安全护栏,自动拦截违规输入输出
OpenAI Guardrails - Python
dsh-auto-review
开源
给DeepSeek审批加道AI安全锁,自动审查敏感操作
Second-model AI auto-review for DeepSeek Harness approval requests: a read-only revi···
