# 前言 [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 --version```再次確認是否能使用docker指令,結果如下圖。  # 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' ``` ==目前資料結構如下圖所示==  **修改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 ps -a```查看docker狀態**  **瀏覽器輸入localhost:3014即可開始**  # STEP 3 初始設定 **選擇LLM模型,填寫URL、API KEY就能使用囉**  **選擇單人使用還是多人共用,多人使用時要建立管理者帳號**  **建立第一個WORKSPACE**  **進入WORKSPACE之後就是標準的LLM介面**  # STEP 4 介面及使用說明 **上圖[1]為系統設定,在這可以調整LLM、Embedding模型和vector DB等**  **上圖[2]為WORKSPACE的細節設定**  **上圖[3]為文件管理功能,在這可以上傳文件如PDF、txt、提供網址,甚至是YouTube影片位址。AnythingLLM在這會自動擷取文字內容,並轉成向量,是不是超方便!!!**  **接著按```Move to Workspace```轉入,按```Save and Embedding```向量化並儲存  **記得把文件pin到Workspace**  # STEP 5 進行測試囉 透過Anything LLM就能輕鬆體驗到RAG的功能了,且有附上Citation,如下圖所示:  ==**NOTE:LLM的回答源自於以下段落,且內容有改寫**==  但從上圖的範例可以發現除了回答不準確之外,Citation也並不是很精準。由於我有將多個文件pin到Workspace,但其中一個Citation是與問題完全不相關的文件,因次這讓我懷疑RAG的真實性,以及是否是Embedding造成的問題。 # AnythingLLM 測試2 **我拿如何申辦ESTA舉例,比較有/無加入ESTA相關文件時,LLM的回覆是如何?** - 無ESTA相關文件(圖1)  - 有ESTA相關文件(圖2)  - 正確答案(圖3)  從上面三張圖可以發現,圖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/)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.