整個(gè)過(guò)程需要準(zhǔn)備三個(gè)軟件:
- Ollama。用于運(yùn)行本地大模型。如果使用閉源大模型的API,則不需要安裝Ollama。
- Docker。用于運(yùn)行AnythingLLM。
- AnythingLLM。知識(shí)庫(kù)運(yùn)行平臺(tái),提供知識(shí)庫(kù)構(gòu)建及運(yùn)行的功能。
1 安裝Ollama
- 下載Ollama(網(wǎng)址:https://ollama.com/download)
下載后直接安裝,然后啟動(dòng)命令行窗口輸入命令加載模型。命令可以通過(guò)點(diǎn)擊官網(wǎng)Models后,搜索并選擇所需要的模型后查看。
注:Ollama支持加載運(yùn)行GGUF格式的大模型,這個(gè)自行查看官網(wǎng)。
”
- 啟動(dòng)命令行窗口,拷貝命令并運(yùn)行,若是第一次運(yùn)行,Ollama會(huì)自動(dòng)下載模型并啟動(dòng)模型。如本機(jī)上已安裝了qwen:14b模型,則輸入命令后會(huì)直接啟動(dòng)此模型。
至此,Ollama安裝完畢。
2 安裝Docker
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的操作系統(tǒng)的機(jī)器上,從而實(shí)現(xiàn)虛擬化。
- 安裝Docker Desktop(下載網(wǎng)址:https://www.docker.com/products/docker-desktop/)
下載后直接雙擊安裝即可,Docker的安裝過(guò)程非常簡(jiǎn)單,沒(méi)有什么參數(shù)需要設(shè)置,一路next即可。
3 安裝AnythingLLM
AnythingLLM可以在Docker上安裝。
- 啟動(dòng)Docker Desktop。第一次啟動(dòng)可能需要注冊(cè)賬號(hào),也可以直接使用google、github賬號(hào)登陸。
- 點(diǎn)擊頂部的搜索框或輸入快捷鍵
Ctrl + K
打開(kāi)搜索窗口,輸入anythingllm
進(jìn)行搜索,如下圖所示,點(diǎn)擊 Pull 按鈕拉取鏡像
- 模型拉取完畢后,點(diǎn)擊 Images 并在右側(cè)的鏡像列表中點(diǎn)擊anythingllm后的 Run 按鈕啟動(dòng)鏡像
- 如下圖所示,輸入容器名稱(chēng)和端口號(hào),這個(gè)可以隨便輸入,但不能和其他已有的容器名或端口號(hào)重復(fù)(如果有的話)
- 鏡像啟動(dòng)后可以點(diǎn)擊如下圖所示位置的鏈接,或者直接在瀏覽器中輸入
localhost:3001
啟動(dòng)AnythingLLM
4 配置AnythingLLM
- 點(diǎn)擊按鈕 Get started 進(jìn)入設(shè)置向?qū)Ы缑?/section>
- 選擇大模型。如下圖所示設(shè)置使用
Ollama
,然后設(shè)置參數(shù) - 指定
Ollama Base URL
為 http://host.docker.internal:11434 - 指定
Chat Model Selection
為 qwen:14b - 指定
Token context window
為 4096
注:AnythingLLM支持使用閉源模型的API。
”
- 選擇默認(rèn)的
AnythingLLM Embedder
- 選擇采用默認(rèn)的
LanceDB
作為向量數(shù)據(jù)坑
- 為工作空間指定名稱(chēng),并進(jìn)入下一步
- 如下圖所示,點(diǎn)擊鏈接
upload a document
打開(kāi)文檔上傳界面
image-20240420232939913- 點(diǎn)擊按鈕 Save and Embed 處理文檔
- 文檔處理完畢后可以進(jìn)行測(cè)試,如下圖所示
5 知識(shí)庫(kù)管理
- 可以點(diǎn)擊左下角的設(shè)置按鈕打開(kāi)設(shè)置面板
- 如下圖所示可以設(shè)置語(yǔ)料分割參數(shù)
- 其中第一個(gè)按鈕打開(kāi)的是文檔管理對(duì)話框
- 第二個(gè)按鈕打開(kāi)的是模型設(shè)置面板
具體設(shè)置方法可以參閱文檔。提高知識(shí)庫(kù)性能的一些方法包括:
- 使用更強(qiáng)大的底座模型。底座模型用于數(shù)據(jù)的輸入和輸出。使用GPT4效果肯定要比使用小規(guī)模的開(kāi)源模型。AnythingLLM支持以API方式調(diào)用如GPT4、Claude3、Gemini Pro等大模型。目前似乎還沒(méi)有提供國(guó)內(nèi)大模型的接口。
- 使用更好的Embedding模型。目前AnythingLLM內(nèi)置了一個(gè)嵌入模型。其也支持調(diào)用如OpenAI、Ollama等提供的其他嵌入模型。
- 分詞參數(shù)。用于分割數(shù)據(jù)。這個(gè)參數(shù)調(diào)整需要嘗試。
6 關(guān)閉Docker
當(dāng)不使用大模型時(shí),為了節(jié)省資源,可以選擇關(guān)閉容器。
- 點(diǎn)擊 Containers ,點(diǎn)擊關(guān)閉按鈕可以關(guān)閉容器
(完)