昨天先整理了 RAG 的基本概念。
簡單來說,就是:
AI 回答之前,先找到相關資料,再根據資料回答。
但下一個問題就是:
這些資料到底從哪裡來?又要怎麼讓系統找到?
RAG 不代表直接搜尋整個網路。
比較常見的方式,是先建立自己的知識庫。
例如 VoCare 未來可以整理:
這些資料會先進入系統,成為 AI 可以搜尋的知識來源。
假設今天有一份幾十頁的照護資料,如果每次有人提問都把整份文件交給 AI,其實沒有必要。
所以文件進入 RAG 之後,通常會先被切成比較小的內容。
例如:
完整文件
→ 切成多個小段落
→ 建立搜尋索引
當使用者提出問題之後,系統只需要從這些內容裡找出最相關的幾段。
所以整體流程可以整理成:
文件
→ 切分內容
→ 建立索引
→ 使用者提問
→ 搜尋相關內容
→ AI 根據資料回答
RAG 的重點不是讓 AI 看越多資料越好。
而是:
只提供和目前問題真正相關的內容。
例如長者詢問某個系統功能,就只需要找操作說明裡相關的段落。
如果詢問的是照護相關內容,就去找知識庫裡對應的資訊。
這樣可以避免太多無關內容干擾 AI,也能讓回答更聚焦。
當 VoCare 同時加入三個功能之後,AI 回答前可能會取得:
Memory
→ 長者的長期資料
Context
→ 最近的互動與狀況
RAG
→ 和目前問題相關的知識
最後再和使用者現在的訊息一起交給 AI。
可以整理成:
**Current Message
這樣 AI 才能同時知道:
這個人是誰、最近發生什麼,以及這個問題相關的知識。