查詢引擎對外呼叫若未經閘道收口,工具與檢索都易失控;對齊二〇二六 OpenClaw 閘道模型後,以白名單檢索逾時熔斷失敗摘要即可在遠端 Mac重現簽核級演練。📋

本篇目錄

本文為文章加操作指南:決策表後接目錄與程式骨架。延伸《LlamaIndex Workflows 遠端成本矩陣》《閘道工具與重試》《Haystack 閘道 HowTo》

痛點拆解:

  1. 工具未與閘道登記一致,提示誤觸或惡意客戶端易繞過邊界。
  2. 向量或關鍵字後端尾延遲無截止時,整段回答迴圈易佇列雪崩。
  3. 長堆疊難進報表與工單,需關聯編號與欄位化摘要才利簽核。
控制點 僅應用層 閘道加應用
工具白名單 易繞過 單一真實來源可審計
檢索逾時 易雪崩 截止加熔斷護記憶體
失敗回傳 難簽核 信封含階段碼與提示

相較僅在LlamaIndex內調重試,閘道強制工具白名單能在多客戶端版本並存時維持同一信任邊界,利於跨團隊交接與事後稽核。

依賴與目錄佈局

專案根下分venvindexesscratchconfigs;鎖檔釘版,索引絕對路徑寫入啟動腳本。推論只指閘道回環;檢索後端走內網並與出站規則一致。

閘道權杖與出站限制

權杖載租戶專案與工具範圍,檔案僅擁有者可讀且不入庫。閘道綁回環,對外僅隧道;出站白名單放行模型與觀測其餘拒絕。升版後先健康檢查再接查詢引擎流量,免驗證漂移誤觸熔斷。

QueryEngine 接入程式碼級步驟

客戶端基底網址改閘道路徑;建引擎前匯入允許工具。檢索用wait_for類截止,逾時累計熔斷,視窗內連觸發改空結果並帶retrieval_skipped。錯誤映射信封欄位如下。

async def retrieve_with_fuse(retriever, q, *, deadline_s, breaker): try: return await asyncio.wait_for(retriever.aretrieve(q), timeout=deadline_s) except asyncio.TimeoutError: breaker.record_timeout() return [], {"stage": "retrieve", "hint": "縮小查詢或降批"} def summarize_failure(exc, *, correlation_id): return {"correlation_id": correlation_id, "stage": "gateway_or_retrieve", "code": getattr(exc, "code", "unknown"), "hint_one_line": "核對白名單與綱要版號"}

熔斷開啟時抑制無界重試;上層依信封決定改寫查詢或轉人工。

日誌與 doctor 巡檢

每請求記關聯編號階段工具綱要版熔斷與耗時;敏感欄位雜湊。openclaw doctor對照儀表與本機設定,差異歸檔驗收包。浸泡須含成功、檢索逾時、驗證失敗、熔斷四類。

落地步驟

  1. 隔離目錄與鎖檔,固定索引路徑。
  2. 回環啟閘道,白名單與綱要表健康後再開隧道。
  3. 模型客戶端指閘道,關閉繞道變數。
  4. 檢索截止加熔斷,對齊工具逾時表。
  5. 信封與日誌欄位跑合成案例。
  6. doctor加遠端一輪浸泡並封存雜湊。

可引用資訊:檢索截止秒數宜略低於閘道整段請求上限以免雙層互卡;熔斷視窗內應快失敗並附單行修復提示;白名單與綱要變更綁發版並保留雙人覆核紀錄。

常見問答

熔斷後仍要答使用者嗎?要,帶跳過旗標與單行說明。

小結:閘道白名單加檢索熔斷加失敗信封,方能在遠端 Mac簽核演練。定價購買部落格文件皆公開免登入。