国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Langchain+向量數據庫+ChatGPT構建企業(yè)級知識庫

這篇具有很好參考價值的文章主要介紹了基于Langchain+向量數據庫+ChatGPT構建企業(yè)級知識庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

▼最近直播超級多,預約保你有收獲

近期直播:基于 LLM 大模型的向量數據庫企業(yè)級應用實踐

?1

LangChain 是什么?

眾所周知 OpenAI 的 API 無法聯網的,所以如果只使用自己的功能實現聯網搜索并給出回答、總結 PDF 文檔、基于某個 Youtube 視頻進行問答等等的功能肯定是無法實現的。

數據感知:將 LLM 模型鏈接到不同的數據源,比如:ChatGPT 訪問 PDF 等;

代理:允許與 LLM 模型進行交互。

第一、支持 LLM 調用

    • 支持多種模型接口調用:OpenAI、Hugging Face、AzureOpenAI ...

    • 支持多種方式實現緩存記錄:In-Mem(內存)、SQLite、Redis、SQL ...

    • 支持流模式(類型打字機的效果)

第二、支持 Prompt 管理

    • 支持多種自定義模板

第三、支持索引

    • 支持文檔切割

    • 支持 token 向量化

    • 支持向量數據庫

第四、支持 Chain(鏈)

    • 鏈允許我們將多個組件組合在一起,以創(chuàng)建一個單一的、連貫的應用程序。比如:我們可以創(chuàng)建一個鏈,該鏈接受用戶輸入,使用提示模板對其進行格式化,然后將格式化的響應傳遞給 LLM。

第五、文檔加載器(Document Loader)

?????顧名思義,這個就是從指定源進行加載數據的,?比如:

    • 文件夾 DirectoryLoader

    • Azure 存儲 AzureBlobStorageContainerLoader

    • CSV文件 CSVLoader

    • 印象筆記 EverNoteLoader

    • Google網盤 GoogleDriveLoader

    • 任意的網頁 UnstructuredHTMLLoader

    • PDF PyPDFLoader

    • S3 S3DirectoryLoader/S3FileLoader

    • Youtube YoutubeLoader 等官方文檔地址:https://python.langchain.com/en/latest/modules/indexes/document_loaders.html

    • 代碼實踐如下:

基于Langchain+向量數據庫+ChatGPT構建企業(yè)級知識庫,langchain,數據庫,chatgpt

?2?

文本切割(Text Splitters)

當您想要處理長文本時,有必要將該文本拆分為塊。聽起來很簡單,但這里有很多潛在的復雜性。在理想情況下,我們希望將語義相關的文本片段放在一起?!罢Z義相關”的含義可能取決于文本的類型。文本切割器的工作方式:

    • 將文本拆分為語義有意義的小塊(通常是句子)

    • 開始將這些小塊組合成一個較大的塊,直到達到一定的大小(由某個函數測量)

    • 達到一定大小后,將該塊設置為自己的文本段,然后開始創(chuàng)建一個具有一些重疊的新文本塊(以保持塊之間的上下文)

默認推薦的文本拆分器是 RecursiveCharacterTextSplitter。此文本拆分器采用字符列表。它嘗試基于第一個字符的拆分來創(chuàng)建塊,但如果任何塊太大,它就會移動到下一個字符,依此類推。默認情況下,它嘗試拆分的字符為 ["\n\n", "\n", " ", ""]。

文本切割代碼如下:

基于Langchain+向量數據庫+ChatGPT構建企業(yè)級知識庫,langchain,數據庫,chatgpt

3?

向量化(向量數據庫)

第一、為什么 LLM 需要將文本內容向量化

計算機最擅長處理的就是數字,因此我們需要將文本(如單詞或者句子)轉化為數字,或者更具體地說,轉化為向量。向量是一種數學對象,可以看作是一個有序的數字列表。這種將文本轉化為向量的過程就叫做向量化。

第二、什么是歐式距離

把它想象成在多維空間中兩點之間的直線距離。比如在二維空間(也就是平面)上,兩點之間的歐氏距離就是我們平時說的直線距離。在三維空間中,也就是我們生活的物理世界中,兩點之間的歐氏距離就是我們通常意義上的空間直線距離。這個概念可以擴展到更高的維度。

第三、歐式距離在文本分析中的作用

在文本分析中,歐氏距離常常被用來衡量兩段文本(或者說,兩個向量)的相似度。如果兩個向量之間的歐氏距離小,那么這兩段文本就被認為是相似的;反之,如果歐氏距離大,那么這兩段文本就被認為是不相似的。

第四、向量數據庫

顧名思義,專門設計用于高效存儲和檢索向量數據,向量數據庫檢索主要基于向量之間的距離或相似度。常用向量數據庫有:

    • Chroma(開源本地文件向量數據庫)

    • Milvus(開源分布式高性能數據庫)

    • Pinecone(商業(yè)化分布式高性能數據庫)

代碼實踐如下:

基于Langchain+向量數據庫+ChatGPT構建企業(yè)級知識庫,langchain,數據庫,chatgpt

?4?

鏈(Chain)

可以把 Chain 理解為任務。一個 Chain 就是一個任務,當然也可以像鏈條一樣,一個一個的執(zhí)行多個鏈,常用 Chain 如下:

    • LLMChain(適用于各種 LLM 鏈)

    • load_qa_chain( QA 問答)

    • ConversationalRetrievalChain(使用聊天記錄在文檔上進行聊天)

?5

免費超干貨 LLM 大模型直播

為了幫助同學們掌握好 LLM 大模型的向量數據庫企業(yè)級應用實戰(zhàn),明晚8點,我和陳東老師會開一場直播和同學們深度聊聊大模型的向量化、向量數據庫的應用實戰(zhàn),請同學點擊下方按鈕預約直播,咱們明晚8點不見不散哦~~

近期直播:基于 LLM 大模型的向量數據庫企業(yè)級應用實踐

END文章來源地址http://www.zghlxwxcb.cn/news/detail-735908.html

到了這里,關于基于Langchain+向量數據庫+ChatGPT構建企業(yè)級知識庫的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包