PILLAR 03 · RAG 與向量資料庫

企業知識庫架構設計:權限、審計、版本控管

不是只有「文件 → AI 回答」——企業級 RAG 需要的完整架構。

PUBLISHED
2026-06-05
READ TIME
11 min
CATEGORY
PILLAR 03
UPDATED
2026-09-27
KEY TAKEAWAY · 一句話結論

企業級 RAG 知識庫要從 Demo 走到生產系統,必須補齊權限控制、審計日誌、版本管理、多語言、多模態、來源優先與更新機制 7 個維度:在向量庫 metadata 存 ACL 標籤並於查詢時過濾,每次對話記錄並保存 6 到 24 個月,文件更新採軟刪除加 active 標記,並以延遲低於 3 秒、命中率高於 85% 為監控目標。

發布 2026-06-05 · 最後更新 2026-09-27 · 作者 賴家榮 Andy Lai

企業級 RAG 不是「文件 → AI → 回答」那麼簡單。權限、審計、版本、多模態、多語言——這些是把 RAG 從 Demo 變生產系統的關鍵。

企業級 RAG 的 7 個維度

  1. 權限控制(誰能查什麼)
  2. 審計日誌(誰問了什麼、AI 回了什麼)
  3. 版本管理(文件更新時的 rollback)
  4. 多語言(中、英、日的混合處理)
  5. 多模態(圖、影、音文件)
  6. 來源優先(公司內 > 公開資料)
  7. 更新機制(文件變動時的 re-embed)

權限控制設計

三層權限:

  • 文件層:哪些文件能被誰看(部門、角色、個人)
  • 欄位層:同一文件中,敏感欄位(薪資、客戶 ID)只給特定人
  • 查詢層:高敏感問題需主管二次核可

實作:向量庫的 metadata 存 ACL 標籤:

{
  "text": "...",
  "metadata": {
    "doc_id": "policy_001",
    "department": "HR",
    "access_level": ["manager", "hr_specialist"],
    "classification": "internal"
  }
}

# 查詢時加過濾
filter = {"access_level": {"$in": user.roles}}

審計日誌

每次 RAG 對話要記錄:

  • 使用者(user_id)
  • 時間戳記
  • 問題內容
  • retrieved 的切片 ID
  • AI 回應
  • 用戶反饋(👍/👎)

儲存 6–24 個月,符合稽核要求。

版本管理

文件更新時的策略:

  • 軟刪除舊版本(不要直接刪 vector)
  • 新版本標記 active=true、舊的 active=false
  • 查詢時預設只查 active
  • 稽核時可指定查特定日期版本

多語言處理

有些企業文件中英混合:

  • 用支援多語的 Embedding(如 BGE-M3、Cohere multilingual)
  • 查詢時同時用原文與翻譯版搜尋
  • 輸出時統一翻成用戶語言

多模態文件

真實企業文件常含表格、圖片、圖表。處理方式:

  1. 用 Gemini Vision / Unstructured 抽取結構
  2. 表格保留 markdown 格式
  3. 圖片用 Vision 生成 alt-text 一起存
  4. 圖表數據手動或 AI 抽取為結構化資料

來源優先策略

當問題涉及通用知識(不在公司文件內):

  1. 先檢索公司知識庫(最權威)
  2. 命中分數低時,回退到公開資料(Wikipedia、Google Search API)
  3. 明確標示來源等級(公司內部 / 公開資料)

更新機制

文件何時 re-embed?

  • 文件新增 / 修改 → 立即(背景任務)
  • Embedding 模型升級 → 全量 re-embed(每年 1–2 次)
  • 切片策略調整 → 全量 re-embed

建議用 message queue(如 Redis、SQS)非同步處理。

監控指標

  • 每日查詢量
  • 平均 latency(< 3s)
  • 命中率(> 85%)
  • 用戶滿意度(👍 比例 > 80%)
  • 未命中問題 Top 20(找出文件缺口)

架構圖(典型企業 RAG)

使用者
  ↓ (Web / Slack / Line)
API Gateway (含驗證)
  ↓
RAG Orchestrator
├→ User ACL Service (查用戶權限)
├→ Vector DB (Qdrant cluster)
├→ Reranker (Cohere API)
├→ LLM (Gemini)
└→ Audit Logger → BigQuery

常見問題

企業級 RAG 跟一般 RAG Demo 差在哪裡?

差在 7 個生產環境必備的維度:權限控制(誰能查什麼)、審計日誌(誰問了什麼、AI 回了什麼)、版本管理(文件更新時可 rollback)、多語言混合處理、多模態文件(圖、影、音)、來源優先(公司內部資料優先於公開資料)以及文件變動時的 re-embed 更新機制。少了這些,RAG 只能停留在 Demo 階段。

企業 RAG 的權限控制要怎麼設計?

作者建議分三層:文件層決定哪些文件能被哪些部門、角色或個人看到;欄位層讓同一文件中的薪資、客戶 ID 等敏感欄位只開放給特定人;查詢層則要求高敏感問題需主管二次核可。實作上是在向量庫的 metadata 存 access_level 等 ACL 標籤,查詢時用使用者角色做 filter 過濾。

RAG 審計日誌要記錄哪些內容、保存多久?

每次 RAG 對話要記錄使用者 user_id、時間戳記、問題內容、被 retrieved 的切片 ID、AI 回應以及用戶的正負評回饋。文章建議儲存 6 到 24 個月以符合稽核要求,典型架構是由 Audit Logger 把紀錄寫入 BigQuery。

企業文件更新時,RAG 向量資料需要重新 embedding 嗎?

要,但時機分三種:文件新增或修改時應立即以背景任務 re-embed;Embedding 模型升級時要全量 re-embed,頻率約每年 1 到 2 次;切片策略調整時也要全量 re-embed。文章建議用 Redis 或 SQS 之類的 message queue 非同步處理,並且舊版本採軟刪除、以 active 標記區分新舊版本,稽核時仍可查特定日期的版本。

企業 RAG 上線後要監控哪些指標?

文章列出五項:每日查詢量、平均 latency 應低於 3 秒、命中率應高於 85%、用戶滿意度(正評比例)應高於 80%,以及未命中問題的 Top 20 清單,用來找出知識庫的文件缺口。這些指標搭配審計日誌,就能持續改善知識庫品質。


RELATED ARTICLES

延伸閱讀。

延伸工具

LAST STEP

給我 30 分鐘,
告訴我你的業務。

我直接告訴你:你公司最該先用 AI 的 3 個地方、大概花多少預算、能不能用政府補助降低成本。

SOUTH TAIWAN AI WEEKLY

每週一封,南台灣中小企業
AI 應用週報。

賴家榮親自整理:本週最值得看的 AI 應用案例、補助公告、課程開班資訊。免費、可隨時退訂。

我們不分享您的 Email · 可隨時退訂

📞 立即撥打 預約免費診斷