▼最近直播超級多,預約保你有收獲
近期直播:《基于 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
代碼實踐如下:
—?2?—
文本切割(Text Splitters)
當您想要處理長文本時,有必要將該文本拆分為塊。聽起來很簡單,但這里有很多潛在的復雜性。在理想情況下,我們希望將語義相關的文本片段放在一起?!罢Z義相關”的含義可能取決于文本的類型。文本切割器的工作方式:
-
將文本拆分為語義有意義的小塊(通常是句子)
開始將這些小塊組合成一個較大的塊,直到達到一定的大小(由某個函數測量)
達到一定大小后,將該塊設置為自己的文本段,然后開始創(chuàng)建一個具有一些重疊的新文本塊(以保持塊之間的上下文)
默認推薦的文本拆分器是 RecursiveCharacterTextSplitter。此文本拆分器采用字符列表。它嘗試基于第一個字符的拆分來創(chuàng)建塊,但如果任何塊太大,它就會移動到下一個字符,依此類推。默認情況下,它嘗試拆分的字符為 ["\n\n", "\n", " ", ""]。
文本切割代碼如下:
—3?—
向量化(向量數據庫)
第一、為什么 LLM 需要將文本內容向量化
計算機最擅長處理的就是數字,因此我們需要將文本(如單詞或者句子)轉化為數字,或者更具體地說,轉化為向量。向量是一種數學對象,可以看作是一個有序的數字列表。這種將文本轉化為向量的過程就叫做向量化。
第二、什么是歐式距離
把它想象成在多維空間中兩點之間的直線距離。比如在二維空間(也就是平面)上,兩點之間的歐氏距離就是我們平時說的直線距離。在三維空間中,也就是我們生活的物理世界中,兩點之間的歐氏距離就是我們通常意義上的空間直線距離。這個概念可以擴展到更高的維度。
第三、歐式距離在文本分析中的作用
在文本分析中,歐氏距離常常被用來衡量兩段文本(或者說,兩個向量)的相似度。如果兩個向量之間的歐氏距離小,那么這兩段文本就被認為是相似的;反之,如果歐氏距離大,那么這兩段文本就被認為是不相似的。
第四、向量數據庫
顧名思義,專門設計用于高效存儲和檢索向量數據,向量數據庫檢索主要基于向量之間的距離或相似度。常用向量數據庫有:
-
Chroma(開源本地文件向量數據庫)
Milvus(開源分布式高性能數據庫)
Pinecone(商業(yè)化分布式高性能數據庫)
代碼實踐如下:
—?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è)級應用實踐》文章來源:http://www.zghlxwxcb.cn/news/detail-735908.html
END文章來源地址http://www.zghlxwxcb.cn/news/detail-735908.html
到了這里,關于基于Langchain+向量數據庫+ChatGPT構建企業(yè)級知識庫的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!