changed a year ago
Published Linked with GitHub

設計可靠的AI知識庫


Hi 我是June image

  • 聖杰國際股份有限公司 電控工程師
  • AI4kids 共同創辦人
  • Cupoy 特聘講師
  • 派斯客 業界顧問
  • 台灣人工智慧學校 AI工程師
  • 亞達科技 AI工程師

今天聽完分享會得到的內容

  1. 什麼是RAG
  2. RAG怎麼將知識擷取到知識庫
  3. RAG怎麼從知識庫中找到相關資料
  4. RAG怎麼幫助LLM回答問題
  5. 設計謹慎的知識庫的幾個關鍵

什麼是RAG


image


image
RAG就是LLM可以參考的一本筆記本。當我們跟GPT或其他LLM交談時,提高回答的表現。


問題1:

筆記怎麼寫的

aka. RAG怎麼將知識擷取到知識庫


  1. 先獲得文字內容
  2. 將內容根據字元切分成Chunk
  3. 產生Embedding(嵌入)
  4. 存入資料庫
    image

Embedding
image


圖片和表格會發生什麼事?


以Ollama和大多RAG工具來看,會直接被忽略掉
image


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


一個常見迷思: RAG的嵌入也來自GPT4等大語言模型
image


實際上,我們只是需要內容與嵌入互相對應,所以用相對簡單的Bert等就可以了。但確實可以用GPT或其他LLM來進行,並獲得語意上更可靠的嵌入(但會貴的嚇人)。或者針對圖像型資料,才特別選擇用GPT4o來產生嵌入。


問題2

怎麼找到相關內容?

aka. RAG怎麼從知識庫中找到相關資料


這個問題有關檢索方法,也就是到底怎麼找到想要的資料

  1. 簡單方案
    • 計算嵌入之間的距離(餘弦相似度等)
  2. 複雜方案
    • Graph或其他資料結構樹

問題3

如何利用搜索到的相關內容?

aka. RAG怎麼幫助LLM回答問題


如何利用搜索到的相關內容 ?
image
把搜索到的內容整合到用戶訊息裡面,一起送給LLM做回答。


RAG的效果

image

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

RAG就是創建數位化的第二大腦

  • 一個筆記本:
    • 擷取、檢索、儲存
  • 第二大腦:
    • 擷取、檢索、儲存、轉化
    • 轉化指的是提取資料,並轉換成資訊。這就是語言模型的威力

Review

  1. 什麼是RAG
  2. RAG怎麼將知識擷取到知識庫
  3. RAG怎麼從知識庫中找到相關資料
  4. RAG怎麼幫助LLM回答問題
  5. 設計謹慎的知識庫的幾個關鍵

如何設計謹慎的AI知識庫


Garbage in Garbage out


準則

  1. (開始之前)設定適合公司的審核標準,確保回應內容的規範,輸入資料的整理原則
  2. (當開始建立知識庫)對每一份新的資料,設立負責人,對知識庫的內容編寫回應內容的允許範疇。(例如: 客服機器人回應內容不能超出現有客服回應資料範例中)

  1. (當開始建立知識庫)工程師建立合理的資料擷取路徑,將新資料納入知識庫。
  2. (新資料開始推論前)工程師建立Parser,確保輸出內容符合公司的標準,以及該新資料由負責人訂立的範疇。
  3. (推論)上線後透過評分機制收集回應,或跟付費的高階LLM對談,並收集回饋
  4. (維護)持續更新、管理知識庫。刪除廢、舊、重複知識

最大挑戰

範疇與審核標準定義


挑戰1: 關鍵資訊萃取

  • 如何萃取到重要的資訊?
  • 如何確保到的資訊是正確的?

混合結構和非結構化資料

image


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


使用LLM Agent從資料庫中存取準確無誤的資訊

LLM Agent還是LLM,但他透過跟運算環境連結,並多上了任務規劃和任務執行的能力。簡單的說,他現在不只能建議你做什麼,還能直接幫你做!

image


挑戰2: 圖文混合

image


如何解決圖文混合問題

  1. 使用CLIP家族產生嵌入(Local)
  2. 使用GPT4理解圖片產生嵌入(Recommend)

挑戰3: 正規化回應

Layout Parser

image


挑戰4: 持續更新

對RAG知識庫來說,必要且最大的支出就是更新知識庫。特別是在專業領域,或需要語言工程師參與的場景,例如建立Question-Answer的對應,或是醫療或法律相關知識是涉及到案例或臨床資料。

如何將使用者的問題與回應收入知識庫

  • 評分
  • 使用高階語言模型產生

No-code 關鍵知識管理知識庫

  • No-code 關鍵資訊萃取器
  • 混合結構與非結構資料的知識庫
  • 優化的Layout Parser

謝謝聆聽!

Select a repo