Guardrails:是什麼、解決什麼問題以及為何受到關注

Guardrails:是什麼、解決什麼問題以及為何受到關注

它解決了什麼問題

NeMo Guardrails 在應用程式與大型語言模型 (LLM) 之間提供了一個可程式化的層,以確保對話保持安全、可靠且符合主題。它能防止 LLM 討論不當話題,保護模型免受 jailbreak 和 prompt injection 等漏洞的攻擊,並確保模型遵循預定義的對話路徑,而不是偏離到不可預測的行為中。

運作方式

此工具包實作了「rails」(護欄)——即在五個關鍵階段攔截並修改資訊流的可程式化控制機制:

  1. Input Rails:在使用者輸入到達 LLM 之前進行過濾或更改。
  2. Dialog Rails:使用一種稱為 Colang 的專用建模語言來引導對話沿著預定義的路徑進行。
  3. Retrieval Rails:在 RAG 場景中,這些護欄會在檢索到的文件區塊被用於提示詞之前進行過濾或修改。
  4. Execution Rails:控制 LLM 所呼叫的自定義工具或動作的輸入與輸出。
  5. 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