LLM(大語(yǔ)言模型) 是一項(xiàng)變革性的技術(shù),它將人類的各類知識(shí)和邏輯能力打包進(jìn)入了一個(gè)體積龐大的模型當(dāng)中。但是通常來(lái)說(shuō),包括當(dāng)前公認(rèn)效果最好的LLM GPT-4都會(huì)有一個(gè)問(wèn)題——事實(shí)問(wèn)題錯(cuò)誤,也常被稱之為幻覺(jué)。幻覺(jué)(Hallucination),或者說(shuō)人工智能幻覺(jué)是人工智能的自信反應(yīng)。當(dāng)模型輸出欺騙性數(shù)據(jù)的傾向時(shí),其使用的的訓(xùn)練數(shù)據(jù)并不能證明輸出的合理性。人工智能幻覺(jué)的危險(xiǎn)之處之一是模型的輸出看起來(lái)是正確的,其實(shí)它本質(zhì)上是錯(cuò)誤的。基于這種前提條件下,若是直接將LLM利用于生產(chǎn)環(huán)境中(例如客服答疑,新形式文檔等)時(shí),那么事實(shí)幻覺(jué)就可能會(huì)造成極其嚴(yán)重的影響。但是通過(guò)LangChain,我們可以通過(guò)將其它計(jì)算資源和自有的知識(shí)庫(kù)結(jié)合。依托于當(dāng)前的各類產(chǎn)品,在整合了當(dāng)前的語(yǔ)料資源庫(kù)后,各類LLM都會(huì)進(jìn)入到一個(gè)新的實(shí)用化發(fā)展階段。LangChain是一個(gè)用于開(kāi)發(fā)基于語(yǔ)言模型的應(yīng)用程序開(kāi)發(fā)框架。總的來(lái)說(shuō),LangChain是一個(gè)鏈接面向用戶程序和LLM之間的一個(gè)中間層。
(資料圖)
它在 2023 年 3 月獲得了 Benchmark Capital 的 1000 萬(wàn)美元種子輪融資,在近期又拿到了紅杉2000-2500萬(wàn)美金的融資,估值已經(jīng)提升到了2億美金左右。
LangChain 可以輕松管理與語(yǔ)言模型的交互,將多個(gè)組件鏈接在一起,并集成額外的資源,例如 API 和數(shù)據(jù)庫(kù)。其組件包括了模型(各類LLM),提示模板(Prompts),索引,代理(Agent),記憶等等。當(dāng)前GitHub上的熱門(mén)項(xiàng)目Auto-GPT和Babyagi所使用的鏈?zhǔn)剿伎寄芰Χ际怯蒐angChain啟發(fā)而來(lái)。LangChain項(xiàng)目主頁(yè)圖本次重點(diǎn)介紹LangChain搭配自有的知識(shí)庫(kù)讓LLM發(fā)揮更大功能的流程。
在缺少了上下文的情況下,即使是目前公認(rèn)最頂級(jí)的LLM GPT-4也無(wú)法回答部分需要特定領(lǐng)域的知識(shí)。
而要是想僅用自有知識(shí)庫(kù)來(lái)訓(xùn)練出LLMs又是不可能的,這個(gè)時(shí)候最好的方法就是利用LangChain的模塊來(lái)改善LLM的使用,通過(guò)輸入自己的知識(shí)庫(kù)來(lái)“定制化”自己的LLM。
Question Answering over specific documents是一個(gè)寫(xiě)在LangChain主頁(yè)的主推功能。翻譯過(guò)來(lái)就是 基于特定文檔的問(wèn)答 。
準(zhǔn)備自定義數(shù)據(jù)
準(zhǔn)備好需要LLM學(xué)習(xí)的內(nèi)容,它可以是一個(gè)純文本文件或者其他類型的文本(不同類型的文本需要不同的文檔加載器)。一般來(lái)講,每個(gè)文檔都是由復(fù)雜長(zhǎng)短句、多種語(yǔ)法結(jié)合寫(xiě)作而成的。在進(jìn)行輸入之前,就必須對(duì)這些文字進(jìn)行解構(gòu)處理。對(duì)于英文LangChain一般會(huì)使用RecursiveCharacterTextSplitter處理。由于中文的復(fù)雜性,會(huì)使用到j(luò)ieba等處理工具預(yù)處理中文語(yǔ)句。文本嵌入(Embeddings)處理完文本之后,就可以對(duì)文本進(jìn)行嵌入(Embeddings)了。通過(guò)調(diào)用OpenAI的Embeddings API將文本向量化。在這步處理之后,文本就已經(jīng)不再是文字,而是以向量化存儲(chǔ)的信息。再使用一個(gè)開(kāi)源的Embeddings數(shù)據(jù)庫(kù)ChromaDB保存Embeddings數(shù)據(jù),就可以達(dá)到使用數(shù)據(jù)長(zhǎng)期存儲(chǔ)和快速調(diào)用。圖:將原文本嵌入
使用鏈(Chain)對(duì)矢量數(shù)據(jù)庫(kù)進(jìn)行問(wèn)答
在擁有了嵌入數(shù)據(jù)之后,我們就可以利用LangChain的強(qiáng)大鏈功能來(lái)執(zhí)行我們的問(wèn)答。這時(shí)就可以通過(guò)自然語(yǔ)言對(duì)于文檔內(nèi)容進(jìn)行提問(wèn)了。通過(guò)LangChain回答問(wèn)題/完成任務(wù)LangChain可能的應(yīng)用場(chǎng)景
當(dāng)前的AI熱潮吸引了很多人,而除了ChatGPT這類問(wèn)答還有New Bing這種搜索服務(wù)外,并沒(méi)有什么可以將LLM商業(yè)化的案例。甚至可以說(shuō)只有New Bing才是目前唯一一個(gè)成功的商業(yè)化案例。
LangChain為所有人提供了一個(gè)新的商業(yè)化方案。此前有將LLM導(dǎo)入客服軟件中應(yīng)用的方案,但是由于LLM容易出現(xiàn)事實(shí)幻覺(jué)而無(wú)法實(shí)施。同時(shí),將所需內(nèi)容通過(guò)Prompt導(dǎo)入LLM的想法也由于LLM的對(duì)話(Context)輸入限制而不可能實(shí)施。LangChain則通過(guò)將數(shù)據(jù)向量化避免了使用輸入限制,從而將所需內(nèi)容導(dǎo)入LLM進(jìn)行問(wèn)答。當(dāng)下的人工成本逐漸提升,例如淘寶客服等人工密集型產(chǎn)業(yè)的成本逐步提升。當(dāng)前的智能問(wèn)答距離可用仍有較遠(yuǎn)的距離。通過(guò)已經(jīng)預(yù)訓(xùn)練好的LLM是一個(gè)快速降本增效的方案。基于每個(gè)產(chǎn)品的數(shù)據(jù),可以將數(shù)據(jù)引入LLM中,讓LLM接替客服工作,準(zhǔn)確、快速的回答客戶的定制化問(wèn)題,同時(shí)語(yǔ)氣貼合自然口吻,避免了情緒化工作。基于文檔的工作還可以在各類公司培訓(xùn)和智能化文檔方面提供作用。很多產(chǎn)品文檔隨著時(shí)間的積累變得越來(lái)越復(fù)雜,多層跳轉(zhuǎn)也會(huì)讓人學(xué)習(xí)起來(lái)效率低下且不適。此時(shí)基于LangChain就可以將文檔重新梳理,輸出為大綱類,在使用的時(shí)候可以隨時(shí)通過(guò)問(wèn)答的形式將內(nèi)容輸出。類似于新員工培訓(xùn)和產(chǎn)品說(shuō)明書(shū)等等場(chǎng)景都可以有所應(yīng)用。這就極大的拓寬了文字類LLM的使用場(chǎng)景。除了直接與人交互的方面外,還可以導(dǎo)入特定領(lǐng)域的知識(shí)庫(kù),實(shí)時(shí)更新LLM的內(nèi)容,讓LLM的知識(shí)時(shí)刻處于最新的狀態(tài)。依賴于此,LangChain除了可以完成自然語(yǔ)言文檔搜索外,還可以基于及時(shí)的資源進(jìn)行快速開(kāi)發(fā)。導(dǎo)入資源后LangChain開(kāi)發(fā)出的網(wǎng)頁(yè)目前,由于整個(gè)AI生態(tài)還處于一種快速發(fā)展期,各類工具和平臺(tái)還沒(méi)有完全成熟,因此LangChain的各類鏈和模塊的定制性和功能都還不夠強(qiáng)大。對(duì)于有高性能場(chǎng)景需求和定制化任務(wù)的可能需要自己重新修改。
事實(shí)合法性也是未來(lái)需要解決的一個(gè)痛點(diǎn)。LLM的各類越獄層出不窮。雖然在引入了嵌入之后LLM只會(huì)對(duì)文檔內(nèi)容進(jìn)行問(wèn)答,但是仍然需要有一套額外的監(jiān)督系統(tǒng)防止出現(xiàn)任何非法的回答。同時(shí)當(dāng)前LangChain還有使用難度較高等問(wèn)題。目前的各類AI工具都面臨著普通用戶無(wú)法輕松駕馭等等的問(wèn)題,而LangChain的問(wèn)題更盛。普通產(chǎn)品或者開(kāi)發(fā)者的上手學(xué)習(xí)成本較高,使用起來(lái)難度很大。這一切都需要社區(qū)和商業(yè)資本的共同投入才有可能解決。LangChain是當(dāng)前眾多的AGI實(shí)驗(yàn)性工具的基石項(xiàng)目。基于鏈(Chain)的LLM調(diào)用思維勢(shì)必會(huì)貫穿未來(lái)LLM的發(fā)展生態(tài)。提前關(guān)注AI發(fā)展動(dòng)向,關(guān)注LangChain的開(kāi)發(fā)進(jìn)度,會(huì)對(duì)未來(lái)的AI應(yīng)用落地有極大的幫助。 關(guān)鍵詞: