Azure + M365 全雲端架構 — 公部門數位轉型 PoC
數位發展部推動政府機關數位轉型,發現各機關在執行業務時經常需要查閱大量法規、 行政命令與作業基準,但缺乏統一的智慧查詢工具。承辦人員只能逐條翻閱 PDF, 或私下使用 ChatGPT 得到不精確的解讀。moda 規劃建置一套 「政府法規 AI 知識庫共用平台」, 以標準化架構讓各機關將管轄法規匯入系統,提供承辦人員即時、精確的法規查詢服務。 本 PoC 以「金融機構辦理電子銀行業務安全控管作業基準」為試點法規, 驗證此架構能否確保 AI 回答中的法規術語 100% 保真,並符合政府資安規範。
點擊查詢後,系統依序執行以下 pipeline,每一步都在 Azure 上完成:
公部門系統需要資料主權可控、企業級安全、政府合規認證。
| 需求 | 為什麼需要 | Azure 服務 | 為什麼選它 |
|---|---|---|---|
| 混合檢索 | 法規查詢同時需要精確術語匹配(「第八條第六款」)和語意理解(「轉帳安全要求」) | Azure AI Search |
原生支援 Vector + BM25 + metadata filter 三路混合檢索,內建 RRF 融合和 Semantic Ranker |
| 術語保真 | 「電子銀行」≠「網路銀行」,AI 回答必須使用法規原文定義 | AI Search Synonym Map+ Cosmos DB |
Synonym Map 在查詢階段攔截禁用替代詞;Cosmos DB 存放 99 個術語完整詞典,動態注入 System Prompt |
| 知識圖譜 | 法規術語之間有上下位、依賴、易混淆等關係 | Cosmos DB (graph) |
Serverless 計費,47 條關係的圖查詢成本趨近零 |
| LLM 生成 | 繁體中文法規理解 + 精確條文引用 + 術語保真規則 | Azure OpenAI GPT-4o |
繁中最佳 LLM 之一;部署在 Azure 上資料不離開企業邊界 |
| Embedding | 將法規條文和查詢轉為向量,實現語意搜尋 | Azure OpenAI text-embedding-3-large |
3072 維度,中文語意理解優秀,與 AI Search 原生整合 |
| API 服務化 | 系統需對外提供 HTTP API | Azure Functions |
Serverless,按呼叫計費,不查詢時零成本 |
| 資料主權 | 政府法規資料不得離開核准區域 | Azure Region: East US |
所有資源部署在同一區域,資料不跨區傳輸 |
所有元件皆部署於 Azure,零地端依賴。
一次查詢的完整呼叫流程,展示各 Azure 服務之間的互動:
| 機制 | 作用 | Azure 服務 |
|---|---|---|
| Synonym Map 查詢改寫 | 自動將「網路銀行」改寫為「電子銀行」,在查詢階段攔截錯誤術語 | AI Search Synonym Map |
| 三路混合檢索 + RRF | Vector(語意)+ BM25(關鍵字)+ Metadata(術語 ID 精確匹配),定義型 chunk 加權 | AI Search Hybrid + Semantic Ranker |
| 動態術語注入 | 查詢偵測術語 → 知識圖譜 1-hop 擴展 → 三級格式注入 System Prompt(6,000 token budget) | Cosmos DB (glossary + graph) |
| 術語保真 System Prompt | 8 條規則:禁用替代詞、首次出現全稱格式、條文引用、不確定性三級判斷 | Azure OpenAI GPT-4o |
公務員的日常工作環境是 Microsoft Teams。 將知識庫以 Teams Bot 形式嵌入工作流程 — 承辦人員在 Teams 對話中直接輸入法規問題,Bot 即時呼叫後端 Azure Functions API, 回傳包含法規引用和術語說明的 Adaptive Card。 不需切換應用程式、不需記住網址、不需管理 API Key。
| 元件 | 技術選型 | 說明 |
|---|---|---|
| Bot Registration | Azure Bot Service F0 | 免費,支援 Teams / Web Chat / Slack 多通道 |
| Bot Hosting | 既有 Azure Functions | Bot endpoint 直接加在 Function App,零額外基礎設施 |
| 回應格式 | Adaptive Cards v1.5 | 結構化卡片:回答 + 法規引用 + 術語統計 + 預算餘額 |
| 後端整合 | 內部呼叫 RAG Pipeline | 零重複開發 — 同一套 Pipeline |
這就是公務員在 Teams 中看到的體驗。透過 Azure Bot Service Direct Line 通道嵌入網頁:
當承辦人員在 SharePoint 上傳公文草稿後,Power Automate 自動觸發: (1) 擷取公文中的關鍵法規術語 → (2) 呼叫知識庫 API 檢查術語使用是否正確 → (3) 產生合規報告送至主管 Teams 頻道 → (4) 若有術語使用錯誤,自動建立修改建議並通知承辦人。 全程自動化,減少人工審查時間。
| Step | 動作 | M365 / Azure 服務 | 說明 |
|---|---|---|---|
| 1. 觸發 | SharePoint 新增/修改文件 | SharePoint Trigger |
當承辦人員上傳公文至指定文件庫時自動啟動 |
| 2. 擷取 | 讀取公文內容 | SharePoint Get File Content |
取得 Word/PDF 公文全文 |
| 3. 術語檢查 | 呼叫知識庫 API | HTTP Connector → Azure Functions |
將公文段落送至 /api/query,檢查術語使用是否符合法規定義 |
| 4. 報告生成 | 組裝合規報告 | Compose + Adaptive Card |
列出:正確術語、錯誤用詞、建議修正、引用條文 |
| 5. 簽核 | 主管審核 | Approvals |
若發現術語錯誤,自動發起審核流程,主管可核准/退回/加簽 |
| 6. 通知 | Teams 訊息通知 | Teams Post Adaptive Card |
將合規報告以 Adaptive Card 發送至承辦人或部門頻道 |
| 元件 | 技術選型 | 說明 |
|---|---|---|
| 流程引擎 | Power Automate | Low-code 拖拉設定,公務員可自行調整流程,不需寫程式 |
| 文件儲存 | SharePoint Online | 政府機關已有 M365 授權,零額外成本 |
| 法規檢查 | 既有 Azure Functions API | 複用第一個 Tab 的知識庫 API,同一套 RAG Pipeline |
| 簽核流程 | Approvals | M365 內建審核功能,整合 Teams 通知 |
| 通知 | Teams Adaptive Card | 結構化報告卡片,與 Teams Bot 共用同一套卡片格式 |