NVIDIA-NeMo/Guardrails

NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems.

What it solves

NeMo Guardrails 是一個工具組,旨在讓基於 LLM 的對話應用更可信、安全且有保障。它可防止 LLM 討論不希望的主題(例如政治),確保它們遵循預先定義的對話路徑,並防護常見的漏洞,如越獄和提示注入。

How it works

此函式庫作為應用程式碼與 LLM 之間的可程式化層。它使用一種名為 Colang 的專門建模語言來定義對話流程與防護欄。這些防護欄分為五種類型:

  • Input rails: 在使用者輸入到達 LLM 前過濾或修改。
  • Dialog rails: 引導對話流程,決定 LLM 是否產生回應或使用預先定義的回應。
  • Retrieval rails: 在 RAG 情境中過濾或修改檢索到的文件。
  • Execution rails: 管理 LLM 呼叫的自訂工具/動作的輸入與輸出。
  • Output rails: 在 LLM 回應到達使用者前過濾或修改。

Who it’s for

開發使用 LLM 的聊天機器人、基於 RAG 的問答系統,或需要細緻控制模型行為與安全審核的自訂 LLM 端點的開發者。

Highlights

  • Colang Modeling Language: 類 Python 語言,用於設計彈性且可控的對話流程。
  • Comprehensive Protection: 內建支援越獄偵測、幻覺偵測與事實核查。
  • Multi-LLM Support: 相容於 OpenAI、LLaMa-2、Falcon、Vicuna 與 Mosaic 等模型。
  • LangChain Integration: 可選擇將防護欄包裹於 LangChain 鏈上。
  • Evaluation Tools: 包含 CLI 工具 (nemoguardrails evaluate) 用於測試主題防護欄與審核效能。