---
# System prepended metadata

title: 手把手教學AnythingLLM

---

# 前言
[Anything LLM](https://github.com/Mintplex-Labs/anything-llm)是Mintplex開發的一款整合any LLM API的開源平台，不管是OpenAI、Azure AOAI、Gemini、Huggingface、Ollama等，都可以直接透過至個平台上做使用。這個平台也整合了各種向量資料庫（Chroma、Qdrant、Pinecone、Weaviate、Milvus...），甚至是內建PDF解析、網頁爬蟲、YouTube影片分析，都能在這個平台上做到（真心佛）。

Anything LLM的出現大大降低AI應用的門檻，甚至不用親自寫code，就能做RAG的功能。雖說Mintplex是很佛心來著，讓比較沒基礎或非本科生的人能直接將LLM的功能應用最大化，但對於以此技術維生的工程師們也是殘忍，一口氣讓LLM的基本技能徹底貶值。

不過，畢竟在AI世界鬥爭的總是那幾間大集團，對我們這些不需參與競爭的工程師來說，真的是一大福音，接下來會詳細記錄如何從零開始架起Anything LLM。

由於Anything LLM是透過API key 呼叫各個LLM，因此用不到GPU，所以即使沒有超強顯示卡，也能在本機上架起（真的是太棒了）！

Anything LLM提供多種方式啟動專案，而我選擇docker方式來執行。我的電腦為macbook 2015，因此會以我的環境做示範及記錄。

# STEP 1 安裝docker
由於我的電腦並未安裝docker，所以第一步先來安裝docker。我是跟著[菜鳥教程-MacOS Docker安裝](https://www.runoob.com/docker/macos-docker-install.html)直接透過Homebrew進行安裝，若沒有Homebrew這篇文章也有其他方法可以安裝。
```
brew install --cask --appdir=/Applications docker
```
==執行結果如下圖所示==，只要出現**successfully installed**就代表安裝成功囉！
![docker安裝結果](https://hackmd.io/_uploads/SkN69csbR.png)

可以透過```docker --version```再次確認是否能使用docker指令，結果如下圖。
![docker version](https://hackmd.io/_uploads/S1qii9jZA.png)

# STEP 2 安裝Anything LLM
**新建文件夹anythingllm和子目錄**
```
mkdir  ./volume1/docker/anythingllm/data
```

**進入anythingllm目錄**
```
cd ./volume1/docker/anythingllm
```

**新建env.txtx檔**
```
touch env.txt
```

**將環境設定寫入env.txt中**
```
SERVER_PORT=3001
STORAGE_DIR="/app/server/storage"
UID='1000'
GID='1000'
```

==目前資料結構如下圖所示==
![資料結構](https://hackmd.io/_uploads/BktP6qjZR.png)

**修改data目錄權限**
```
chmod -R 777 data
```

**修改env.txt文件權限**
```
chmod 777 env.txt
```

**安裝並運行AnythingLLM docker**
```
docker run -d \
   --restart unless-stopped \
   --cap-add SYS_ADMIN \
   --name anythingllm \
   -p 3014:3001 \
   -v $(pwd)/data:/app/server/storage \
   -v $(pwd)/env.txt:/app/server/.env \
   mintplexlabs/anythingllm
```
==NOTE:由於本機原本沒有anythingLLM，所以會先把這個docker pull下來，結果如下圖所示==
![docker pull](https://hackmd.io/_uploads/r1W1JjoZC.png)

**透過```docker ps -a```查看docker狀態**
![docker status](https://hackmd.io/_uploads/H15m1ijbR.png)

**瀏覽器輸入localhost:3014即可開始**
![image](https://hackmd.io/_uploads/HyKnkio-R.png)

# STEP 3 初始設定
**選擇LLM模型，填寫URL、API KEY就能使用囉**
![image](https://hackmd.io/_uploads/H1bugjoZC.png)

**選擇單人使用還是多人共用，多人使用時要建立管理者帳號**
![image](https://hackmd.io/_uploads/r1iqgjiZ0.png)

**建立第一個WORKSPACE**
![image](https://hackmd.io/_uploads/SkrAxoi-C.png)

**進入WORKSPACE之後就是標準的LLM介面**
![image](https://hackmd.io/_uploads/HkLxGsob0.png)


# STEP 4 介面及使用說明


**上圖[1]為系統設定，在這可以調整LLM、Embedding模型和vector DB等**
![image](https://hackmd.io/_uploads/SJFEfsoWC.png)

**上圖[2]為WORKSPACE的細節設定**
![image](https://hackmd.io/_uploads/rJeCzosZC.png)

**上圖[3]為文件管理功能，在這可以上傳文件如PDF、txt、提供網址，甚至是YouTube影片位址。AnythingLLM在這會自動擷取文字內容，並轉成向量，是不是超方便！！！**
![image](https://hackmd.io/_uploads/SJ1WXjobA.png)

**接著按```Move to Workspace```轉入，按```Save and Embedding```向量化並儲存
![image](https://hackmd.io/_uploads/HyFCS2iWC.png)

**記得把文件pin到Workspace**
![image](https://hackmd.io/_uploads/HJYlPhiZA.png)

# STEP 5 進行測試囉

透過Anything LLM就能輕鬆體驗到RAG的功能了，且有附上Citation，如下圖所示：

![image](https://hackmd.io/_uploads/HJwvY2sbC.png)

==**NOTE：LLM的回答源自於以下段落，且內容有改寫**==

![image](https://hackmd.io/_uploads/SkzOqnsbA.png)

但從上圖的範例可以發現除了回答不準確之外，Citation也並不是很精準。由於我有將多個文件pin到Workspace，但其中一個Citation是與問題完全不相關的文件，因次這讓我懷疑RAG的真實性，以及是否是Embedding造成的問題。

# AnythingLLM 測試2
**我拿如何申辦ESTA舉例，比較有/無加入ESTA相關文件時，LLM的回覆是如何？**

- 無ESTA相關文件（圖1）
![image](https://hackmd.io/_uploads/r1cM02jW0.png)

- 有ESTA相關文件（圖2）
![image](https://hackmd.io/_uploads/SkxJa03o-0.png)

- 正確答案（圖3）
![image](https://hackmd.io/_uploads/BJhJJTo-A.png)



從上面三張圖可以發現，圖1回覆是錯的（$14 processing fee），而圖2加入相關文件後，的確修改成了正確答案（$4 processing fee and $17 authorization fee），這也證實LLM的確會參考我們附上的文件。從這個測試可以發現使用英文文件與問答時，LLM表現較好，因此可以猜測到可能與Embedding有關。不過這兩個測試都有相同問題：**Citation錯誤**，這就讓我懷疑了RAG的真實性。

# 結論

Anything LLM的釋出的確讓我們能夠在地端架起整合多個LLM的聊天平台，不但可以上傳文件、爬蟲分析，還支援多使用者的管理。姑且不論效果如何，對於想整合LLM的一般使用者，門檻確實大幅降低；相對地，對於開發者來說，門檻也高了不少。整體來說，能透過一個平台就能體驗到RAG、vector DB等多種功能，對於一般想體驗的使用者來說，CP值還是滿高的，推薦可以玩玩看！

# 參考資料
[AnythingLLM](https://github.com/Mintplex-Labs/anything-llm)
[用AnythingLLM构建专属知识库
](https://blog.csdn.net/wbsu2004/article/details/136614354)[包山包海的殺手級 LLM 整合平台 - Anything LLM](https://blog.darkthread.net/blog/anything-llm/)




