iT邦幫忙

2026 iThome 鐵人賽

DAY 26
0
AI 自動化

AI 情境英文口語教練——結合 LLM 與自動化工作流的個人化英文學習系統系列 第 26 篇

認識 RAG 與 FAISS,了解如何建立英文知識資料庫

  • 分享至 

  • xImage
  •  

Day 25 把學習報告做出來之後,我回頭認真看了一次報告裡「實用片語」那一欄,心裡冒出一個疑問:這些片語是 AI 憑「印象」生出來的,我怎麼知道它推薦的說法真的是母語者常用的?LLM 本質是機率預測(Day 1 學的),它有時候會生出聽起來很合理、但其實不太道地的表達。

今天要認識的 RAG 和 FAISS,就是針對這個問題的一種解法:不要讓 AI 只靠記憶回答,而是讓它先去「查資料」,再根據查到的內容回答。

RAG 是什麼

RAG 全名是 Retrieval-Augmented Generation,中文常翻成「檢索增強生成」。名字很長,拆開來看其實很好懂:

Retrieval(檢索):先從一份資料庫裡,找出跟問題最相關的內容
Augmented(增強):把找到的內容,附加到給 AI 的指令裡
Generation(生成):AI 參考這些附加內容之後,再生成回答

用考試比喻最直覺:一般的 LLM 回答問題,像是「閉卷考試」,只能靠腦袋裡記得的東西;RAG 則像「開書考」,AI 在回答前先翻一下參考資料,再根據資料寫答案。

為什麼這個專題需要 RAG

對照專題的需求,今天整理出三個 RAG 能幫上忙的地方:

推薦更可靠:片語和表達是從一份經過整理的資料庫裡找的,不是 AI 憑空生成,降低「聽起來合理但不道地」的風險
內容可以自己控制:想讓 AI 推薦哪些類型的片語,只要調整資料庫內容就好,不用一直改 Prompt
可以針對情境推薦:資料庫裡可以標註每個片語適合用在什麼場合(點餐、面試、機場),AI 才能根據使用者練習的情境,找出真正相關的表達

這也呼應了專題最初定位的核心特色:「母語者自然表達」。RAG 剛好是把這個特色做得更穩的方法。

FAISS 又是什麼

RAG 的第一步是「檢索」,問題在於:電腦怎麼判斷哪些資料「跟問題最相關」?

傳統的關鍵字搜尋只能比對字面——使用者說「想要少糖」,資料庫裡寫的是「less sweet」,兩邊字面完全不同,就搜不到。今天理解到,RAG 解決這個問題的方式是:把文字轉換成一串數字(向量),意思相近的文字,轉出來的數字也會相近。 這樣就能比對「意思」而不是「字面」。

FAISS 是 Meta 開發的一個工具,專門用來存放這些向量,並且快速找出「跟某個向量最接近」的那幾筆。簡單說,它就是這個專題裡「向量資料庫」的角色,負責回答:「資料庫裡哪幾句片語,意思最接近使用者現在遇到的情境?」

整體流程,今天畫出來的版本

把今天學的概念兜成一條流程,大致是這樣:

準備階段(只需要做一次)

整理一份英文片語與情境資料
把每筆資料轉換成向量
存進 FAISS

每次使用時

拿到使用者的對話或情境
把它也轉換成向量
用 FAISS 找出最相近的幾筆片語
把找到的內容附進給 LLM 的 Prompt
LLM 根據這些資料,產出更有依據的推薦

對照 Day 25 的報告流程,RAG 其實是插在「歸納整理」那一步前面——在 AI 整理「實用片語」之前,先替它準備好一份參考資料。

今天的取捨:先搞懂概念,不急著追求完整

專題計畫書原本就寫了:「若時間充足,再加入 RAG / FAISS」。今天接觸之後也深刻體會到,這塊是整個專題裡概念最抽象的部分,如果一開始就想做到完美,很容易卡住。所以今天先定下一個原則:目標是做出「能運作的最小版本」,資料量小沒關係,只要能證明「檢索 → 附加 → 生成」這條流程跑得通。


上一篇
Day 25|整合自動化學習報告:單字、文法、片語與錯誤分析
下一篇
Day 28|認識 ngrok,將本機 API / Webhook 開放給外部測試
系列文
AI 情境英文口語教練——結合 LLM 與自動化工作流的個人化英文學習系統 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言