官术网_书友最值得收藏!

Preface 前言

為什么要寫這本書

OpenAI于2022年11月30日發布的ChatGPT幾乎顛覆了現有的NLP范式,使NLP算法的日常工作和技術棧都發生了一定的改變。最受關注的兩個落地方向分別為RAG(Retrieval-Augmented Generation,檢索增強生成)和Agent。RAG的產品落地要先于Agent,且RAG的研究已經有多年了。RAG可以拆解成多個模塊,如果將每個模塊理解成一個小工具,那么RAG實際上是一個特定任務的Agent。因此,本書以RAG為主題。寫作本書的時候,我還在金山辦公軟件有限公司任職,現成的文檔、知識庫業務促使我在2023年初就開始嘗試大模型的落地。最先落地的應用就是基于金山知識庫的RAG,后續推出了基于云文檔的ChatFile,以及基于金山協作的搜索助手等,它們均是以RAG為核心的落地應用。

目前,雖然閉源的大模型上下文窗口已經可以將大部分的書籍、資料放入大模型的輸入提示詞中,但即使是一個小型企業,企業內的知識庫文檔量也是非常龐大的,我們不可能全部都放入大模型的提示詞中。另外,大模型在無損推理時,為了保證推理效率,需要緩存每個時間步的KV,隨著長度的增加,顯存消耗是非常龐大的,所以單張推理卡的推理長度有限。因此,我們無須擔心大模型的上下文窗口長度變長,RAG就沒用了。隨著大模型的上下文窗口的長度不斷變長,對RAG的落地越來越友好,比如我們可以通過召回大量候選來提高系統的召回率,也可以通過提高切塊的大小或者不切塊來保證召回文本的完整性等。

本書比較全面地囊括了過去一年內大模型RAG系統的使用技巧和范式變遷。通過這本書,讀者不僅能了解到RAG的基本原理,也能了解到RAG的各種進階技巧,從而構建出一個可靠的RAG系統。

讀者對象

?大模型應用落地者

?RAG零基礎人員

?期望了解RAG高級技巧的人員

本書內容

本書共8章,分為三大部分。

在第一部分(第1~3章)中,我們首先介紹了RAG的定義,為什么需要RAG,以及RAG的工作流程、優缺點以及使用場景。然后,我們介紹了Transformer、自動編碼器和自回歸模型等語言模型。最后,我們討論了文本召回模型,涵蓋文本召回模型基礎、稠密向量檢索模型、稀疏向量檢索模型以及重排序模型等。

在第二部分(第4~6章)中,我們深入剖析了RAG的核心技術與優化方法,包括提示詞工程、文本切塊、向量數據庫、召回環節優化、效果評估以及LLM能力優化等方面。此外,我們還介紹了RAG范式的演變,從基礎RAG系統到先進RAG系統,再到大模型主導的RAG系統以及多模態RAG系統。最后,我們討論了RAG系統的訓練方法,包括獨立訓練、序貫訓練和聯合訓練等。

在第三部分(第7章和第8章)中,我們首先以一個基于LangChain實現的RAG應用為例,詳細介紹了如何搭建一個RAG系統。接著,我們通過案例展示了RAG系統在向量模型構建、大模型指令微調以及復雜問題處理等方面的實戰應用。

本書由多個作者合作完成,其中第1、6、8章由汪鵬撰寫,第2、5章由卞龍鵬撰寫,第3、4、7章由谷清水撰寫。

由于作者的水平有限,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。如果讀者發現了書中的錯誤或者遇到任何問題,可以提交到https://github.com/Nipi64310/RAG-Book.git,也歡迎發送郵件至郵箱by_nipi@163.com,或者私信至微信公眾號“NLP前沿”,期待得到讀者的真摯反饋。

謹以此書獻給我最親愛的家人,以及眾多熱愛AI的朋友們!

汪鵬

2024年4月

主站蜘蛛池模板: 正安县| 海伦市| 柳江县| 临城县| 墨玉县| 新化县| 军事| 渭南市| 拉萨市| 墨脱县| 永寿县| 尖扎县| 扶风县| 湖南省| 韶关市| 西城区| 大荔县| 海口市| 高安市| 会东县| 抚顺县| 马龙县| 乌恰县| 福鼎市| 榕江县| 涞水县| 山东省| 呼玛县| 台中县| 东光县| 凯里市| 万安县| 荆门市| 章丘市| 珲春市| 南开区| 敦化市| 黄大仙区| 大连市| 松桃| 剑川县|