AnythingLLM:零成本的私人ChatGPT,支持幾乎所有主流大模型
用過大模型的都知道,我們不怕它不回答,就怕它亂回答,特別是一眼還看不出來的那種。即便是最先進(jìn)的AI模型也會(huì)說謊,防不勝防。對企業(yè)來說,幻覺,已經(jīng)成為阻礙大模型應(yīng)用的嚴(yán)重缺陷性問題。
除了幻覺,通用大模型無法滿足企業(yè)實(shí)際業(yè)務(wù)需求還涉及到知識局限性、信息安全等問題,企業(yè)顯然不能將私域數(shù)據(jù)上傳到第三方平臺(tái)訓(xùn)練。在這種情況下,如何將本地知識庫和大模型連接起來,構(gòu)建一個(gè)專屬的AI知識庫,成為了關(guān)鍵問題。
AnythingLLM正是為解決這個(gè)問題而生的通用框架。
AnythingLLM是什么?
從原理上看,構(gòu)建專屬知識庫可分為三個(gè)部分,一是通過LLM處理自然語言;二是嵌入模型把復(fù)雜的數(shù)據(jù)簡化,轉(zhuǎn)化成易于處理的格式;三是向量數(shù)據(jù)庫專門存儲(chǔ)和管理那些轉(zhuǎn)化后的數(shù)據(jù)。
那么進(jìn)入正題,AnythingLLM到底是什么?AnythingLLM是由Mintplex Labs Inc.開發(fā)的一個(gè)全棧應(yīng)用程序,是一款高效、可定制、開源的企業(yè)級文檔聊天機(jī)器人解決方案。它能夠?qū)⑷魏挝臋n、資源或內(nèi)容片段轉(zhuǎn)化為大語言模型在聊天中可以利用的相關(guān)上下文。
AnythingLLM支持幾乎所有的主流大模型和多種文檔類型,可定制化,而且安裝和設(shè)置簡單。目前適用于MacOS、Linux和Windows操作系統(tǒng),也可以使用Docker安裝。官方已經(jīng)做好了各個(gè)版本的應(yīng)用,直接下載對應(yīng)版本,像正常軟件一樣安裝啟動(dòng)即可。
一鍵安裝,支持自定義模型,支持多種文檔類型,可定制化
先看幾個(gè)官方解答的用戶問題,進(jìn)一步了解AnythingLLM。
1、使用AnythingLLM要花錢嗎?
AnythingLLM Desktop是免費(fèi)的,也可以通過GitHub Repo自托管。AnythingLLM云托管起價(jià)為每月25美元,專為需要AnythingLLM功能但希望擁有AnythingLLM托管實(shí)例的企業(yè)或團(tuán)隊(duì)而構(gòu)建。
2、如何使用 AnythingLLM?
AnythingLLM有幾種規(guī)格,具體取決于用例。AnythingLLM Desktop是用戶在計(jì)算機(jī)上安裝應(yīng)用程序最簡單的方法;AnythingLLM for Docker旨在使用最少的開發(fā)人員配置設(shè)置一個(gè)完整的多用戶實(shí)例;AnythingLLM托管則是官方的SaaS產(chǎn)品。
3、我的文檔保存在哪里?
不管用哪種方式使用AnythingLLM,用戶的文檔和信息都存儲(chǔ)在運(yùn)行AnythingLLM的機(jī)器上,用戶數(shù)據(jù)與實(shí)例相隔離,以確保數(shù)據(jù)不會(huì)暴露或與其他客戶共享存儲(chǔ)。
4、為什么用AnythingLLM而不是帶插件的ChatGPT?
AnythingLLM使用戶可以完全控制與任何LLM和向量數(shù)據(jù)庫的訪問、權(quán)限和數(shù)據(jù)共享,能夠完全離線運(yùn)行,僅由本地運(yùn)行的服務(wù)提供支持。使用AnythingLLM不必?fù)?dān)心第三方隱私問題,并且可以訪問全球的開源和閉源LLM、任何向量數(shù)據(jù)庫解決方案。
怎么用AnythingLLM?
AnythingLLM默認(rèn)通過Ollama來使用LLama2 7B、Mistral 7B、Gemma 2B等模型,也可以調(diào)用OpenAI、Gemini、Mistral等大模型的API服務(wù)。因此在使用前,需要啟動(dòng)Ollama服務(wù),如果沒有安裝Ollama,需要自行下載安裝,這里使用后端服務(wù)器模式,具體操作本文不再贅述。
打開安裝好的AnythingLLM進(jìn)行配置。先設(shè)置LLM Preference,選擇想用的大模型;再設(shè)置Embedding Preference,Embedding Preference可以把本地資料向量化,這樣就可以根據(jù)問題匹配對應(yīng)的資料片段;設(shè)置Vector Database,選擇默認(rèn)的LanceDB即可,這是一款無服務(wù)器向量數(shù)據(jù)庫,可嵌入到應(yīng)用程序中,支持向量搜索、全文搜索和SQL。
新建工作區(qū)(workspace),每個(gè)工作區(qū)可以選用不同的模型,也可以修改向量數(shù)據(jù)庫和代理配置。關(guān)于工作區(qū)的概念,官方是這么解釋的:工作區(qū)的功能類似于線程,同時(shí)增加了文檔的容器化。工作區(qū)可以共享文檔,但工作區(qū)之間的內(nèi)容不會(huì)互相干擾或污染,因此您可以保持每個(gè)工作區(qū)的上下文清晰。簡單理解,工作區(qū)就是管理各種文件的。
以上設(shè)置完成后就會(huì)出現(xiàn)對話界面,這時(shí)你就擁有了自己本地的大語言模型。接下來上傳資料到工作區(qū),可以上傳本地文檔,也可以粘貼網(wǎng)址,將其更新到工作區(qū)就可以開始使用了。
AnythingLLM很酷的一點(diǎn)是支持多用戶模式,有3種角色的權(quán)限管理,這一點(diǎn)對企業(yè)應(yīng)用很重要。系統(tǒng)會(huì)默認(rèn)創(chuàng)建一個(gè)管理員(Admin)賬號,擁有全部的管理權(quán)限。第二種角色是Manager賬號,可管理所有工作區(qū)和文檔,但是不能管理大模型、嵌入模型和向量數(shù)據(jù)庫。普通用戶賬號,則只能基于已授權(quán)的工作區(qū)與大模型對話,不能對工作區(qū)和系統(tǒng)配置做任何更改。
AnythingLLM具有多用戶管理、豐富文檔支持、高效成本優(yōu)化及云部署友好等優(yōu)勢。但從使用體驗(yàn)上看,一些用戶反饋目前它給出的回答還不夠準(zhǔn)確,相信這套系統(tǒng)未來可以在文本召回和重排等方面,進(jìn)一步調(diào)優(yōu)和完善。