YouTube2Text

從零搞懂 RAG,要搭個人或企業知識庫必學! — Transcript

by Gary Chen · 1,008 words · 679 segments · language en · Watch on YouTube

Full transcript

  1. 0:00不管你平常有沒有在深入研究 AI
  2. 0:01你很可能都動過這個念頭
  3. 0:03能不能幫自己或團隊
  4. 0:04做一個隨問隨答的第二大腦?
  5. 0:06或是幫你的 AI Agent
  6. 0:07接上一整個專屬的知識庫?
  7. 0:10只要你想做這件事
  8. 0:11就一定會碰上 RAG 這個觀念
  9. 0:13如果你平常就很關注 AI
  10. 0:15可能會覺得奇怪
  11. 0:16都2026年了
  12. 0:17為什麼還在講 RAG ?
  13. 0:19但對於在意公司資料隱私的人
  14. 0:21或是想打造個人知識庫的人來說
  15. 0:23RAG 的價值在於
  16. 0:24你可以只餵給模型你自己認證過的資料
  17. 0:26讓它盡可能從這些資料裡回答問題
  18. 0:28而不是像通用的 ChatGPT 一樣
  19. 0:31給出每個人都拿得到的答案
  20. 0:33如果你累積了幾十年的產業經驗
  21. 0:35想讓這些知識在公司內部流通,傳承
  22. 0:38或者你有建立個人知識庫的習慣
  23. 0:40希望你的 Agent 在回答時
  24. 0:41以你的知識庫作為最主要的依據
  25. 0:44就會用到 RAG 這個技術
  26. 0:46所以今天這支影片
  27. 0:47就算你是 RAG 小白
  28. 0:48我也會帶你搞懂這個技術
  29. 0:49讓你知道 RAG 是什麼
  30. 0:51如果你已經有在實作自己的 RAG
  31. 0:53我也會分享實作時最容易踩到的坑
  32. 0:55以及該怎麼一步一步
  33. 0:57把一個 RAG 做對,做好
  34. 0:59那我們直接開始
  35. 1:00那我們一樣用一個生活化的例子來介紹 RAG
  36. 1:03這樣可能會比較好理解
  37. 1:04假設你是一位價值投資人
  38. 1:06而巴菲特是你的偶像
  39. 1:07你想要把他投資的整套方法論都學過來
  40. 1:10過去你只能看看他的書
  41. 1:11聽聽他的訪談
  42. 1:12自己慢慢領悟巴菲特的投資邏輯
  43. 1:15但現在有了 AI
  44. 1:16你開始幻想自己是否有能力
  45. 1:18讓手邊的這個 AI
  46. 1:19變成巴菲特的數位分身
  47. 1:21這樣我之後在做任何投資決策
  48. 1:23或是看不懂一家公司的時候
  49. 1:24就可以直接問他了
  50. 1:26那麼,第一步你會怎麼做?
  51. 1:28你學過怎麼寫好一份提示詞
  52. 1:30所以你明白定義角色的重要性
  53. 1:32所以你直接打開了 ChatGPT
  54. 1:33跟它說
  55. 1:34請扮演股神巴菲特
  56. 1:35並用他的思維回答我以下的問題
  57. 1:38剛開始效果還不錯
  58. 1:40畢竟大語言模型
  59. 1:41本來就學過很多巴菲特的經典名言和投資原則
  60. 1:44問什麼護城河,安全邊際
  61. 1:46它都能講得頭頭是道
  62. 1:48但聊著聊著你就會發現
  63. 1:49只要你問得稍微深一點,細一點
  64. 1:52模型就開始出現幻覺
  65. 1:53有時候會一本正經地胡說八道
  66. 1:55給出完全錯誤的年份或數字
  67. 1:57甚至引用了巴菲特從來沒有說過的話
  68. 2:00這時候你就想
  69. 2:01那我乾脆把巴菲特所有的資料全部載下來
  70. 2:03當作檔案附件直接餵給 AI
  71. 2:05讓 AI 看著資料回答
  72. 2:07總不會錯了吧?
  73. 2:08於是,你把巴菲特六十年的股東信
  74. 2:11三十幾年的股東會逐字稿
  75. 2:12全部下載下來打包成一個大檔案
  76. 2:15然後拖進對話框並按下送出
  77. 2:17結果下一秒
  78. 2:18畫面立刻跳出一行紅字跟你說
  79. 2:20檔案內容超過上限
  80. 2:22請縮減資料後再試
  81. 2:24這是你撞到的第一個牆 Context Window
  82. 2:26也就是模型在一次對話裡
  83. 2:28能容納的記憶上限
  84. 2:30你的問題,你貼給它的資料
  85. 2:32再加上它要回答的字數
  86. 2:33全部都要算在這個上限裡
  87. 2:35如果今天巴菲特只寫過薄薄一本書
  88. 2:38你整包丟進去確實沒問題
  89. 2:39簡單又省事
  90. 2:40你甚至不需要學 RAG
  91. 2:42但巴菲特的資料量
  92. 2:43光是英文單字就有幾百萬字
  93. 2:45換算成 AI 的計算單位 Token
  94. 2:47也是高達兩三百萬
  95. 2:48現在主流模型就算胃口再大
  96. 2:50上限頂多也就一百萬 Token 左右
  97. 2:52而你手上的資料足足是它的兩到三倍
  98. 2:55而且,這還不只是 Token 太多
  99. 2:57塞不下的問題
  100. 2:59就算你退一步
  101. 3:00把資料砍到剛好塞得進模型的上下文
  102. 3:02也會立刻碰上另外兩個現實問題
  103. 3:05那就是回答又慢,又貴
  104. 3:07為什麼?
  105. 3:07因為大語言模型本質上是 stateless 的
  106. 3:10也就是根本不會記住你餵給它的檔案
  107. 3:12你每問一個新問題
  108. 3:13這一整大包資料就要從頭重新讀一遍
  109. 3:16你問十題,它就重讀十次
  110. 3:18所以你每問一句
  111. 3:19它都要重新消化幾十萬字
  112. 3:21慢得要死
  113. 3:21頂級模型每讀一次上百萬 Token
  114. 3:23就要幾塊甚至二十美金
  115. 3:25隨便問個十題
  116. 3:26你的額度就扛不住了
  117. 3:28資料越多
  118. 3:28你就等得越久,花得越多
  119. 3:31繞了一圈你會發現
  120. 3:32問題的盲點到底在哪裡?
  121. 3:34就是我們每一次
  122. 3:35都逼 AI 把全部的資料從頭啃一遍
  123. 3:38可是你想想看
  124. 3:40你問巴菲特怎麼看待護城河
  125. 3:41真正用得上的內容
  126. 3:43往往就只有那兩三段而已
  127. 3:45那我們何不換個思路
  128. 3:46先把真正用得上的那兩三段找出來
  129. 3:49只交給 AI 讀不就好了?
  130. 3:51這個做法,就是 RAG
  131. 3:53它其實完全符合
  132. 3:54我們人類自己查資料的直覺
  133. 3:56你想知道巴菲特怎麼講護城河
  134. 3:58你絕不可能
  135. 3:59把六十年的信從第一封讀到最後一封
  136. 4:01你一定會打開搜尋框
  137. 4:03輸入護城河
  138. 4:04把那幾段翻出來讀完
  139. 4:05再整理出答案
  140. 4:06RAG 只是讓 AI 也照這個方式做事而已
  141. 4:09RAG 這三個字母
  142. 4:11正好對應這三個動作
  143. 4:13R 是 Retrieval ,檢索
  144. 4:14也就是打開搜尋
  145. 4:16把相關段落找出來
  146. 4:17A 是 Augmented ,增強
  147. 4:19把找到的段落跟你的問題拼在一起
  148. 4:21攤在 AI 眼前
  149. 4:23G 是 Generation ,生成
  150. 4:24讓 AI 看著這幾段精準寫出答案
  151. 4:27中文翻成檢索增強生成
  152. 4:29聽起來像學術論文
  153. 4:30但說穿了就一句話
  154. 4:32先查資料,再回答
  155. 4:34既然 RAG 的本質是先查資料,再回答
  156. 4:36那我們真的要動手做一個巴菲特的 RAG
  157. 4:38整個流程就直接照 R , A , G 這三個字母走
  158. 4:41R 是把資料整理好,建好索引
  159. 4:43讓系統找得到
  160. 4:45A 是從找到的東西裡挑出最好的幾張
  161. 4:47拼成一份乾淨的小抄遞給 AI
  162. 4:49G 是調教 AI
  163. 4:50讓它看著小抄把答案寫對
  164. 4:52這三步裡最長
  165. 4:54也最容易被忽略的,就是 R
  166. 4:56而 R 又分成兩半
  167. 4:57前半是把書架整理好
  168. 4:59後半才是去書架上找書
  169. 5:01很多人做 RAG 第一步
  170. 5:02就跳去挑向量資料庫
  171. 5:04或是寫檢索演算法
  172. 5:05但後面很多 AI 找不到答案
  173. 5:07或者回答鬼打牆的問題
  174. 5:08九成以上的根源
  175. 5:09通通都在資料本身
  176. 5:11也就是整理書架的這前半段
  177. 5:13回到我們手上的東西
  178. 5:15你現在有巴菲特六十年的股東信
  179. 5:17三十幾年的股東會逐字稿
  180. 5:19整整一大包純文字
  181. 5:20如果要讓它變成 AI 可以查閱的專屬知識庫
  182. 5:23下一步應該怎麼做?
  183. 5:25答案就是清洗資料
  184. 5:26但清洗資料不是單純的順手改改錯字
  185. 5:29文本清洗的兩個核心目標是
  186. 5:31拉高資訊密度,以及確保語意獨立
  187. 5:33接下來我們一個一個講
  188. 5:35第一是拉高資訊密度
  189. 5:37你抓下來的逐字稿和檔案
  190. 5:38裡面充滿了大量檢索不需要的雜訊
  191. 5:40像是 PDF 轉檔留下的頁首頁尾
  192. 5:43主持人的寒暄,現場笑聲
  193. 5:44或是請下一位股東到三號麥克風提問
  194. 5:47這種過場廢話
  195. 5:48如果不把這些清掉
  196. 5:49AI 到時候就很容易撈出垃圾
  197. 5:51白白浪費模型的上下文空間
  198. 5:53第二是確保語意完整
  199. 5:55口語對話通常非常破碎
  200. 5:57巴菲特講話常常省略主詞
  201. 5:59或者蒙格在旁邊插一句話
  202. 6:01如果你沒有把這段話是誰說的
  203. 6:03他到底在回答哪個問題整理清楚
  204. 6:05這段文字一旦被單獨抽出來
  205. 6:07AI 根本看不懂前因後果
  206. 6:08甚至會張冠李戴
  207. 6:10清洗的真正目的
  208. 6:11就是把原本混亂,破碎的原始素材
  209. 6:14整理成每一段都自帶完整脈絡的高濃度知識
  210. 6:18那面對幾十萬,上百萬字的逐字稿
  211. 6:20具體在工程上到底該怎麼洗?
  212. 6:22你總不可能人工一行一行去修吧?
  213. 6:24目前業界最成熟的 Best Practice
  214. 6:26其實是一套自動化的兩階段管線
  215. 6:29第一階段
  216. 6:29用 deterministic 的腳本做物理掃除
  217. 6:32把 SRT 時間戳,格式亂碼,現場笑聲
  218. 6:35以及嗯,啊,那個這種無意義的口語贅字
  219. 6:38全部自動剔除
  220. 6:40第二階段
  221. 6:41交給便宜又快速的小模型
  222. 6:42像是 GPT mini 系列
  223. 6:44幫你做語意整理
  224. 6:46這裡最關鍵的一步
  225. 6:47叫做代名詞還原
  226. 6:49口語聊天常常說
  227. 6:50它那時候很便宜
  228. 6:51那家公司護城河很深
  229. 6:52小模型會根據上下文脈絡
  230. 6:54自動把它替換回可口可樂
  231. 6:56同時,它會把現場混在一起的多人講話
  232. 6:59標清楚誰是發問者,誰是回答者
  233. 7:01整理成乾淨的一問一答
  234. 7:03這一步關鍵的原因是
  235. 7:05就算這段話之後被單獨切開
  236. 7:07它依然自帶完整的脈絡
  237. 7:08AI 隨時抽出來看
  238. 7:10都完全讀得懂它在講什麼
  239. 7:12資料清洗完之後呢?
  240. 7:13因為 RAG 的核心目標
  241. 7:15是精準投餵 AI 所需要的資訊
  242. 7:17當你問一個問題時
  243. 7:18系統只要挑出最關鍵的那兩三段給 AI 就夠了
  244. 7:21而不是又把幾十萬字整包塞進去
  245. 7:23不然那樣又會回到前面又慢又貴的惡夢
  246. 7:26所以,我們必須把這份龐大的檔案
  247. 7:28拆解成一個一個獨立,好搜尋的知識卡片
  248. 7:32這個步驟,在技術上就叫做 Chunking
  249. 7:34中文叫切塊
  250. 7:35切出來的每一塊就叫一個 Chunk
  251. 7:37常見的 Chunking 策略通常有兩種
  252. 7:40第一種是固定字數切塊
  253. 7:42顧名思義,就像拿皮尺量長度一樣
  254. 7:44不管話說完了沒
  255. 7:45每滿五百字就無情切一刀
  256. 7:48這個方法最大的優勢就是簡單,通用
  257. 7:50不需要動腦
  258. 7:52不管你餵給它什麼格式的文件
  259. 7:53完全不需要花時間分析結構
  260. 7:55幾行程式碼就能快速切完
  261. 7:57而且每個 Chunk 的大小都一樣
  262. 7:58非常好控制 Token 的成本
  263. 8:00但它的問題
  264. 8:01就是完全無視語意邊界
  265. 8:03一刀切下去,很容易剛好把一句話
  266. 8:06或是把問題和回答硬生生砍成兩半
  267. 8:09單獨拿出來看根本不知所云
  268. 8:11拿巴菲特的股東會逐字稿來說
  269. 8:13假設有股東問
  270. 8:14你當年為什麼買可口可樂?
  271. 8:16巴菲特回答了四百多字
  272. 8:18講到一半剛好滿五百字
  273. 8:19刀就落下來了
  274. 8:21結果前一張卡片的結尾是
  275. 8:23我們當時看到最大的優勢是
  276. 8:25後一張卡片的開頭是
  277. 8:26它可以年年漲價,消費者還是照買
  278. 8:29後面這張卡單獨拿出來
  279. 8:30根本不知道它是誰
  280. 8:32你之後搜可口可樂 護城河
  281. 8:33這張最關鍵的卡片就撈不到了
  282. 8:36所以為了彌補硬切的缺點
  283. 8:38大家通常會設定一點重疊區間
  284. 8:40也就是 Overlap
  285. 8:42設定重疊的目的
  286. 8:43就是為了防止關鍵句子剛好落在刀口上
  287. 8:45讓後一張卡片的開頭
  288. 8:47多包含前一張卡的最後幾十個字
  289. 8:48買個保險
  290. 8:49避免重要的上下文直接斷掉
  291. 8:52但這依然治標不治本
  292. 8:53這個方法的最大硬傷
  293. 8:54依然是語意容易被腰斬
  294. 8:56第二種策略是按自然結構切塊
  295. 8:58這也是比較適合我們手上
  296. 9:00巴菲特資料的 chunking 策略
  297. 9:02具體怎麼做?他的資料剛好就分兩種
  298. 9:05第一種是股東信
  299. 9:07巴菲特每年都寫了很清楚的小標題
  300. 9:09實務上就直接照 Markdown 小標題切
  301. 9:11一個標題一張卡片
  302. 9:12每一張都是一個完整的投資觀點
  303. 9:15第二種是股東會逐字稿
  304. 9:17這本質上是一場問答馬拉松
  305. 9:18所以我們可以用每一輪問答為單位
  306. 9:20我們可以把股東提問,巴菲特回答
  307. 9:23加上蒙格的補充
  308. 9:24整組打包成一個 Chunk
  309. 9:26這樣切,問題跟答案永遠綁在一起
  310. 9:28上下文也就完整
  311. 9:30今天我先講最常見的兩種 chunking 策略
  312. 9:33如果你想深入了解更進階的切塊架構
  313. 9:35我在 Gary AI 實戰營中
  314. 9:37會有一支影片專門講解
  315. 9:39有興趣的朋友
  316. 9:39可以在影片下方資訊欄找到加入連結
  317. 9:42那每一個 Chunk 都切好之後
  318. 9:44我們就可以直接拿去搜尋了嗎?
  319. 9:46還不行
  320. 9:47如果你直接光靠卡片裡的文字本身
  321. 9:49做搜尋依然會翻車
  322. 9:52因為 AI 在做搜尋的時候
  323. 9:53通常是比對問題和卡片的意思接不接近
  324. 9:57如果你聽不太懂的話沒關係
  325. 9:58等一下我們會再細講
  326. 10:00但讓 AI 純粹比對意思
  327. 10:01會有一個嚴重的盲點
  328. 10:03舉個例子
  329. 10:04如果使用者問
  330. 10:05巴菲特在2020年之後
  331. 10:06是怎麼談通膨的?
  332. 10:08如果你這時候純靠內文的語意搜尋
  333. 10:10就很容易出問題
  334. 10:11因為模型比較看得懂通膨這個概念
  335. 10:13它對2020年之後
  336. 10:15這種時間邊界非常不敏感
  337. 10:16很可能把1980年代講得非常精彩的通膨段落
  338. 10:19直接撈出來交差
  339. 10:21這就是為什麼每張卡片都必須附上 Metadata
  340. 10:24中文叫元資料
  341. 10:26Metadata 其實就是這個段落的標籤
  342. 10:28以這個例子來說
  343. 10:29我會在 Metadata 裡面放上
  344. 10:31發生的年份,出自哪一封信
  345. 10:33或是影片的時間戳記
  346. 10:35有了這些標籤
  347. 10:36當用戶問帶有條件的問題時
  348. 10:38系統就能先利用 Metadata 做精準的條件過濾
  349. 10:41先把時間範圍鎖定
  350. 10:42再去找內容
  351. 10:43這樣一方面比較準確
  352. 10:44另一方面又比較快
  353. 10:46如果你在做的是公司知識庫
  354. 10:48這點更是關鍵
  355. 10:49有些敏感資訊不能讓所有人隨意存取
  356. 10:52這時候你就能利用 Metadata
  357. 10:53在程式端先做一層確定性的權限過濾
  358. 10:56確保不會有人看到他不該看的資料
  359. 10:59現在,你手上終於有
  360. 11:00幾萬張切好,且貼好標籤的知識卡片了
  361. 11:03R 的前半段整理書架
  362. 11:05到這裡也告一個段落
  363. 11:07接下來是 R 的後半段,找書
  364. 11:09也就是說用戶提問的時候
  365. 11:10我們要怎麼讓 AI 去撈出最相關的資訊來回答?
  366. 11:14在 RAG 裡
  367. 11:15AI 具體到底是用什麼方式
  368. 11:16去搜尋這幾萬張卡片的?
  369. 11:18其實主要就兩種做法
  370. 11:20第一種做法
  371. 11:21是大家最熟悉的關鍵字搜尋
  372. 11:23英文是 Keyword Search
  373. 11:24這就像你在文件裡按 Ctrl+F
  374. 11:26直接比對你輸入的字
  375. 11:27有沒有出現在卡片裡
  376. 11:29這種方法在抓特定人名,公司代號
  377. 11:31或是專有名詞時非常準
  378. 11:33但它的致命傷
  379. 11:34就是完全不懂同義詞
  380. 11:36比方說巴菲特講話
  381. 11:37不可能每次都照你的劇本走
  382. 11:39以護城河這個常見的名詞來說
  383. 11:41他可能會用不同的方式表達
  384. 11:43像是長期的競爭優勢
  385. 11:45或者別人很難搶走的生意
  386. 11:47這時候如果你輸入護城河然後去搜尋
  387. 11:49這些含金量極高的段落就會被全部漏掉
  388. 11:52所以就有了第二種做法
  389. 11:54叫做語意搜尋
  390. 11:55英文是 Semantic Search
  391. 11:57它不看字面有沒有完全吻合
  392. 11:58而是去看背後的意思一不一樣
  393. 12:01對於技術小白來說
  394. 12:02你可能會好奇
  395. 12:03語意搜尋到底是怎麼知道
  396. 12:04兩句話意思相近的?
  397. 12:06最簡單的理解方式就是
  398. 12:07這背後靠的是一種叫做 Embedding 的模型
  399. 12:10它會把每一張卡片的文字
  400. 12:12換算成一串數字
  401. 12:13而這串數字就叫向量, Vector
  402. 12:16你可以把向量
  403. 12:17想像成語意地圖上的座標
  404. 12:19比如說護城河三個字
  405. 12:20會被換算成一組數字座標
  406. 12:22這組座標在數學上
  407. 12:24會跟長期的競爭優勢
  408. 12:25這個語意上跟護城河比較相似的區塊
  409. 12:28靠得非常近
  410. 12:29而跟晚餐吃什麼
  411. 12:30這種和護城河沒什麼關聯的名詞距離遙遠
  412. 12:34有了向量之後
  413. 12:35系統就可以把你的問題也換算成一個座標
  414. 12:37接著去計算問題座標
  415. 12:38跟資料庫裡每張卡片在數學上的距離
  416. 12:41距離最近的那幾張卡片
  417. 12:43就是意思最接近的內容
  418. 12:44抓出來餵給 AI 之後
  419. 12:46它就能精準回答
  420. 12:48聽起來很完美對吧?
  421. 12:49但純用語意搜尋
  422. 12:50其實藏著一個巨大的坑
  423. 12:52它記住的是宏觀大意
  424. 12:53很容易把專有名詞忽略掉
  425. 12:56比如你問
  426. 12:57巴菲特為什麼買喜詩糖果?
  427. 12:59系統用語意去找
  428. 13:00找回來的卡片可能全都在講可口可樂
  429. 13:02或者講好品牌有漲價的權利
  430. 13:04這些概念很像
  431. 13:05但都沒有提到喜詩糖果本身
  432. 13:08那這時候 AI 回答出來
  433. 13:09就會直接答非所問
  434. 13:10甚至開始瞎掰
  435. 13:11硬把可口可樂的邏輯套到喜詩頭上
  436. 13:14這是因為專有名詞放進一整段話裡
  437. 13:17很容易被整體的大意稀釋掉
  438. 13:19所以這兩種檢索方法
  439. 13:21一個擅長抓精確字面
  440. 13:22一個擅長抓抽象意思
  441. 13:24在實務上,成熟的 RAG 通常是兩者並行使用
  442. 13:27這就叫做混合搜尋
  443. 13:28也就是 Hybrid Search
  444. 13:29那這些切好的卡片
  445. 13:31以及我們上面說通過 Embedding 模型
  446. 13:33生成出來的向量座標
  447. 13:34還有剛才講的 Metadata
  448. 13:36這時候會存進一個支援向量搜尋的資料庫
  449. 13:39向量資料庫支援開發者
  450. 13:40把這些文字,向量和標籤分門別類存進去
  451. 13:43而建好目錄的這個過程
  452. 13:44就叫做 Indexing
  453. 13:46中文叫做建立索引
  454. 13:48當使用者一個問題問進來
  455. 13:50AI 就可以透過 Hybrid Search
  456. 13:51去這個支援向量搜尋的資料庫裡
  457. 13:53找相對應的資料卡片
  458. 13:55我們直接用巴菲特來模擬一次
  459. 13:57假設你問
  460. 13:58巴菲特為什麼買下喜詩糖果?
  461. 14:00它的護城河在哪裡?
  462. 14:01系統這時候會兵分兩路
  463. 14:03一路是關鍵字搜尋
  464. 14:05它死咬著喜詩糖果這個專有名詞
  465. 14:07把所有真的出現喜詩的卡片精準撈出來
  466. 14:10但這些卡片裡可能沒有深談護城河的理論
  467. 14:12另一路是語意搜尋
  468. 14:14它去抓收購邏輯和護城河的意思
  469. 14:16撈出一堆談定價權,品牌優勢的卡片
  470. 14:19接著,系統把兩邊找到的名單合併
  471. 14:22挑出比方說前二十張候選的 Chunk
  472. 14:25走到這一步時, RAG 的 R 就告一段落了
  473. 14:27因為我們已經把回答這個問題
  474. 14:29所需要的資料都抓回來了
  475. 14:31而下一步就是進到 RAG 的 A , Augmented
  476. 14:33這一步的工作只有一個
  477. 14:35決定到底要把什麼東西放在 AI 眼前
  478. 14:38你這時候可以直接把這二十個 Chunk
  479. 14:40全部一股腦丟給 AI 嗎?
  480. 14:41最好不要
  481. 14:42因為第一階段粗撈出來的名單
  482. 14:44裡面摻雜了許多半相關的雜訊
  483. 14:46如果硬塞給模型
  484. 14:47不僅資訊密度被稀釋
  485. 14:49模型還很容易被雜訊帶偏,產生幻覺
  486. 14:52如果我們要讓回答更完美
  487. 14:54就必須把資料的密度再提煉出來
  488. 14:56所以 Augmented 的第一道工序
  489. 14:58是用一個讀得更仔細的模型
  490. 15:00把這二十張卡片跟問題一張一張對著讀
  491. 15:03重新排一次名
  492. 15:04把真正有用的卡片頂到前面
  493. 15:06這也就是大家常聽到的 Re-ranking
  494. 15:08重新排序
  495. 15:09嚴格講的話
  496. 15:10Re-ranking 在教科書裡算 R 的最後一步
  497. 15:12但我把它放在 A 的部分
  498. 15:14是因為我覺得這樣比較好理解
  499. 15:15畢竟 Re-ranking 的工作不是去找
  500. 15:17而是決定哪幾張卡片有資格進到 AI 眼前
  501. 15:20這對我來說比較像是 A 在做的事
  502. 15:23而它到底屬於哪一個字母的階段
  503. 15:25其實也沒那麼重要
  504. 15:26重要的是能夠理解 RAG 是如何運作的
  505. 15:29排好名之後
  506. 15:30Augmented 這個階段最重要的
  507. 15:32就是把小抄拼起來
  508. 15:33你可能會取前三到五張卡片
  509. 15:35連同卡片的 Metadata
  510. 15:37像是年份,出處
  511. 15:38再加上你的問題
  512. 15:40還有一段指示
  513. 15:40像是只能根據下面這幾段資料回答
  514. 15:43資料裡沒有的就說不知道
  515. 15:45全部組成一份最終的提示詞
  516. 15:47交給 AI
  517. 15:48走到這裡,我們快速回顧一下
  518. 15:51在 Retrieval 這一段
  519. 15:52我們把巴菲特六十年份的雜亂資料
  520. 15:54清洗乾淨,切成卡片,貼上標籤
  521. 15:56存進向量資料庫建索引
  522. 15:58再用 Hybrid Search 把二十張候選撈回來
  523. 16:00而在 Augmented 的階段
  524. 16:02我們用 Re-ranking 挑出最準的幾張
  525. 16:04拼成一份乾淨的小抄
  526. 16:06接著就要進入 RAG 的最後一段
  527. 16:08G , Generation ,也就是生成
  528. 16:10讓 AI 看著這份小抄,寫出答案
  529. 16:13G 在系統上其實是最單純的一步
  530. 16:16A 把小抄拼好之後
  531. 16:17G 就是把這份提示詞送給大語言模型
  532. 16:20拿回答案
  533. 16:21程式上就是一次 API 呼叫
  534. 16:23你真正要決定的事情其實不多
  535. 16:25首先是用哪個模型
  536. 16:27知識庫問答不需要最貴的那一個
  537. 16:29中低階模型配上一份好小抄通常就夠
  538. 16:32我自己滿喜歡 Gemini Flash 系列
  539. 16:34又快又便宜
  540. 16:36再來是在回答時的策略
  541. 16:37比方說要不要讓它附上出處
  542. 16:39用什麼語氣等
  543. 16:40而這些東西其實大多數
  544. 16:42就是用提示詞在控制
  545. 16:44我在實務上發現
  546. 16:45很多團隊的知識庫會遇到一個狀況
  547. 16:47同一個問題問兩次,答案不一樣
  548. 16:49甚至還會自己加戲,開始腦補
  549. 16:52這時候
  550. 16:52你可以先去檢查
  551. 16:53你的模型 Temperature 是不是設太高了
  552. 16:56Temperature 簡單來說就是控制
  553. 16:58AI 隨機性跟創造力的旋鈕
  554. 17:00溫度設得越高
  555. 17:01AI 就越想放飛自我
  556. 17:03用詞也會越多樣化
  557. 17:04而溫度越低它就越保守
  558. 17:06每次都只挑機率最高,最確定的字
  559. 17:09一般 AI 工具的預設溫度
  560. 17:11通常是 0.7 左右
  561. 17:12那是拿來寫文案,激發靈感用的
  562. 17:14但在嚴肅的知識庫裡
  563. 17:16創造力往往就等於幻覺
  564. 17:17要解決這個問題
  565. 17:18就直接把 Temperature 往下調就好
  566. 17:21走到這裡
  567. 17:22恭喜你
  568. 17:22你手上就已經擁有一個完整的 RAG 系統了!
  569. 17:25現在你只要問一個問題
  570. 17:27R 會在後台把最相關的資料卡片撈出來
  571. 17:29A 把它們排好名,拼成一份小抄
  572. 17:32G 再用你剛剛調好 Temperature 的 AI 大腦
  573. 17:35生成出最後的嚴謹回答
  574. 17:37不過 AI 再怎麼說還是 non-deterministic 的
  575. 17:40也就是說每次都有一定的隨機性
  576. 17:42所以實際使用時
  577. 17:43一定還是有機會遇到分身答錯的時候
  578. 17:46這時候不要立刻就判斷是 AI 不夠聰明
  579. 17:48馬上換一個更貴的大模型
  580. 17:50因為只要你搞懂了前面這一整套邏輯
  581. 17:52你就可以順著這個邏輯
  582. 17:54非常科學的去做排查
  583. 17:56譬如說你問它
  584. 17:57巴菲特哪一年買下喜詩糖果?
  585. 17:58正確答案是1972年
  586. 18:00分身卻回答1980年代
  587. 18:03順著 R , A , G 由前到後這樣查
  588. 18:06第一步,看 R 的前半,資料端
  589. 18:08講1972年收購的那段原文
  590. 18:10當初切 Chunk 時有沒有被腰斬切壞?
  591. 18:13或是字幕辨識錯字了?
  592. 18:15如果小抄一開始就印壞了
  593. 18:16AI 當然不可能答對
  594. 18:18這時候的解決策略
  595. 18:19是回頭修復資料源
  596. 18:21或是調整切塊規則
  597. 18:22確保這段事實完整保留在一張卡片裡
  598. 18:26第二步,看 R 的後半,檢索端
  599. 18:28資料庫裡有這張卡片
  600. 18:29但第一輪粗撈候選名單時
  601. 18:31是不是把它給漏掉了?
  602. 18:32這代表原始資料根本沒被找出來
  603. 18:35這時候的解決策略
  604. 18:36可能就是把 Hybrid Search 裡的關鍵字權重拉高
  605. 18:39或是把海選數量從二十張放寬到五十張
  606. 18:42把粗撈的網子撒得更大一點
  607. 18:44第三步,看 A ,小抄端
  608. 18:46卡片撈出來了
  609. 18:47但 Re-ranking 時
  610. 18:48是不是被排在第十幾名
  611. 18:49根本沒擠進送給 AI 的前三名?
  612. 18:51這代表小抄找到了
  613. 18:53但沒遞到它手裡
  614. 18:54這時候的解決策略
  615. 18:55可能是換一個更好的 Re-ranking 模型
  616. 18:57或是把送給 AI 的名額放寬到前五張
  617. 19:00讓正確小抄能順利遞交
  618. 19:02第四步,才看 G ,模型端
  619. 19:05如果寫著1972年的卡片
  620. 19:06明明端端正正放在它眼前
  621. 19:08它卻還是講錯?
  622. 19:09這代表小抄就在眼前
  623. 19:11它卻看花了眼
  624. 19:12這時候的解決策略
  625. 19:13才輪到去檢查 System Prompt
  626. 19:15比如要求它先引用卡片中的年份再回答
  627. 19:17如果它依然理解錯誤
  628. 19:19這時才考慮升級更強的大模型
  629. 19:21實務上八成以上的翻車
  630. 19:23全都在前三步
  631. 19:24也就是 R 跟 A
  632. 19:25根本輪不到模型
  633. 19:26背後的原因也很簡單
  634. 19:28有在用 AI 的人都知道
  635. 19:29當你把十則資訊放到 AI 眼前
  636. 19:32然後請他根據這十則資訊去回答你的問題
  637. 19:34他回答正確的機率講道理是非常非常高的
  638. 19:38RAG 也可以這樣去理解
  639. 19:39如果你有把正確的
  640. 19:40且真正關鍵的資訊擺到 AI 眼前
  641. 19:43其實那樣的資訊量並不足以讓他開始出現幻覺
  642. 19:46所以當回答不如預期時
  643. 19:48記得要按照 RAG 的資料流動管線去做排查
  644. 19:50才不會亂槍打鳥
  645. 19:52就算你只是平常隨便玩玩 Claude Code 或 Codex
  646. 19:55也沒有要幫自己或企業架一套 RAG 系統
  647. 19:57我希望今天這支影片
  648. 19:59還是能給你帶來一點啟發
  649. 20:01畢竟 RAG 本質上其實就是在做一件事
  650. 20:03如何在有限的視窗裡
  651. 20:05把最高密度,最正確的資料端到 AI 眼前
  652. 20:08確保他的回答是有跡可循的
  653. 20:10搞懂 RAG 的原理之後
  654. 20:11當 Claude Code 改程式碼改到迷路
  655. 20:14開始鬼打牆時
  656. 20:15你會知道該立刻清理上下文
  657. 20:16只精準指定核心檔案
  658. 20:18不讓多餘雜訊稀釋它的注意力
  659. 20:20當你在丟了幾十頁的報告
  660. 20:22卻被 AI 答非所問時
  661. 20:24你一眼就知道是格式被切碎了
  662. 20:26懂得改餵帶有清楚小標題的 Markdown
  663. 20:27讓它精準抓取
  664. 20:29你不再是只能祈禱 AI 別胡說八道
  665. 20:31看運氣的抽卡玩家
  666. 20:32而是能主動控制資料品質的 Context Engineer
  667. 20:35RAG 不只是一項工程技術
  668. 20:37背後的邏輯更是一套
  669. 20:38如何與 AI 高效協作的 Context Engineering 思維
  670. 20:42如果你正在學習 AI
  671. 20:43想看更多實戰內容
  672. 20:44也希望有一群能一起討論的夥伴
  673. 20:46或是直接跟我一對一問答
  674. 20:48歡迎加入我們的 Gary AI 實戰營
  675. 20:50連結我會放在影片下方的資訊欄
  676. 20:53那以上就是今天的內容
  677. 20:54喜歡的話記得幫我按讚,追蹤,加分享
  678. 20:57這是我持續創作下去的動力
  679. 20:59我們下次見!

About this transcript

This page contains the full transcript of 從零搞懂 RAG,要搭個人或企業知識庫必學! by Gary Chen, generated from the public captions YouTube serves with the video. The transcript has 1,008 words across 679 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.