RAG技術是什麼?檢索生成原理、與微調差異及企業應用
Posted in :
RAG 技術(檢索增強生成,Retrieval-Augmented Generation)是讓生成式 AI 先從你指定的資料中找出相關段落,再依這些段落組織回答的做法。流程分兩段:事前把文件切成段落、轉成向量並建立索引;提問時先檢索出相關性高的幾段,再把段落和問題一起交給語言模型生成回答,並附上出處。它解決的是模型不認識公司內部資料、也不知道訓練之後新資訊的問題。和微調相比,RAG 不改動模型本身,文件更新後重新建立索引就能反映;但回答品質取決於文件內容與是否檢索到對的段落,上線前要用題庫評估。
RAG 是什麼:讓模型依你提供的資料回答
rag是什麼?Microsoft 的說明把檢索增強生成定義為一種模式,透過把回應建立在專有內容的基礎上,擴展大型語言模型的能力。換句話說,RAG 不是某一套軟體,而是一種系統架構:一邊是負責找資料的檢索系統,一邊是負責寫回答的語言模型。
需要這樣做,是因為模型的參數在訓練完成後就固定了,它不知道你的產品手冊、內部規章,也不知道知識截止日期之後發生的事,模型本身的運作可參考AI模型的訓練與推論。直接問它這些內容,可能得到看似合理但錯誤的回答。rag ai 的做法是每次提問時,把找到的相關段落放進提示,請模型只根據這些段落回答,答不出就說明資料不足。
RAG 流程:從建立索引到生成回答
rag 流程可以拆成兩個階段,前者事先做好、文件更新時重做,後者每次提問都會發生:
索引階段
- 收集文件:整理要讓 AI 參考的檔案、網頁或資料庫內容,轉成純文字。
- 切塊:把長文件切成較短的段落,讓每一段能單獨被比對。
- 向量化:用嵌入模型把每一段轉成一串數字,也就是向量,意思相近的段落,向量的距離也相近。
- 存入索引:把段落、向量與出處、日期、權限等中繼資料一起存進可搜尋的索引。
查詢階段
- 使用者提問後,系統把問題同樣轉成向量,到索引中找出距離相近的幾段。
- 把這幾段和問題組成提示,交給語言模型生成回答。
- 回答附上引用的段落或文件名稱,讓使用者可以回頭核對。
文件切塊與向量化怎麼做
切塊有兩個目的:讓內容符合嵌入模型與語言模型的輸入上限,並讓每一段能單獨被比對。Microsoft 的切塊說明列出幾種做法:
- 固定長度切塊:每段固定長度,前後段重疊少量文字,以維持連貫性與脈絡。
- 依內容與結構切塊:依句子、段落或標題切分,保留句子與段落間的語意關係,適合規章、手冊這類結構清楚的文件。
- 附上中繼資料:Microsoft 的說明提到可把文件標題附加到中段的區塊,避免脈絡遺失;實務上也可記錄來源檔名與更新日期,檢索時可以篩選,回答時也能標出處。
表格、掃描檔與圖片裡的文字,要先轉成可讀的文字或另外整理,否則系統可能根本讀不到。OpenAI 的說明指出,嵌入是一串浮點數,兩個向量的距離代表內容的相關程度。
檢索方式:關鍵字、向量與混合搜尋
檢索是 RAG 的前半段。Microsoft 的說明指出,查詢與文件用詞不符時,傳統關鍵字搜尋會失敗,向量相似性搜尋比對的是概念而非精確詞彙;混合查詢則同時執行兩種搜尋,再合併成一組結果:
| 方式 | 擅長 | 弱點 |
|---|---|---|
| 關鍵字搜尋 | 料號、型號、人名、法規條號這類必須完全相符的詞 | 換個說法就找不到 |
| 向量搜尋 | 意思相近但用字不同的問法 | 料號這類必須完全相符的詞,要實測是否找得準 |
| 混合搜尋 | 同時處理精確詞與口語問法 | 設定與調整較複雜 |
找回的段落還可以經過語意排名,依意義重新評分,只把前幾段交給模型。企業文件常同時有專有名詞與口語問法,評估時建議把三種方式都拿同一份題庫測試,再決定採用哪一種。
RAG 和微調差在哪
兩者都能讓模型更貼近業務,但解決的問題不同:
| 比較項目 | RAG | 微調 |
|---|---|---|
| 做法 | 提問時把相關資料放進提示 | 以特定任務資料額外訓練,調整模型權重 |
| 適合解決 | 回答要依據特定、常更新的資料 | 要讓語氣、格式一致,或提升特定任務的表現 |
| 資料更新 | 更新文件並重建索引即可 | 新資料要再次訓練才會反映 |
| 成本與限制 | 要建立與維護索引 | 增加訓練與託管成本,也無法取代以檢索取得新資訊 |
Microsoft 也提醒,微調是反覆的工程過程,不一定帶來改善,要用保留的評估資料和基準比較。建議先把提示寫清楚、以 RAG 提供參考資料,評估後仍達不到要求再考慮微調。
資料準備:哪些內容適合放進 RAG
RAG 只會照文件回答,文件本身有問題,回答就會跟著出錯。放進索引前先檢查:
- 版本:同一份規章只留現行版本,舊版移出或標示停用,避免新舊內容互相矛盾。
- 負責人:每份文件指定維護者,內容變動時同步更新索引。
- 即時資料:價格、庫存、訂單狀態會隨時變動,改由系統查詢資料庫,不要寫死在文件裡。
- 權限:人事、財務等文件要記錄可閱讀的對象,檢索時依提問者的權限篩選。OWASP 的大型語言模型風險清單也把向量與嵌入的弱點列為一項,建議採用細緻的存取控制、具權限感知的向量儲存,並只接受可信來源的資料。
以內部文件問答為主的實際建置步驟與權限分級,可參考企業 AI 知識庫的建置方式。
準確度怎麼評估:檢索與回答分開看
RAG 答錯時,原因可能在檢索,也可能在生成,評估時要分開檢查:
- 準備題庫:從真實提問整理數十題,每題寫好標準答案與應該引用的文件段落,並加入知識庫裡沒有答案的題目。
- 檢查檢索:看系統找回的段落是否包含答案所需的內容,找不到就回頭調整切塊或檢索方式。
- 檢查回答:看回答是否只根據找回的段落、是否完整回答問題、引用的出處是否正確。
- 檢查拒答:資料中沒有答案時,系統應說明無法回答,而不是自行編造。
- 重測:更換模型、調整切塊或新增大量文件後,用同一份題庫再跑一次,比較前後差異。
RAG 範例:企業常見應用與限制
常見的 rag 範例包括:員工查詢人事規章與請假流程、業務查產品規格與型錄、客服依退換貨政策草擬回覆、工程人員查設備手冊與故障排除紀錄。對外的客服機器人還要另外設計轉真人與開場說明,可參考AI聊天機器人的做法與知識庫準備。
它也有限制。需要彙整大量文件才能回答的問題,例如「整季客訴的共同原因」,只檢索幾個段落可能不夠,GraphRAG 這類先從文件抽取知識圖譜、建立社群階層並產生摘要再回答的做法,就是為此提出的延伸。另外,OWASP 指出,模型讀取網站或檔案等外部內容時可能遭到間接提示注入,而 RAG 與微調都無法完全防止,文件來源要把關,模型的權限也要限制在必要範圍。
常見問題
RAG 和一般的站內搜尋有什麼不同?
站內搜尋回傳一串相關文件,由使用者自己閱讀判斷;RAG 在檢索之後,再由語言模型讀取找到的段落,整理成一段直接回答問題的文字,並附上出處供核對。
用了 RAG 之後,AI 就不會答錯嗎?
不會完全避免。檢索到不相關的段落、文件本身有誤或新舊版本並存時,回答仍可能出錯。要用題庫定期評估,重要內容保留人工確認的環節。
建置 RAG 系統一定要自己寫程式嗎?
不一定。部分雲端 AI 服務提供上傳檔案後檢索回答的功能;需要串接內部資料庫、依員工權限篩選或嵌入既有系統時,才需要客製開發。
文件更新後要重新訓練模型嗎?
不需要。RAG 不改動模型本身,只要更新文件並重新建立對應段落的索引,下一次提問就會檢索到新內容,這也是它和微調的主要差別之一。
RAG 可以處理表格和圖片嗎?
要看文件怎麼轉換。表格可以轉成文字或結構化資料再切塊,掃描檔與圖片要先辨識文字;沒有轉換成可讀文字的內容,系統就檢索不到。
本文由京采數位科技整理。我們自 2005 年起提供官網設計、系統開發與 Google SEO 服務,實際案例可見成果與案例。
想直接討論你自己的網站狀況,或需要一份初步的搜尋機會評估?
相關主題
下一步
建議先挑一類員工或顧客常問的問題,整理對應的文件與標準答案,作為評估 RAG 的題庫。京采的網頁設計服務可以協助需求釐清、規劃文件來源與權限,並開發官網或內部系統與 AI API、檢索服務之間的串接;歡迎與我們聯繫討論。

