進階 RAG 技巧 - 到底 RAG 是什麼?
RAG = 根據使用者問題:1. 「找」出有用的資訊,2. 把這些資訊「生成」答案。不過呢
- 「找出有用資訊」有時不僅僅是「把文章跟問題變成 embedding 找最相近的」
- 「生成答案」偶爾也不是「把 chunk 丟進去 LLM」就好
這系列文整理了網路上改善 RAG 的技巧與策略,包括
- 怎麼建立索引 index - 敬請期待
- 怎麼變換使用者問題 transform query
- 怎麼搜尋 match / rank / re-rank / fusion - 敬請期待
- 怎麼生成 generate - 敬請期待
- Routing / Workflow - 敬請期待
- 評估成效 Evaluate (Ragas) - 敬請期待
其實還有很多重要的,只不過目前還沒蒐集:input data processing, ingestion, instrumentation, multi-modal, GraphRAG, …
本系列文大量參考了下面的資源 – 不如說如果英文熟的話看那些就好了,這裡比較像中文化整理以及私人參考知識庫
- RAG 百科參考書: https://github.com/NirDiamant/RAG_Techniques ,如果只能看一個地方的話,看這個
- RAG 各階段的策略 + LangChain 範例: https://github.com/sakunaharinda/ragatouille-book/tree/main ,簡單扼要
- 有更多會在各篇文章內提及
Disclaimer: 這裡的文獻技巧不一定適合你的應用情境。不如說,那些作者會發明不同的技巧,很可能是他們 debug 他們實務問題的不足之處 – 而不是你的。
若您覺得有趣, 請
追蹤我的Facebook 或
Linkedin,
讓你獲得更多資訊!