NVIDIA-NeMo/Guardrails
NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems.
解決的問題
它在應用程式與大型語言模型 (LLM) 之間提供了一個可程式設計的層,以確保對話保持安全、有保障且切題。它能防止 LLM 討論不受歡迎的主題,抵禦越獄和提示注入等漏洞,並確保模型遵循預先定義的對話路徑,而不是偏離到不可預測的行為。
運作方式
該函式庫實作了「rails」——可程式設計的控制機制,可在 LLM 管線的不同階段攔截和修改資料:
- 輸入護欄:在使用者輸入到達 LLM 之前對其進行篩選或修改。
- 對話護欄:使用稱為 Colang 的專用建模語言來定義標準形式並引導對話流程。
- 檢索護欄:過濾或遮罩在 RAG(檢索增強生成)過程中檢索到的資料。
- 執行護欄:控制由 LLM 呼叫的自訂工具或動作的輸入和輸出。
- 輸出護欄:在 LLM 的回應傳遞給使用者之前對其進行驗證或修改。
適用對象
建構 LLM 驅動應用程式的開發者,例如特定領域的聊天機器人、基於 RAG 的問答系統或自訂 LLM 端點,且需要對模型行為和安全性進行嚴格控制。
亮點
- Colang 建模語言:一種專為設計可控對話流程而設計的類 Python 語言。
- 全面保護:內建對幻覺偵測、事實查核以及越獄/注入掃描的支援。
- 靈活整合:可與各種 LLM(GPT-4、LLaMa-2 等)搭配使用,並可選擇與 LangChain 整合。
- 部署選項:可作為 Python 函式庫使用、透過 CLI 使用,或作為帶有 HTTP API 的獨立伺服器進行部署。
相關
- 專案
- 專案
- 專案
- 專案