天天看點

小白學RAG:大模型 RAG 技術實踐總結

RAG (Retrieval-Augmented Generation) 是一種結合資訊檢索與生成模型的技術。其主要目标是通過檢索大量資訊并使用生成模型進行處理,進而提供更加準确和豐富的回答。RAG技術在處理大規模文本資料時表現尤為出色,能夠從海量資訊中迅速找到相關内容并生成合适的響應。

智譜RAG方案具體設計了如何将RAG技術應用到智能客服領域。方案包括以下幾個關鍵環節:

  • 資訊檢索子產品:從預先建構的知識庫中快速找到與使用者問題相關的内容。
  • 生成子產品:利用先進的生成模型對檢索到的資訊進行加工和處理,生成符合上下文的答案。
  • 內建與優化:将檢索和生成子產品無縫內建,并通過持續的訓練和優化提高系統的準确性和效率。

RAG 綜述

RAG技術在大模型(LLM, Large Language Models)中的應用非常廣泛,是大模型落地最多的場景之一。通過RAG,客戶可以咨詢車輛功能、維護、最新技術或政策法規相關資訊,進而提升客戶服務與支援的效率。具體應用場景包括外部客服,結合RAG的LLM提供24/7客戶服務,快速檢索産品資訊;文檔撰寫,通過RAG檢索相關資料,生成高品質文檔;圖像生成與資料處理和分析,以及内部知識庫的建立和維護。

小白學RAG:大模型 RAG 技術實踐總結

RAG是一種将資訊檢索(Retrieval)與生成模型(Generation)結合的技術,通過先檢索相關資訊,再生成準确和上下文相關的回答或内容,來增強語言模型的性能。RAG技術通常包含以下三個關鍵步驟:

1. 索引 (Indexing)

在索引階段,系統會對大量的文檔、資料或知識庫進行預處理和索引,以便于快速檢索。索引的過程包括将文本資料轉換為易于搜尋的格式,并建構高效的資料結構,使得在需要時可以快速找到相關資訊。

2. 檢索 (Retrieval)

檢索階段是RAG技術的核心之一。當使用者提出問題或請求時,系統會從預先索引的文檔或知識庫中快速檢索出最相關的資訊。檢索子產品通常使用進階搜尋算法和相似度計算來找到與使用者輸入最比對的内容。

3. 生成 (Generation)

在生成階段,系統會使用先進的生成模型(如GPT等)對檢索到的資訊進行處理和整合,生成連貫且上下文相關的回答或内容。生成模型利用檢索到的資訊作為背景知識,確定生成的結果更加準确和有針對性。

RAG的優勢

RAG(Retrieval-Augmented Generation)技術結合了資訊檢索和生成模型的優勢,解決了許多傳統語言模型的局限性,具體優勢如下:

1. 減少模型的生成幻覺

生成幻覺(Hallucination)是指語言模型在生成内容時,有時會産生不準确或虛假的資訊。RAG通過首先檢索相關的真實資訊,然後生成基于這些資訊的回答,進而顯著減少生成幻覺的發生,提高回答的準确性和可信度。

2. 知識及時更新

由于RAG依賴于外部知識庫或文檔的檢索,系統可以更容易地通過更新這些外部資源來保持最新的知識。這意味着即使模型本身沒有重新訓練,也能通過更新檢索資料庫來反映最新的資訊和變化。

3. 避免人工整理FAQ

傳統的FAQ系統需要人工整理和維護,而RAG技術能夠自動從大量的文檔和知識庫中檢索和生成答案,減少了人工整理和更新FAQ的負擔,提高了效率。

4. 增加了答案推理

RAG技術不僅能夠檢索相關資訊,還可以利用生成模型進行複雜的答案推理。這使得系統不僅能夠提供直接的事實性回答,還能對複雜問題進行更深層次的分析和解答。

5. 增加内容生成的可追溯性

由于RAG在生成答案時依賴于檢索到的真實文檔和資料,生成的内容具有可追溯性。使用者可以追溯到答案來源,驗證資訊的準确性和可靠性,增強了系統的透明度和使用者信任。

