---
title: "建築技術規則 AI 檢索三大資料庫架構與建置工法全景指南"
description: "深度拆解 Hybrid RAG (Chroma+BM25)、Graph RAG (NetworkX三元組) 與 OKF-Wiki (Markdown階層導航) 的底層建置工法、模型選型、檢索機制與實務架構取捨。"
type: "concept"
tags: ["RAG", "GraphRAG", "OKF", "Agentic-Retrieval", "Data-Architecture", "Taiwan-Building-Code"]
created_at: 2026-08-15
---

# 🏛️ 建築技術規則 AI 檢索三大資料庫架構與建置工法全景指南

在企業或垂直領域落地 AI 知識庫時，技術團隊往往面臨關鍵的技術選型決策：**「到底該使用傳統向量 RAG、知識圖譜 Graph RAG，還是給 Agent 閱讀的 Markdown 目錄樹 (OKF-Wiki)？」**

本指南以台灣《建築技術規則建築設計施工編》（389 條高度結構化法規）為實戰載體，完整收錄三種架構從「原始資料清洗」、「底層模型選型」、「索引儲存」到「檢索推論流水線」的完整建置工法。

---

## 🗺️ 全景資料管線架構 (End-to-End Data Pipeline)

```mermaid
flowchart TD
    RAW[📄 原始法規資料集<br>389 條建築技術規則 JSON] --> P1[工法 1: 結構化切塊]
    RAW --> P2[工法 2: LLM 實體關係萃取]
    RAW --> P3[工法 3: 階層目錄實體化]

    subgraph S1 [1. Hybrid RAG 資料庫]
        P1 -->|項/款換行切割| CHUNK[保留編章節前綴之 Chunks]
        CHUNK -->|BAAI/bge-m3| VEC_DB[(ChromaDB 向量庫)]
        CHUNK -->|分詞倒排| BM25_IDX[(Rank-BM25 索引庫)]
    end

    subgraph S2 [2. Graph RAG 資料庫]
        P2 -->|Qwen2.5-7B 4-bit| TRIPLET[實體-關係-數值三元組]
        TRIPLET -->|NetworkX| GRAPH_DB[(GraphML 拓撲圖譜)]
        TRIPLET -->|實體名稱向量化| ENTRY_VEC[(實體起點向量庫)]
    end

    subgraph S3 [3. OKF-Wiki 資料庫]
        P3 -->|實體資料夾樹| FS_TREE[編/章/節/條 Markdown 樹]
        FS_TREE -->|Qwen2.5-7B 總結| YAML_META[YAML Frontmatter 標註]
        YAML_META -->|動態彙整| MOC_INDEX[_index.md 各層導覽地圖]
    end
```

---

## 📊 三大架構技術規格與效能對照表

| 評估維度 | 1. Hybrid RAG (混合檢索) | 2. Graph RAG (知識圖譜) | 3. OKF-Wiki (目錄導航) |
| :--- | :--- | :--- | :--- |
| **資料庫儲存目錄** | `data/databases/rag_hybrid_export/` | `data/databases/graph_rag_hybrid_export/` | `data/databases/okf_knowledge/` |
| **底層檔案格式** | `chroma.sqlite3` + `bm25.pkl` | `knowledge_graph.graphml` + ChromaDB | 純文字 `.md` 檔案樹（含 YAML 標頭） |
| **建置使用的模型** | `BAAI/bge-m3` (Dense Embedding) | `Qwen/Qwen2.5-7B-Instruct` (4-bit NF4) | `Qwen/Qwen2.5-7B-Instruct` (4-bit NF4) |
| **建置運算環境** | 本地 CPU / Colab 快速完成 | Google Colab (T4 GPU, 耗時約 40 分) | Google Colab (T4 GPU, 耗時約 30 分) |
| **檢索核心機制** | 雙路召回 (向量+BM25) + RRF 融合排序 | 向量種子定位 ➔ 圖譜 1-Hop 鄰居擴展 | Agent 自主持有 Tool 翻閱目錄導航 |
| **單次檢索耗時** | **~0.9 秒** (極快) | **~0.6 秒** (最快) | **~10-15 秒** (依 Agent 翻閱輪數) |
| **基準測試成績 (V4.1)** | 總均分 **0.64** (召回率 **0.69** 最高) | 總均分 **0.40** (精確鎖定實體) | 總均分 **0.71** (正確性 **0.89** 最高) |

