Nemo Guardrails
免费
Nemo Guardrails 是 NVIDIA 开源的可编程护栏工具包,提供输入/输出/检索/执行/对话五类护栏机制,支持 Colang 配置语言OpenAI 兼容 API 服务LangChain 集成及 Docker 部署,适用于需要安全合规的 LLM 应用场景。
Nemo Guardrails
核心参数与统计
Nemo Guardrails 是一个面向 LLM 应用的可编程安全护栏工具包,由 NVIDIA 开源并维护,官方定位为"为基于 LLM 的对话应用轻松添加可编程护栏"。它不直接提供聊天界面或模型推理,而是作为中间件层嵌入应用与 LLM 之间,通过五类护栏机制对输入、输出、对话流程、检索结果和执行动作进行过滤与约束。
| 项目 | 公开信息 |
|---|---|
| 官方定位 | 面向 LLM 对话应用的可编程护栏工具包 |
| 护栏类型 | Input、Output、Dialog、Retrieval、Execution |
| 配置语言 | Colang 1.0 / 2.0 |
| 部署形态 | Python 库CLI、Server(Docker) |
| 开源许可 | Apache 2.0 |
| GitHub Stars | 约 6,700 |
| GitHub Forks | 769 |
| 贡献者 | 126 |
| 最新版本 | v0.23.0(2026-07-02) |
| Python 版本 | 3.10 / 3.11 / 3.12 / 3.13 |
| 支持平台 | Web(Server API)、Desktop(CLI) |
部署形态:Nemo Guardrails 提供 Python 库集成、独立 Server 容器和 CLI 三种使用方式。Python 库适合嵌入现有代码,Server 模式适合微服务架构隔离,CLI 模式适合开发期快速验证。
护栏体系:五类护栏分别对应 LLM 应用的不同有节——输入层(用户请求过滤)、输出层(模型回复审核)、对话层(对话流程控制)、检索层(RAG 块级过滤)、执行层(工具调用核验),形成从请求到响应的全链路安全覆盖。
社区活跃度:6,700+ Stars、769 Forks、126 名贡献者,反映该项目已形成稳定的开源生态,社区贡献的集成包括 PolicyAI、CrowdStrike、Cisco、Trend Micro、Pangea 等第三方安全服务。
用户与市场认可
Nemo Guardrails 的市场价值体现在 NVIDIA 的品牌背书与开源社区的双重驱动,定位于 LLM 安全这一快速增长的合规刚需领域。
学术认可:该项目有 EMNLP 2023 系统展示论文(Rebedea et al., 2023),在学术界有公开引用记录,说明其架构设计经过同行评议。
社区采纳:GitHub 数据显示 6,700+ Stars 和 126 名贡献者,开发活动密集——最新提交显示 16 小时前仍有代码更新。Issues 与 Pull Requests 保持在双位数(111 Issues / 64 PRs),社区问题反馈与修复活跃。
企业生态融合:Nemo Guardrails 已与多家安全厂商完成集成对接,包括 ActiveFence、PolicyAI、CrowdStrike AIDR、Cisco AI Defense、Trend Micro Vision One、Pangea AI Guard、GuardrailsAI、Clavata 等,覆盖内容审核、威胁检测PII 脱敏等企业级安全场景。
落地前提:Nemo Guardrails 的价值取决于使用者是否已有或正在构建 LLM 应用。若团队尚未接入任何 LLM 能力,护栏工具包无法独立产生收益。它更适合"已有 LLM 推理链路、需要补充安全治理层"的团队。
成本优势
- C 端/个人:通常提供免费版体验核心功能,高频使用需订阅付费套餐。
- API/开发者:按调用量计费,适合灵活集成到自有系统中的开发团队。
- 企业/私有化:需联系商务获取定制化报价和部署方案。具体价格以官方实时定价页面为准。
主要功能
Nemo Guardrails 的核心能力围绕"五类可编程护栏 + Colang 配置语言 + 第三方安全集成"展开:
- Input Rails(输入护栏):在用户请求到达 LLM 前执行审核,可拒绝输入(如检测到越狱提示)、脱敏敏感数据(PII 替换)、改写输入内容。支持正则匹配、分类器模型API 第三方服务等多种检测方式。
- Output Rails(输出护栏):对 LLM 生成的回复做事后审核,可拒绝输出(如检测到有害内容)、改写回复(如移除敏感数据)、事实核查。0.23.0 新增上下文膨胀检测,可拦截过长/重复/低熵/填充内容。
- Dialog Rails(对话护栏):通过 Colang 语言定义对话流约束,控制 LLM 在预设路径内响应,防止偏离主题或进入非授权话题。支持多轮对话的状态管理。
- Retrieval Rails(检索护栏):在 RAG 场景中,对检索到的文档块进行逐块审核,可在送入 LLM 前拒绝或改写特定块,防止敏感信息被纳入生成上下文。
- Execution Rails(执行护栏):对工具/函数的调用参数与返回值进行校验,确保 LLM 调用的外部动作在安全边界内执行。
- Colang 配置语言:类 Python 语法的专用领域语言,用于定义护栏规则、对话流和用户意图。同时支持 Colang 1.0(默认)与 Colang 2.0。
- Guardrails Server:OpenAI 兼容的 HTTP API 服务,支持
/v1/chat/completions、/v1/models、/v1/checks等端点,可作为现有应用的直接替换层。 - 内置护栏库:预置越狱检测、内容安全、话题安全、事实核查、幻觉检测PII 脱敏等护栏,可直接启用。
模型与版本演进
持续迭代更新,最新版本引入了性能优化和新功能。历史版本信息可通过官方发布页查看。 暂无完整公开的版本演进时间线,建议关注官方公告了解功能更新节奏。
技术优势
Nemo Guardrails 的技术差异化来自其"分层护栏 + 可编程流程控制 + 第三方生态集成"的架构设计:
五层护栏全链路覆盖:Input → Dialog → Retrieval → Execution → Output 五层护栏依次串联,每一层均可独立配置拦截/修改/放行策略。这种分层设计避免了单一检测点的盲区——例如仅靠输出护栏无法阻止用户输入中的越狱尝试,而输入+对话+输出三层联合可形成更完整的防御面。
Colang 可编程对话控制:与其他仅提供固定类别审核的护栏方案不同,Colang 允许开发者用类似 Python 的 DSL 定义自定义对话流、用户意图和机器人行为。这使得护栏不再只是"好/坏"二元分类,而是可以设计复杂的多轮交互约束(如必须先认证、后提问)。
IRails 并行引擎:从 v0.21.0 引入的 IORails 引擎支持输入护栏与 LLM 推理并行执行(即 speculative generation),在非流式模式下将输入护栏的延迟隐藏到 LLM 响应时间内,降低了端到端感知延迟。v0.22.0 将并行能力扩展到流式输出护栏。
可选依赖架构:LangChain 从 v0.22.0 起从核心依赖降级为可选,内置基于 httpx 的 OpenAI 兼容客户端。这一变化减少了依赖冲突风险,也让完全不需要 LangChain 的场景获得更轻量的部署包。v0.23.0 进一步将 wheel 体积缩减约 10 倍。
推理模型兼容:v0.20.0+ 支持 OpenAI 推理模型(如 o-series),自动处理 temperature、stop、max_tokens 等参数的兼容性差异,使护栏层不受底层模型类型变更的影响。
如何使用
Nemo Guardrails 提供三种使用路径,适合不同成熟度的团队:
| 使用方式 | 适合场景 | 特点 |
|---|---|---|
| Python 库(pip) | 已有 LLM 应用代码,需要嵌入护栏 | 最小改动,通过 LLMRails.generate() 替代原 LLM 调用 |
| Guardrails Server(CLI/Docker) | 微服务架构,希望护栏独立部署 | OpenAI 兼容 API,可作为代理层透明接入 |
| Docker 容器 | 生产有境隔离、资源管控 | 完整 Dockerfile,可绑定配置文件与自定义动作 |
Python 库快速接入示例:
from nemoguardrails import LLMRails, RailsConfig
# 加载护栏配置
config = RailsConfig.from_path("PATH/TO/CONFIG")
rails = LLMRails(config)
# 通过护栏层调用 LLM
completion = rails.generate(
messages=[{"role": "user", "content": "Hello world!"}]
)
Server 启动示例:
# 启动护栏服务器
nemoguardrails server --config PATH/TO/CONFIGS --port 8000
# 使用 OpenAI 兼容 API
curl -X POST http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"config_id": "sample",
"messages": [{"role": "user", "content": "Hello!"}]
}'
典型护栏配置文件结构(config.yml):
models:
- type: main
engine: openai
model: gpt-4
rails:
input:
flows:
- check jailbreak
- mask sensitive data on input
output:
flows:
- self check facts
- self check hallucination
落地通常按"先局部后全面"推进:先在 1-2 个低风险 LLM 能力点(如摘要生成、内容分类)上启用输入+输出护栏,验证误报率与延迟影响,再逐步扩展到对话流程和高风险场景(如用户身份认证、支付相关交互)。首次接入时尤其需要关注护栏的假阳性率——过度拦截会显著影响用户体验。
产品定价
Nemo Guardrails 本身是开源项目,采用 Apache 2.0 许可,无软件购买费用。成本主要体现在推理层和运维层:
- C 端/个人开发者:
pip install nemoguardrails免费使用全部核心功能和内置护栏库。额外的 LLM 推理费用(护栏调用的模型)由开发者自行承担。 - 开发者/自托管:无许可费,基础设施成本(GPU/CPU 服务器、存储、网络)、运维人力、自定义护栏规则开发成本。建议至少准备 2-4 周用于护栏配置调优与误报率收敛。
- 企业生产部署:若使用 NVIDIA Build 端点进行护栏推理,需以官方实时定价页面为准;完全自托管则无外部推理费用。企业需额外考虑 SSO 集成、审计日志SLA 等条款,这些需与 NVIDIA 商务团队确认。
应用场景
Nemo Guardrails 的适用场景集中在"已有或正在构建 LLM 应用且需要安全合规治理"的领域:
- 客户支持与对话机器人:在客服 AI 中部署输入护栏(过滤恶意/越狱请求)和输出护栏(确保回复符合公司政策、不含敏感信息),减少人工审核拦截成本。核验重点:护栏误报率对首响时长的影响。
- RAG 知识库问答:启用检索护栏对检出的文档块做逐块安全审核,防止员工在内部知识库查询中意外暴露机密信息。核验重点:块级护栏对检索召回率的影响。
- 金融合规与法务审核:在合同审查、合规问答等高风险场景中,启用全链路护栏(输入+对话+输出),配合第三方安全 API(如 ActiveFence、PolicyAI)做多级过滤。核验重点:多层护栏串联后的端到端延迟。
适用人群
- LLM 应用开发者:需要为自建的 AI 应用添加安全层的团队,可通过 Python 库或 Server 快速集成。Colang 学习成本约 1-3 天。
- AI 安全与合规工程师:负责制定和落地 AI 应用安全策略的角色,可利用 Colang 将安全策略编码为可执行的护栏规则,替代人工审核 SOP。
- 平台架构师 / SRE:需要将 LLM 安全层的治理统一化的团队,可通过 Guardrails Server 实现护栏与业务逻辑的架构解耦。
不适配人群:未使用任何 LLM 能力的团队(护栏无意义);需要"开箱即用、零配置"的安全方案的个人用户(需要一定的开发与配置投入);对端到端延迟极其敏感的场景(每次护栏推理增加 200-1000ms 不等,取决于模型与部署方式)。
总结与展望
Nemo Guardrails 通过五类可编程护栏 + Colang 配置语言 + 开源许可的组合,为 LLM 应用安全治理提供了一个可定制、可审计、可扩展的中间件方案。它不是"一键开启"的安全开关,而是一套需要投入配置与调优的护栏框架。从 v0.14.1 到 v0.23.0 的密集迭代(约 4-6 周一版)可见 NVIDIA 在该领域的持续投入,尤其是 IORails 并行引擎和 LangChain 解耦两个方向,降低了实际部署中的延迟与依赖风险。
当前限制与不确定项:护栏的误报率(假阳性)和漏报率(假阴性)无公开基准数据,团队需自行在目标场景中做压力测试;内置护栏库的适用性需结合实际业务场景评估,官方文档明确表示"内置护栏可能不适用于所有生产场景";NVIDIA Build 端点的生产授权条款与价格尚未公开稳定展示;Colang 2.0 仍在功能完善阶段,生产有境建议以 Colang 1.0 为主。
采购与采用建议:建议新团队先通过 pip install nemoguardrails + 官方示例配置在 1-2 周内完成 PoC,重点评估护栏推理延迟、误报率与 Colang 配置是否满足业务规则复杂度。企业采购前需与 NVIDIA 商务团队确认:生产有境下的 NVIDIA Build 许可条款、私有化部署的架构支持边界、以及 LangChain 集成在目标 LLM 提供商上的兼容性。
相关工具:GitHub Copilot、
Cursor
Nemo Guardrails 的版本演进
从 GitHub Releases 公开信息看,Nemo Guardrails 的版本迭代节奏约为 4-6 周一版,0.14.1 到 0.23.0 的演进主线可归纳为三个阶段:
基础能力搭建期(v0.14.1 - v0.17.0)
- v0.14.1(2025-07-09):越狱检测配置简化LLMRails 构造器修复。
- v0.15.0(2025-08-08):并行护栏执行、流式输出护栏OpenTelemetry 追踪基础设施。
- v0.16.0(2025-09-05):OpenTelemetry 语义约定追踪GuardrailsAI 与 Pangea 社区集成。
- v0.17.0(2025-10-10):工具调用直通RunnableRails 重写、工具输入/输出护栏。
引擎重构与生态拓展期(v0.18.0 - v0.20.0)
- v0.18.0(2025-11-07):BotThinking 推理痕迹护栏、多嵌入提供商Cisco AI Defense 集成LFU 缓存。
- v0.19.0(2025-12-04):LangChain v1.x 兼容。
- v0.20.0(2026-01-22):推理内容安全模型GLiNER PII 检测、多语言拒绝消息。
IORails 与优化期(v0.21.0 - v0.23.0)
- v0.21.0(2026-03-12):IORails 优化引擎(并行非流式护栏)、OpenAI 兼容 Server、LangChain Agent 中间件。
- v0.22.0(2026-05-23):IORails 流式输出护栏OTEL 追踪LangChain 解耦为可选、推理模型支持。
- v0.23.0(2026-07-02):Hugging Face 分类器护栏、上下文膨胀检测Polygraf PII 检测NumPy 搜索替代 Annoy、wheel 包缩减 10 倍。
版本信息
- Nemo Guardrails 0.23.0 :新增 Hugging Face 分类器护栏、上下文膨胀检测Polygraf PII 检测与脱敏;NumPy 精确搜索替代 Annoy;工具调用支持流式与非流式请求;wheel 包体积缩减约 10 倍。
- Nemo Guardrails 0.22.0 :IORails 支持流式输出护栏与 OpenTelemetry 追踪;LangChain 解耦为可选依赖;推理模型支持;Azure 作为一等默认框架预设。以官方实时页面为准。
- Nemo Guardrails 0.21.0 :引入 IORails 优化输入/输出护栏引擎,支持并行执行;OpenAI 兼容的 guardrails server;LangChain Agent 中间件集成;PolicyAI、CrowdStrike AIDR 社区集成。以官方实时页面为准。
- Nemo Guardrails 0.20.0 :推理内容安全模型支持;GLiNER 开源 PII 检测;多语言拒绝消息;流式配置简化。以官方实时页面为准。
- Nemo Guardrails 0.19.0 :LangChain v1.x 兼容支持。以官方实时页面为准。
- Nemo Guardrails 0.18.0 :BotThinking 推理痕迹护栏;Azure OpenAI/Cohere/Google 嵌入提供商;Cisco AI Defense 集成;LFU 内存缓存。以官方实时页面为准。
- Nemo Guardrails 0.17.0 :工具调用直通支持;RunnableRails 重写;工具输入/输出护栏;Trend Micro 社区集成。以官方实时页面为准。
用户评价