成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

搭建大模型知識庫流程,以及基于Langchain實現大模型知識庫案例 原創

發布于 2024-9-5 16:00
瀏覽
0收藏

“ RAG檢索增強生成是為了解決大模型知識不足的問題 ”

大模型主要面臨三個問題:

  • 垂直領域內的知識不足
  • 大模型知識有時間限制
  • 大模型幻覺問題

第一個問題產生的原因是因為,沒有經過垂直領域數據訓練的大模型普遍表現不好;其次是目前的大模型采用的是預訓練模式,也就是說需要先收集訓練數據進行訓練,但只能收集之前的數據,不能收集當前和以后的數據;最后就是大模型幻覺問題,幻覺問題產生的原因就是知識不足,導致在一些領域問題中一本正經的胡說八道。

因此,說到底大模型產生以上三個問題的主要原因就是知識不足,因此RAG——檢索增強生成技術就出現了。

RAG技術配合知識庫技術,就能夠補充大模型知識不足的問題,知識庫的作用就相當于給大模型配置一個資料室,遇到不懂的就去資料室里查。

今天,我們就來討論一下本地知識庫的實現步驟,以及代碼。

知識庫的實現步驟及代碼

嚴格來說,解決大模型知識不足問題的技術是RAG——檢索增強生成,而不是知識庫技術。

知識庫技術在大模型之前就已經出現了,簡單來說就是公司內部的文檔系統,里面記錄了企業內部的資料,文檔等,形式可以是一個web系統,甚至就是一個文件夾。

而我們今天說的大模型知識庫是基于RAG技術,結合知識庫技術產生的一個變種,主要區別就是數據格式問題。

RAG文檔檢索生成,就是通過把資料向量化,并為了提升查詢效率需要把向量化的文檔存入到向量數據庫,然后每次在問大模型之前,先去向量數據庫中查詢與問題相關的內容,通過提示詞的方式一并傳入到大模型中,這樣就可以解決大模型知識不足的問題。

搭建大模型知識庫流程,以及基于Langchain實現大模型知識庫案例-AI.x社區

之所以要把資料向量化的原因是,在傳統的查詢搜索過程中,使用的主要是基于字符匹配的方式進行查詢,比如說你想查詢西紅柿炒蛋的做法,查詢的內容中就必須包含西紅柿和炒蛋這幾個字。

而有了大模型技術,把資料向量化之后,就可以通過語義進行查詢,大模型會根據語義分析,知道西紅柿和番茄是一個東西。


大模型知識庫的原理就是給大模型外掛一個資料庫,但大模型畢竟不是人,需要把資料,文檔等轉化為大模型能夠識別的格式,就是文檔向量化。


搭建大模型知識庫,需要經過以下幾個步驟:

文檔加載

在當今互聯網時代,知識的形式多種多樣,比如文本格式的就是txt,word,pdf等;還有其它格式如圖片,結構化數據以及非結構化數據等。

因此,打造一個知識庫需要支持多種文檔,以及不同文檔的加載路徑,如本地加載,網絡加載等;而這就是文檔加載需要解決的問題。

文檔分割

在大模型應用中,長文本處理是一個問題,并且大模型窗口都有上下文長度限制;并且,文檔還需要處理成大模型能夠識別的向量格式,因此對一些長文本文檔需要進行文本分割,解決文檔過長而導致的問題。

文檔分割根據不同的任務場景,需要進行不同的處理,比如文檔分割的長度,分割形式(比如,段落,標點符號等),重疊長度等。

詞嵌入

在傳統的知識庫系統中,文檔是以文本,圖片,視頻等格式存在的,使用者主要是人,因此只需要能夠通過網絡加載文檔即可。

但在大模型應用中,大模型不認識字,它能夠處理的格式只有向量。而且,還需要進行語義分析,因此需要通過詞嵌入的方式,把文檔轉化為大模型能夠處理的,且語義連貫的形式,也就是向量格式,而這個技術就叫做詞嵌入。

詞嵌入工具本質上也是一個大模型,只不過是專門訓練用來完成語義理解和向量轉化的模型。


Sentence-transformer 詞嵌入python 庫 可以支持多種嵌入模型 或者可以使用第三方提供的轉化工具,比如openAI,通義千問等。


文檔處理整體流程入下圖所示:

搭建大模型知識庫流程,以及基于Langchain實現大模型知識庫案例-AI.x社區

文檔存儲

文檔存儲的功能就是需要把通過詞嵌入轉化的大模型能夠識別的向量格式存儲起來,一般使用的是向量數據庫。

當大模型需要使用的時候,再通過檢索的形式從向量數據庫中獲取。

文檔存儲的作用是為了解決查詢效率的問題,但也并不是必須的;比如說,當你知識庫的內容很少的時候,你也可以選擇每次提問的時候,重新加載文檔并向量化,這樣之前向量化過的文檔就存儲在向量數據庫中,下次使用的時候就可以直接從數據庫中查詢。

就類似于在web開發中,你也可以把用戶數據通過|或某種符合間隔起來并保存到txt文件中,每次查詢的時候需要讀取文件并解析數據,這樣就會非常的麻煩;而如果把用戶信息存儲到數據庫中,就會方便的多。

搭建大模型知識庫流程,以及基于Langchain實現大模型知識庫案例-AI.x社區

文檔檢索

從向量數據庫中,通過語義對數據進行檢索,然后把檢索結果帶入到大模型中,供大模型使用。技術實現是通過數學計算,根據向量計算相對位置,位置越近語義相關度越高;比如歐式距離,cos值等。

RAG的難點和重點是數據的質量和檢索質量,也就是說本地知識庫的好壞和使用的模型(用來回答問題的模型,不是詞嵌入的模型)沒有什么關系,只是和你檢索的效果有關。

簡單來說就是,你的知識庫數據質量和向量數據庫的質量越好,RAG的效果才越好。

完整代碼用戶可以在公眾號回復  RAG案例 即可獲得。


本文轉載自公眾號AI探索時代 作者:DFires

原文鏈接:??https://mp.weixin.qq.com/s/PhxFos15uHHcdLnmyHTlHg??



?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
標簽
已于2024-9-5 18:03:15修改
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 国产综合久久久久久鬼色 | 亚洲精品一区二三区不卡 | 欧美日韩免费视频 | 欧美激情啪啪 | 亚洲欧美国产视频 | 亚洲欧美在线观看 | 欧美极品在线 | 亚洲精品18 | 日韩欧美亚洲 | 欧美精品1区2区3区 精品国产欧美一区二区 | 日本人和亚洲人zjzjhd | 国产精品呻吟久久av凹凸 | 色婷婷av一区二区三区软件 | 日韩免费视频 | 亚洲一区二区欧美 | 午夜影院操 | 国产一二区免费视频 | 2022国产精品 | 草草视频在线免费观看 | 国产激情视频网站 | 色在线视频网站 | 欧美日韩在线综合 | 亚洲天堂中文字幕 | 久久精品亚洲 | 欧美激情在线精品一区二区三区 | 美女一区| 亚洲成人高清 | 精品一级 | 成人污污视频 | www.精品国产| 国产成人免费视频网站视频社区 | 亚洲成人蜜桃 | 国产乱码精品一区二区三区中文 | 天天综合天天 | 亚洲视频中文字幕 | 国产精品天堂 | av片在线播放 | 成人三级视频 | 亚洲视频欧美视频 | 国产精品久久久久久久久 | 亚洲成人一区二区在线 |