---

## 1️⃣ Hybrid RAG：向量 + 關鍵字雙引擎資料庫

### 💡 核心設計哲學
傳統 RAG 最常犯的錯誤是按字數（如 500 字）切塊，導致法規條文被腰斬、前提條件遺失。本架構採用「結構化語意切塊 + 父子文件綁定」解決此問題。

```mermaid
sequenceDiagram
    autonumber
    actor User as 👤 使用者提問
    participant QueryEngine as 🔍 查詢路由器
    participant Chroma as 🧠 ChromaDB (bge-m3)
    participant BM25 as 📑 BM25Retriever
    participant RRF as ⚖️ RRF 重新排序器
    participant Generator as 🤖 生成模型

    User->>QueryEngine: 輸入法規查詢
    par 雙路並行檢索
        QueryEngine->>Chroma: 語意密集向量搜尋 (Top-5)
        QueryEngine->>BM25: 精確關鍵字稀疏搜尋 (Top-5)
    end
    Chroma-->>RRF: 回傳向量候選清單
    BM25-->>RRF: 回傳關鍵字候選清單
    RRF->>RRF: 計算倒數排名融合分數
    RRF->>Generator: 提供 Top-3 高分條文 (含完整父文件)
    Generator-->>User: 產出精確解答
```

### 🛠️ 關鍵建置工法
1. **結構化切塊 (Structural Chunking)**：
   - 依法規換行符號將內文切分為獨立的「條 / 項 / 款」。
   - 強制注入前綴語境（如 `【第一章 用語定義 第1條】`），杜絕向量稀釋。
2. **父子文件綁定 (Parent-Child Metadata)**：
   - 子塊用於精準檢索，Metadata 攜帶 `parent_text`（全條文），生成時回傳完整脈絡。
3. **密集向量 (Dense)**：使用多語言表現優異的 `BAAI/bge-m3` 模型。
4. **稀疏索引 (Sparse)**：利用 `Rank-BM25` 建立詞彙倒排索引，保存為 `bm25.pkl`。

---

## 2️⃣ Graph RAG：雙層索引知識圖譜資料庫

### 💡 核心設計哲學
專門應對「多條件約束」與「跨實體數值計算」。將法規條文轉化為實體關聯拓撲圖，在檢索時能以極高速度順藤摸瓜。

```mermaid
graph LR
    subgraph L1 [第一層: 向量種子定位]
        Q[使用者提問] -->|向量相似度| E1((實體: 特別安全梯))
    end

    subgraph L2 [第二層: 圖譜拓撲擴展]
        E1 -->|四周牆壁要求| E2((構造: 樓梯間及排煙室))
        E1 -->|防火時效約束| E3((數值: 1小時以上))
        E1 -->|連通限制| E4((門窗: 甲種防火門))
    end

    subgraph L3 [第三層: 法條回溯綁定]
        E2 -.-> ART[第四章 第97條 原文]
        E3 -.-> ART
        E4 -.-> ART
    end

    style E1 fill:#f9f,stroke:#333,stroke-width:2px
    style ART fill:#bbf,stroke:#333,stroke-width:1px
```

### 🛠️ 關鍵建置工法
1. **LLM 4-bit 量化萃取**：
   - 在 Colab T4 環境運行 `Qwen/Qwen2.5-7B-Instruct`（bitsandbytes NF4 量化）。
   - 逐條提取 JSON 三元組：`[主體實體] ──(關係/數值限制)──> [客體實體]`。
