Guardrails:是什麼、解決什麼問題以及為何受到關注
Guardrails:是什麼、解決什麼問題以及為何受到關注
它解決了什麼問題
NeMo Guardrails 在應用程式與大型語言模型 (LLM) 之間提供了一個可程式化的層,以確保對話保持安全、可靠且符合主題。它能防止 LLM 討論不當話題,保護模型免受 jailbreak 和 prompt injection 等漏洞的攻擊,並確保模型遵循預定義的對話路徑,而不是偏離到不可預測的行為中。
運作方式
此工具包實作了「rails」(護欄)——即在五個關鍵階段攔截並修改資訊流的可程式化控制機制:
- Input Rails:在使用者輸入到達 LLM 之前進行過濾或更改。
- Dialog Rails:使用一種稱為 Colang 的專用建模語言來引導對話沿著預定義的路徑進行。
- Retrieval Rails:在 RAG 場景中,這些護欄會在檢索到的文件區塊被用於提示詞之前進行過濾或修改。
- Execution Rails:控制 LLM 所呼叫的自定義工具或動作的輸入與輸出。
- Output Rails:在 LLM 的回應傳遞給使用者之前進行審查與修改。
開發人員可以透過 config.yml 檔案和 .co (Colang) 檔案來配置這些護欄,然後使用 Python API 或專用的 guardrails server 進行部署。
對象是誰
- LLM Application Developers:正在構建聊天機器人或特定領域助手,且需要對模型行為進行嚴格控制的人員。
- RAG Implementers:需要在檢索到的數據上強制執行事實查核與輸出審查的開發人員。
- Enterprise AI Teams:需要為面向客戶的 AI 提供標準作業程序(例如:身分驗證)與安全保障的組織。
重點摘要
- Colang:一種專用的建模語言,用於設計靈活且可控的對話流。
- 全面保護:內建對 jailbreak 檢測、幻覺檢測與內容安全支援。
- 靈活整合:可與各種 LLM (GPT-4, LLaMa-2, Falcon, 等) 搭配使用,並可選擇性地與 LangChain 整合。
- 評估工具:包含一個 CLI 工具 (
nemoguardrails evaluate),用於測試主題護欄、審查與事實查核。
Sources
- undefinedNVIDIA-NeMo/Guardrails