說明 Uedu 平台如何透過 Retrieval-Augmented Generation(RAG)技術,讓 AI 助教的回覆以教師上傳的教材為依據,提高回答的準確性與教學相關性。
Uedu 平台的 AI 助教(UeduGPTs)支援 AI 知識庫 功能:教師上傳課程教材(PDF、DOCX、PPTX),系統自動將教材內容切塊、向量化,並在學生提問時進行語意檢索,將最相關的教材片段注入 AI 的 System Prompt,使 AI 的回覆能以教材內容為依據。
此機制稱為 RAG(Retrieval-Augmented Generation),是目前業界讓 LLM 回答「有依據」的主流方法。本文件說明 Uedu 的 RAG 實作細節,供研究者理解資料產生過程。
RAG(Retrieval-Augmented Generation)是一種結合資訊檢索與文本生成的技術架構(Lewis et al., 2020)。其核心概念為:
相較於僅依賴 LLM 內建知識的回答,RAG 可以讓 AI 的回覆以特定教材為依據,降低幻覺(hallucination)的風險,並確保回答內容與課程相關。
教師上傳教材後,系統在背景執行以下處理流程:
系統支援三種文件格式,使用對應的 Python 套件提取全文:
| 格式 | 提取工具 | 頁碼追蹤 |
|---|---|---|
| pypdf | 保留原始頁碼 | |
| DOCX | python-docx | 無頁碼(段落合併) |
| PPTX | python-pptx | 保留投影片編號 |
提取的全文使用 tiktoken cl100k_base tokenizer 進行 token 級分塊:
分塊在逐頁(或逐投影片)內進行。若單頁文字不超過 800 tokens,該頁整體作為一個 chunk;否則在 token 層級滑動切割。
每個 chunk 的文字內容通過 OpenAI text-embedding-3-small 模型轉換為 1536 維的稠密向量,以 float32 格式儲存於資料庫的 BLOB 欄位。
學生送出提問時,系統在回覆前執行以下檢索步驟:
text-embedding-3-small)轉為 1536 維向量餘弦相似度衡量兩個向量在方向上的接近程度,值域 [-1, 1]。在 embedding 空間中,語意相近的文本會有較高的相似度分數。系統使用 numpy 進行高效的矩陣運算。
| 參數 | 值 | 說明 |
|---|---|---|
EMBEDDING_MODEL | text-embedding-3-small | OpenAI embedding 模型 |
EMBEDDING_DIMENSIONS | 1536 | 向量維度 |
CHUNK_MAX_TOKENS | 800 | 每個 chunk 的最大 token 數 |
CHUNK_OVERLAP_TOKENS | 100 | 相鄰 chunk 重疊的 token 數 |
CHUNK_MIN_TOKENS | 20 | chunk 最小長度(低於此值丟棄) |
RETRIEVAL_TOP_K | 3 | 每次檢索回傳的最大 chunk 數 |
RETRIEVAL_THRESHOLD | 0.3 | 最低 cosine similarity 門檻 |
CACHE_TTL | 300 秒 | 記憶體快取存活時間 |
Uedu 支援進階的 GraphRAG 模式。當教師開啟此模式時,系統除了標準的向量檢索外,還會利用知識圖譜進行圖擴展檢索:
圖擴展時,prerequisite(先備知識)和 contains(包含關係)的邊權重會獲得 1.2 倍加成,優先補充這兩類關聯的教材。
標準 RAG 僅依靠向量相似度檢索,可能遺漏「語意不直接相似但概念上相關」的教材。GraphRAG 透過知識圖譜的結構化關聯補充這些片段,提高回答的完整性。
每次檢索的詳細紀錄都儲存於 rag_retrieval_log 資料表,包含:
這些紀錄可供研究者分析「AI 回答時參考了哪些教材片段」,以及「學生的提問與教材的語意匹配程度」。
AI 助教的回覆透過 Retrieval-Augmented Generation(RAG; Lewis et al., 2020)技術以教師上傳的教材為依據。教材文件(PDF/DOCX/PPTX)經文字提取後,使用 tiktoken cl100k_base tokenizer 進行語意分塊(每塊最多 800 tokens,相鄰重疊 100 tokens),並透過 OpenAI text-embedding-3-small 模型轉換為 1536 維稠密向量。學生提問時,系統以 cosine similarity 檢索語意最相關的教材片段(top-3,門檻 0.3),注入 AI 的 System Prompt 作為回覆依據。每次檢索紀錄(命中片段、相似度分數)均保存供研究分析。詳細方法論說明見 https://uedu.tw/doc/rag。
建議同時附註以下資訊: