September 4th, 2023
投影片: https://docs.google.com/presentation/d/1wTEt3sy7ZHk3rYO3nFYhPZEFrfpG70l6WzY12wIaycE/edit?usp=sharing
簡單摘要:
RAG (Retrieval Augmented Generation) 主要講的是透過查詢資料,透過 LLM 做為結果的生成回覆。
準備資料: 讀取資料,切割成 chunk ,加上 Embedding ,放入 Vector DB 讀取資料: 輸入轉換成 Embedding 比對 Vector ,找出 Chunk ,放入 LLM 來生成回答
困難點:
- 檢索(Retrieval) 的資料不夠好,就算你 model 用 gpt20 (講者真的這樣說)也沒救。
- 如何在系統層上面做到即時資料更新?
改善方式:
- 挑選好切割工具(parser) : 推薦 LlamaHub ,Unstructured-IO/unstructured
- 加強檢索的資料(放一些 metadata) : e.g. 頁碼,章節敘述 ….
- 建立一個 data pair (doc_hash_id, ver_num),更新比較快。
產品介紹: LlamaIndex https://www.llamaindex.ai/
- 支援多種 Loader: Llama hub
- 支援 Document Update:
- https://gpt-index.readthedocs.io/en/stable/core_modules/data_modules/index/usage_pattern.html#handling-document-update