前幾天主要都在整理 Memory 和 Context。
Memory 解決的是:
AI 要怎麼記得這位長者。
Context 解決的是:
AI 要怎麼知道長者最近發生什麼。
但如果今天長者問的不是自己的事情,而是一個需要查資料的問題,例如照護知識、系統使用方式,或其他指定資訊,這時候只靠 Memory 和 Context 就不夠了。
所以今天要整理另一個概念:
RAG(Retrieval-Augmented Generation)。
RAG 可以簡單理解成:
AI 回答之前,先去指定的資料裡找相關內容,再根據找到的資料回答。
所以流程不是:
問題 → AI 直接回答
而是:
問題
→ 搜尋相關資料
→ 取得最相關內容
→ 交給 AI
→ 產生回答
這樣 AI 的回答就不只依賴模型原本學過的知識,而是可以參考我們自己提供的資料。
如果完全讓 AI 自己回答,有些內容可能不符合我們系統真正想提供的資訊。
例如 VoCare 未來可能會有:
這些資料如果只是放在資料庫裡,AI 不一定知道。
所以 RAG 的作用就是:
讓 AI 回答前,先從 VoCare 指定的知識來源裡找資料。
這樣可以讓回答更接近系統真正想提供的內容。
這兩個概念很容易混在一起。
Memory 保存的是:
關於這位長者的資訊。
例如:
而 RAG 處理的是:
系統外部或預先建立的知識。
例如:
所以可以簡單分成:
Memory:這個人是誰
Context:最近發生什麼
RAG:相關知識是什麼
三個功能負責的資料其實不一樣。