/v1/* 呼叫都會被審查——在模型看到提示之前,以及在模型回答之後——無需重新部署,也無需修改 SDK。
本頁是 Guardrails 章節的樞紐:什麼是防護欄、規則類型、階段與動作,以及一份政策如何綁定到金鑰。每個分頁都會更深入。完整的引擎參考請見 防護欄。
1. AI 防護欄在閘道上做什麼
大多數團隊使用防護欄是為了讓敏感資料不進入提示(PII、密鑰)、把關不安全的內容(越獄、提示注入意圖),或滿足某項合規控制。防護欄就是閘道的答案:一份工作區層級的命名政策——一份閘道會針對請求輸入和模型輸出執行的有序規則清單。 由於綁定關係存在於閘道中的 API 金鑰上——而不是你的應用程式中——編輯防護欄會在下次呼叫時切換每一個綁定的金鑰。你的程式碼像以前一樣繼續呼叫/v1/chat/completions。
2. 一個具體範例
在主控台(/console/guardrails)中建立一個名為 pii-shield 的防護欄,新增一條 PII 規則——階段 input、動作 mask、實體 email、ssn——並將它綁定到一個金鑰。從此以後:
Reply to [EMAIL] please——上游模型永遠看不到這個地址。把那個 ssn 實體改為 block,下一個攜帶 SSN 的請求就會以 HTTP 400 被拒絕。無需修改應用程式。
3. 規則:類型、階段、動作
每條規則回答三個問題。引擎會執行所有適用的規則,並把它們摺疊成單一決策。類型——尋找什麼
類型——尋找什麼
七種規則類型。內建類型是確定性的(純字串/正規表示式,無網路);進階類型會對外呼叫模型或廠商,並以並行方式執行。
keyword——字面封鎖清單,不分大小寫的子字串比對。regex——一個 RE2 模式(線性時間、無回溯參照)。pii——內建實體偵測器加上你自己的。參見 §5。max_chars——限制某階段的字元數上限。external——委派給已連接的廠商(Aporia、Averta,或你自己的 webhook)。llm_judge——針對你工作區中的某個模型執行語意檢查。grounding——針對請求擷取的來源(RAG)對答案忠實度評分。
動作——要做什麼
動作——要做什麼
規則建構器中會呈現五種動作:
- block——以 HTTP 400 拒絕呼叫。
- mask——遮罩匹配項並讓淨化後的文字通過。
- flag——不改變流量的任何部分;只記錄匹配。
- annotate——保留文字不變,但向上游注入一則安全註記(例如在模型回答前附上一則 CVE 公告)。
- spotlight——將匹配到的不可信文字包裹在分隔符中,並告訴模型把它當作資料而非指令。
4. 防護欄如何綁定與解析
防護欄透過guardrail_id 綁定到金鑰,或者一個工作區可以將某個防護欄標記為預設值。對於任何請求,閘道會按此順序解析:
- 明確綁定——如果金鑰的
guardrail_id指向一個存在且已啟用的防護欄,則套用該防護欄。明確綁定永不回退:停用它就是關閉開關。 - 工作區預設值——如果金鑰沒有綁定,則套用已啟用的預設防護欄。
- 兩者皆無——不執行任何強制;請求與從未啟用此功能的工作區位元組完全一致。
這與防火牆不同。一個被停用的綁定防火牆政策會回退到工作區預設值;而一個被停用的綁定防護欄則歸於無。對防護欄而言,關閉開關就是字面意義上的關閉。
5. PII 偵測器
一條pii 規則出貨時帶有一組封閉的內建偵測器:
email、phone、credit_card、ssn、ip、iban、mac_address、jwt、aws_access_key、api_key_openai、bitcoin_address——外加區域性的 jp_mynumber、kr_rrn 和 cn_resident_id。
在 mask 動作下,每個匹配項會變成一個具型別的標籤——電子郵件渲染為 [EMAIL],SSN 渲染為 [SSN]。你可以為每條規則疊加最多 25 個自訂實體(一個帶有可選 Luhn 校驗的正規表示式),並透過每實體覆寫在一條規則內把不同實體導向不同動作。
6. 預設選擇器
New guardrail 會直接開啟一個範本。預設值在伺服器端撰寫,因此主控台、沙盒與本文件描述的是相同的行為。選擇器將它們分組為類別:
預設是種子,不是鎖——套用它,然後自由編輯。更多起點請見 範本。
7. 當防護欄封鎖時
被封鎖的請求會傳回 HTTP 400,錯誤代碼為guardrail_blocked,並附上指明觸發的防護欄與規則的訊息。
- 不消耗任何配額。 輸入階段的封鎖在計量之前觸發;輸出階段的封鎖會退還已預先扣除的配額。
- 請求被標記為 skip-retry——重跑同一個提示只會再次被封鎖,所以閘道不會在另一個通道上浪費一次重試。
8. 上線之後
匹配動態
每條觸發的規則都會記錄類型、動作、階段與詳情。分組、篩選、匯出,並深入單個匹配。
日誌與隱私
匹配到的子字串只在 Log raw content 開啟時才會記錄——預設為關閉,採隱私保守姿態。
版本控制
每次變更都會寫入一筆歷史列。比對任意兩個版本並以新版本還原——歷史永不可變。
測試與評測
沙盒 Test 分頁在無上游呼叫的情況下評估目前政策,評測工具則針對隨附或自訂語料庫為它評分。