6. 增加問答知識範圍的管理權限

通過使用RAG技術,系統管理者可以更好地管理和控制問答知識的範圍。管理者可以通過更新和管理檢索資料庫,確定系統回答的内容在預期的知識範圍内,避免提供不相關或不準确的資訊。

RAG vs Long Context

RAG和長文本(Long Context)技術在處理大量文本時,針對成本因素有着不同的優勢。

以GPT-4為例,對于一篇20萬字的小說提問:

  • 長文本(Long Context):如果将整個20萬字的文本輸入給模型,大約需要9元。
  • RAG:而對于RAG,隻需召回約6*600個字(即3,600字),然後再輸入給模型,這大約隻需要0.25元。

這裡的關鍵點在于RAG技術的使用,它不需要将所有20萬字的文本都輸入給模型,而是根據需要從文本中召回并選擇性地輸入給模型,進而大大降低了成本。相比之下,長文本的處理需要更高的成本,因為它要求模型處理更大量的文本。

智譜RAG方案

智譜RAG方案是一套完整的技術解決方案,旨在實作基于RAG(Retrieval-Augmented Generation)技術的智能問答系統。以下是該方案的技術方案全景:

小白學RAG:大模型 RAG 技術實踐總結

檔案上傳與解析

  • 檔案上傳:使用者上傳需要檢索的文檔或知識庫。
  • 檔案解析:對上傳的檔案進行解析,提取其中的文本内容。

切片與索引

  • 切片:将文檔内容按照設定的切片長度進行分割。
  • 路由:根據切片内容建構索引,以便快速檢索。

資料庫建構與優化

  • Small to Big:從小規模資料建構起,逐漸擴充至大規模資料庫。
  • 剔除無關資訊:在建構資料庫時,剔除無關資訊,提高檢索效率。
  • 識别目錄、标題等:識别文檔中的目錄結構、标題等元資訊,友善使用者檢索。

查詢處理與優化

  • Query改寫:對使用者提出的查詢進行改寫,以提高召回率和準确性。
  • Query拓展:對查詢進行語義補全,以豐富搜尋結果。
  • 排序:使用rerank模型對搜尋結果進行排序,提高結果的相關性。

文章類型比對與索引

  • 文章類型比對規則:根據文章類型制定不同的比對規則,以確定搜尋結果的準确性。
  • Query索引:将使用者提問進行向量化,并建立查詢索引,加速檢索過程。

多路召回與語義檢索

  • 多路召回:使用多種召回方法,如關鍵詞檢索等,以增加召回率。
  • 語義檢索:利用語義相似度算法,提高檢索結果的相關性。

使用者提問與答案輸出

  • 使用者提問:使用者通過系統提出問題。
  • 輸出答案:根據使用者提問,系統從資料庫中檢索相關内容,并生成準确的回答。

Query拆解與LLM prompt模闆

  • Query拆解:将使用者提問進行拆解,以識别關鍵資訊。
  • LLM prompt模闆:根據拆解的資訊,建構LLM(Large Language Models)的輸入模闆,以便于生成回答。

在文檔解析與切片過程中,首先對文章内容進行解析,将圖檔轉換成特定辨別符以便後續處理,将表格改寫成模型易于了解的HTML格式,并過濾掉頁眉頁腳等無關資訊,以確定保留主要内容。

同時,還需要提取文檔的結構資訊,包括目錄和标題,以便于後續檢索和了解文檔的結構,并確定知識的連續和完整性。在原始文檔切片的基礎上,擴充更多粒度更小的文檔切片,當檢索到粒度細緻的切片時,會遞歸檢索到其原始大切片,然後将原始節點作為檢索結果送出給LLM(Large Language Models)進行處理。

小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結

RAG實踐

小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結

未來展望

小白學RAG:大模型 RAG 技術實踐總結
小白學RAG:大模型 RAG 技術實踐總結

繼續閱讀