Hi 我是Seedfood,是一名DA轉DS轉MLE再轉AI的雜技Data人。
今年在強者我朋友們的力推下,勇敢地參加了這屆的鐵人賽,希望把過去2年在做RAG的一些心路歷程做一些回顧和分享,也訓練自己輸出的能力。
在這個號稱10個工程師有11個會RAG的年代(第11個是PM),我經常遇到所謂RAG的經驗就是embedding打OpenAI、LLM打OpenAI、甚至現在還有解析檔案也直接打OpenAI,所以連Chunk都不用管,因為Context window真的夠大。可是如果你的資料不想外洩,你需要在地端建立真的動手建一套知識系統,那該怎麼做?又有多少坑需要踩過爬出呢?
筆者現在就是掉在坑內的一員,希望這次的系列能夠釣出一些已經從坑裡爬出的大大,解救還在坑內或準備跳入坑中的朋友們。
如同前述,這兩年RAG(Retrieval-Augmented Generation)幾乎成為 建構 AI 系統的標配。
它的基本思路很簡單:
而中間當然還有許多技術細節,例如你的知識要轉換成向量,幫助系統更好的找到和使用者提問最相關的內容,因此需要embedding,而為了要存向量,因此你需要向量資料庫,相關的細節在這系列的文章都會提到。
由於RAG的應用簡單易懂,因此要完成一個PoC其實是不困難的,然而,當 RAG 被真正應用在實務場景時,問題就浮現了:
這也是為什麼我們需要走向 Agentic RAG。
所謂 Agentic RAG,就是在傳統 RAG 架構上,加入 Agent 思維與工具使用能力。
它不再是單純的「檢索 → 回答」,而是可以:
有了上面的能力,Agentic RAG 才比較能夠在真實應用場景中落地,實際上Agent就是一個趨勢,而RAG會是Agent最得力的工具之一。
為了讓整個旅程更有結構,我會將 30 天拆成 4 個週次,並且採取「知識導讀 + 實作體驗」的方式。
進度安排如下:
在第 30 天結束時,這個系列將交付:
時間允許的話:
這是一場從 「簡單 RAG」→「Agentic RAG」→「可監控與部署的完整系統」 的旅程。
如果你曾經因為 RAG 成效不如預期而感到挫折,或是PoC完後看到老闆很開心但心理糾結要不要做,那麼希望這個系列能和你一起看到 如何一步步填坑讓PoC落地,建構一個能在實務場景中真正發揮作用的RAG應用系統。
感謝 未知作者 的精彩分享!
JavaScript 生態系統真的很豐富,這樣的分享對開發者很有幫助。
實際的程式碼範例很有幫助,讓理論更容易理解。
遇到的問題和解決方案分享很實用,相信很多人都會遇到類似的情況。
也歡迎版主有空參考我的系列文「南桃AI重生記」:https://ithelp.ithome.com.tw/users/20046160/ironman/8311
如果覺得有幫助的話,也歡迎訂閱支持!