# 設計可靠的AI知識庫
---
## Hi 我是June 
- 聖杰國際股份有限公司 電控工程師
- AI4kids 共同創辦人
- Cupoy 特聘講師
- 派斯客 業界顧問
- 台灣人工智慧學校 AI工程師
- 亞達科技 AI工程師
---
今天聽完分享會得到的內容
1. 什麼是RAG
2. RAG怎麼將知識擷取到知識庫
3. RAG怎麼從知識庫中找到相關資料
4. RAG怎麼幫助LLM回答問題
5. 設計謹慎的知識庫的幾個關鍵
---
# 什麼是RAG
---

---

RAG就是LLM可以參考的一本筆記本。當我們跟GPT或其他LLM交談時,提高回答的表現。
---
# 問題1:
## 筆記怎麼寫的
aka. RAG怎麼將知識擷取到知識庫
---
1. 先獲得文字內容
2. 將內容根據字元切分成Chunk
3. 產生Embedding(嵌入)
4. 存入資料庫

---
Embedding

---
## 圖片和表格會發生什麼事?
---
以Ollama和大多RAG工具來看,會直接被忽略掉

---
但並不是完全沒辦法處理,例如我們可以用多模態模型來處理圖片

- [利用LangChain 實作多模態模型的RAG...]()
- [Langchain Multi-modal RAG]()
---
一個常見迷思: RAG的嵌入也來自GPT4等大語言模型

---
實際上,我們只是需要內容與嵌入互相對應,所以用相對簡單的Bert等就可以了。但確實可以用GPT或其他LLM來進行,並獲得語意上更可靠的嵌入(但會貴的嚇人)。或者針對圖像型資料,才特別選擇用GPT4o來產生嵌入。
---
# 問題2
## 怎麼找到相關內容?
aka. RAG怎麼從知識庫中找到相關資料
---
這個問題有關檢索方法,也就是到底怎麼找到想要的資料
1. 簡單方案
- 計算嵌入之間的距離(餘弦相似度等)
2. 複雜方案
- Graph或其他資料結構樹
---
# 問題3
## 如何利用搜索到的相關內容?
aka. RAG怎麼幫助LLM回答問題
---
如何利用搜索到的相關內容 ?

把搜索到的內容整合到用戶訊息裡面,一起送給LLM做回答。
---
# RAG的效果

###### [Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks](https://arxiv.org/pdf/2005.11401)
---
## RAG就是創建數位化的第二大腦
- 一個筆記本:
- 擷取、檢索、儲存
- 第二大腦:
- 擷取、檢索、儲存、轉化
- 轉化指的是提取資料,並轉換成資訊。這就是語言模型的威力
---
# Review
1. 什麼是RAG
2. RAG怎麼將知識擷取到知識庫
3. RAG怎麼從知識庫中找到相關資料
4. RAG怎麼幫助LLM回答問題
5. 設計謹慎的知識庫的幾個關鍵
---
# 如何設計謹慎的AI知識庫
---
## Garbage in Garbage out
---
## 準則
1. (開始之前)設定適合公司的審核標準,確保回應內容的規範,輸入資料的整理原則
2. (當開始建立知識庫)對每一份新的資料,設立負責人,對知識庫的內容編寫回應內容的允許範疇。(例如: 客服機器人回應內容不能超出現有客服回應資料範例中)
---
3. (當開始建立知識庫)工程師建立合理的資料擷取路徑,將新資料納入知識庫。
4. (新資料開始推論前)工程師建立Parser,確保輸出內容符合公司的標準,以及該新資料由負責人訂立的範疇。
5. (推論)上線後透過評分機制收集回應,或跟付費的高階LLM對談,並收集回饋
6. (維護)持續更新、管理知識庫。刪除廢、舊、重複知識
---
# 最大挑戰
## 範疇與審核標準定義
---
## 挑戰1: 關鍵資訊萃取
- 如何萃取到重要的資訊?
- 如何確保到的資訊是正確的?
---
## 混合結構和非結構化資料

---
用以產生結構化資料的AI - LayoutLM家族

---
## 使用LLM Agent從資料庫中存取準確無誤的資訊
##### LLM Agent還是LLM,但他透過跟運算環境連結,並多上了任務規劃和任務執行的能力。簡單的說,他現在不只能建議你做什麼,還能直接幫你做!

---
## 挑戰2: 圖文混合

---
如何解決圖文混合問題
1. 使用CLIP家族產生嵌入(Local)
2. 使用GPT4理解圖片產生嵌入(Recommend)
---
# 挑戰3: 正規化回應
## Layout Parser

---
## 挑戰4: 持續更新
###### 對RAG知識庫來說,必要且最大的支出就是更新知識庫。特別是在專業領域,或需要語言工程師參與的場景,例如建立Question-Answer的對應,或是醫療或法律相關知識是涉及到案例或臨床資料。
如何將使用者的問題與回應收入知識庫
- 評分
- 使用高階語言模型產生
---
## No-code 關鍵知識管理知識庫
- No-code 關鍵資訊萃取器
- 混合結構與非結構資料的知識庫
- 優化的Layout Parser
---
# 謝謝聆聽!
{"description":"如何設計謹慎的AI知識庫","title":"如何設計謹慎的AI知識庫","contributors":"[{\"id\":\"1d4a8f9e-85d0-4d9e-bd05-238b88d2f21a\",\"add\":4831,\"del\":1735}]"}