2. **拓撲圖構建**：
   - 使用 Python `NetworkX` 套件將三元組組裝為有向圖，儲存為 `knowledge_graph.graphml`。
3. **雙層檢索機制 (Two-tiered Indexing)**：
   - 先以小型向量庫命中核心實體起點。
   - 再從起點向外展開 1-Hop 鄰居節點，並調閱綁定的法條全文。

---

## 3️⃣ OKF-Wiki：階層式 Markdown 百科目錄樹

### 💡 核心設計哲學
完全不使用任何向量資料庫。將專業知識庫物理化為符合人類直覺的檔案夾樹，給予 Agent 閱讀工具，讓 AI 像人類翻查百科全書一樣自主導航。

```mermaid
graph TD
    ROOT[_index.md<br>建築技術規則總目錄] --> C1[第一章 用語定義/]
    ROOT --> C2[第二章 一般設計通則/]
    ROOT --> C4[第四章 防火避難設施/]

    C4 --> C4_MOC[_index.md<br>第四章 MOC 導覽地圖]
    C4_MOC --> S1[第一節 出入口/]
    C4_MOC --> S2[第二節 走廊/]
    C4_MOC --> S3[第三節 樓梯/]

    S3 --> S3_MOC[_index.md<br>樓梯節 MOC 地圖]
    S3_MOC --> A97[第97條.md<br>特別安全梯構造]
    S3_MOC --> A98[第98條.md<br>直通樓梯總寬度]

    A97 -.雙向連結.-> A98

    style ROOT fill:#f96,stroke:#333,stroke-width:2px
    style C4_MOC fill:#ff9,stroke:#333,stroke-width:1px
    style S3_MOC fill:#ff9,stroke:#333,stroke-width:1px
    style A97 fill:#9f9,stroke:#333,stroke-width:2px
```

### 🛠️ 關鍵建置工法
1. **原生分類目錄物理化**：
   - 資料夾對齊法規原生「編 ➔ 章 ➔ 節 ➔ 條」層級。
2. **兩階段 YAML 標註 (Frontmatter Enrichment)**：
   - 透過 `Qwen2.5-7B` 生成每個條文的摘要 (`summary`) 與標籤 (`tags`)。
3. **目錄地圖 (Map of Content, MOC)**：
   - 每個資料夾內建 `_index.md`，收錄該層級所有條文的摘要清單。
4. **雙向超連結 (Wiki Links)**：
   - 法條內文中出現的他條參照，自動轉化為相對路徑 Markdown 連結。

---

## ⚖️ 企業落地選型決策雷達

```
                     【檢索召回率 / 建置速度】
                           Hybrid RAG
                     (召回 0.69 / 0.9s 響應)
                            ▲      ▲
                           /        \
                          /          \
                         /   選型矩陣 \
                        /              \
                       /                \
                      ▼                  ▼
             Graph RAG ◄────────────────► OKF-Wiki
       【明確數值與條件約束】             【正確性 0.89 / 跨章節深度推論】
       (0.6s 極速 / 關聯圖譜)             (Agent 目錄翻閱 / 零幻覺空間)
```

### 🎯 實務選型策略總結：
1. **新創驗證、內部 PoC、一般 Q&A 👉 首選 Hybrid RAG**
   - 建置成本最低，半天內可完成，檢索召回率最高，能應付 80% 的單點檢索需求。
2. **醫療規範、高合規契約、金融條款 👉 推薦 Graph RAG**
   - 數值與前提條件絕對不可遺漏，圖譜結構乾淨且查詢極快，但需投入較高前期萃取算力。
3. **企業知識庫助理、跨文件研究員、SOP 導航 👉 推薦 OKF-Wiki**
   - 解答正確性最高 (0.89)，適合需要 AI「翻閱多份手冊並產出綜整推論」的高階任務，且純文字 Markdown 極易由領域專家直接維護。
