1. 基于Langchain+向量數(shù)據(jù)庫(kù)+ChatGPT構(gòu)建企業(yè)級(jí)知識(shí)庫(kù)

        共 3283字,需瀏覽 7分鐘

         ·

        2023-11-01 14:40

        最近直播超級(jí)多,預(yù)約保你有收獲

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

         1

        LangChain 是什么?

        眾所周知 OpenAI 的 API 無(wú)法聯(lián)網(wǎng)的,所以如果只使用自己的功能實(shí)現(xiàn)聯(lián)網(wǎng)搜索并給出回答、總結(jié) PDF 文檔、基于某個(gè) Youtube 視頻進(jìn)行問(wèn)答等等的功能肯定是無(wú)法實(shí)現(xiàn)的。
        數(shù)據(jù)感知:將 LLM 模型鏈接到不同的數(shù)據(jù)源,比如:ChatGPT 訪問(wèn) PDF 等;
        代理:允許與 LLM 模型進(jìn)行交互。
        第一、支持 LLM 調(diào)用
          • 支持多種模型接口調(diào)用:OpenAI、Hugging Face、AzureOpenAI ...
          • 支持多種方式實(shí)現(xiàn)緩存記錄:In-Mem(內(nèi)存)、SQLite、Redis、SQL ...
          • 支持流模式(類型打字機(jī)的效果)
        第二、支持 Prompt 管理
          • 支持多種自定義模板
        第三、支持索引
          • 支持文檔切割
          • 支持 token 向量化
          • 支持向量數(shù)據(jù)庫(kù)
        第四、支持 Chain(鏈)
          • 鏈允許我們將多個(gè)組件組合在一起,以創(chuàng)建一個(gè)單一的、連貫的應(yīng)用程序。比如:我們可以創(chuàng)建一個(gè)鏈,該鏈接受用戶輸入,使用提示模板對(duì)其進(jìn)行格式化,然后將格式化的響應(yīng)傳遞給 LLM。
        第五、文檔加載器(Document Loader)

             顧名思義,這個(gè)就是從指定源進(jìn)行加載數(shù)據(jù)的, 比如:

            • 文件夾 DirectoryLoader

            • Azure 存儲(chǔ) AzureBlobStorageContainerLoader

            • CSV文件 CSVLoader

            • 印象筆記 EverNoteLoader

            • Google網(wǎng)盤(pán) GoogleDriveLoader

            • 任意的網(wǎng)頁(yè) UnstructuredHTMLLoader

            • PDF PyPDFLoader

            • S3 S3DirectoryLoader/S3FileLoader

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

            • 代碼實(shí)踐如下:

         2 

        文本切割(Text Splitters)

        當(dāng)您想要處理長(zhǎng)文本時(shí),有必要將該文本拆分為塊。聽(tīng)起來(lái)很簡(jiǎn)單,但這里有很多潛在的復(fù)雜性。在理想情況下,我們希望將語(yǔ)義相關(guān)的文本片段放在一起?!罢Z(yǔ)義相關(guān)”的含義可能取決于文本的類型。文本切割器的工作方式:

          • 將文本拆分為語(yǔ)義有意義的小塊(通常是句子)
          • 開(kāi)始將這些小塊組合成一個(gè)較大的塊,直到達(dá)到一定的大小(由某個(gè)函數(shù)測(cè)量)
          • 達(dá)到一定大小后,將該塊設(shè)置為自己的文本段,然后開(kāi)始創(chuàng)建一個(gè)具有一些重疊的新文本塊(以保持塊之間的上下文)
        默認(rèn)推薦的文本拆分器是 RecursiveCharacterTextSplitter。此文本拆分器采用字符列表。它嘗試基于第一個(gè)字符的拆分來(lái)創(chuàng)建塊,但如果任何塊太大,它就會(huì)移動(dòng)到下一個(gè)字符,依此類推。默認(rèn)情況下,它嘗試拆分的字符為 ["\n\n", "\n", " ", ""]。
        文本切割代碼如下:

        3 

        向量化(向量數(shù)據(jù)庫(kù))

        第一、為什么 LLM 需要將文本內(nèi)容向量化
        計(jì)算機(jī)最擅長(zhǎng)處理的就是數(shù)字,因此我們需要將文本(如單詞或者句子)轉(zhuǎn)化為數(shù)字,或者更具體地說(shuō),轉(zhuǎn)化為向量。向量是一種數(shù)學(xué)對(duì)象,可以看作是一個(gè)有序的數(shù)字列表。這種將文本轉(zhuǎn)化為向量的過(guò)程就叫做向量化。
        第二、什么是歐式距離
        把它想象成在多維空間中兩點(diǎn)之間的直線距離。比如在二維空間(也就是平面)上,兩點(diǎn)之間的歐氏距離就是我們平時(shí)說(shuō)的直線距離。在三維空間中,也就是我們生活的物理世界中,兩點(diǎn)之間的歐氏距離就是我們通常意義上的空間直線距離。這個(gè)概念可以擴(kuò)展到更高的維度。
        第三、歐式距離在文本分析中的作用
        在文本分析中,歐氏距離常常被用來(lái)衡量?jī)啥挝谋荆ɑ蛘哒f(shuō),兩個(gè)向量)的相似度。如果兩個(gè)向量之間的歐氏距離小,那么這兩段文本就被認(rèn)為是相似的;反之,如果歐氏距離大,那么這兩段文本就被認(rèn)為是不相似的
        第四、向量數(shù)據(jù)庫(kù)
        顧名思義,專門(mén)設(shè)計(jì)用于高效存儲(chǔ)和檢索向量數(shù)據(jù),向量數(shù)據(jù)庫(kù)檢索主要基于向量之間的距離或相似度。常用向量數(shù)據(jù)庫(kù)有:
          • Chroma(開(kāi)源本地文件向量數(shù)據(jù)庫(kù))
          • Milvus(開(kāi)源分布式高性能數(shù)據(jù)庫(kù))
          • Pinecone(商業(yè)化分布式高性能數(shù)據(jù)庫(kù))
        代碼實(shí)踐如下:

         4 

        鏈(Chain)

        可以把 Chain 理解為任務(wù)。一個(gè) Chain 就是一個(gè)任務(wù),當(dāng)然也可以像鏈條一樣,一個(gè)一個(gè)的執(zhí)行多個(gè)鏈,常用 Chain 如下:
          • LLMChain(適用于各種 LLM 鏈)
          • load_qa_chain( QA 問(wèn)答)
          • ConversationalRetrievalChain(使用聊天記錄在文檔上進(jìn)行聊天)

         5

        免費(fèi)超干貨 LLM 大模型直播

        為了幫助同學(xué)們掌握好 LLM 大模型的向量數(shù)據(jù)庫(kù)企業(yè)級(jí)應(yīng)用實(shí)戰(zhàn),明晚8點(diǎn),我和陳東老師會(huì)開(kāi)一場(chǎng)直播和同學(xué)們深度聊聊大模型的向量化、向量數(shù)據(jù)庫(kù)的應(yīng)用實(shí)戰(zhàn),請(qǐng)同學(xué)點(diǎn)擊下方按鈕預(yù)約直播,咱們明晚8點(diǎn)不見(jiàn)不散哦~~

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

        END


        瀏覽 1639
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 又黄又爽在线观看 | 国产精品性爱 | 俺去也影院 | 亚洲乱妇19p | 女生被男生操爽 |