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) 用於測試主題防護欄與審核效能。