1、前言
1.1、介紹
本次演示採用的是2核2g Ubunto系統,無內置鏡像的華為雲服務器
推薦使用騰訊雲輕量雲服務器docker鏡像,可以省去前面第二節步驟,如果還是境外服務器更方便了
1.2、注意事項
需要有linux基礎,有用過docker的經驗,當然沒用過跟着做就行
本文檔每一步都有演示,請認真看完文字描述
2、搭建docker環境
2.1、docker和docker-compose
# 安裝 Docker
curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun
systemctl enable --now docker
# 安裝 docker-compose
curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 驗證安裝
docker -v
docker-compose -v
當效果如下圖,即配置成功
2.2、優化配置過程
需要注意的是,由於docker-compose安裝命令是從github上,速度會很慢,下面是解決方法
# 下載完docker以後,找到cli-plugins文件
find / -name cli-plugins
# cd到cli-plugins目錄
ls -lah
# 你會在裏面找到docker-compose
# 複製cli-plugins目錄路徑
nano ~/.bashrc
# 編輯環境變量,將下面這行添加到最後一行即可,注意需要將/path/to/your/directory換成你複製的cli-plugins目錄
export PATH=/path/to/your/directory:$PATH
# 隨後Ctrl+X,Ctrl+Y,Enter
# 隨後生效環境變量
source ~/.bashrc
# 接下來再檢測一下docker-compose
docker-compose -v
3、下載並修改配置文件config.json和docker-compose.yml
3.1、下載配置文件
mkdir fastgpt
cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
# pgvector 版本(測試推薦,簡單快捷)
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml
3.2、修改配置文件docker-compose.yml
vim docker-compose.yml
啓用阿里雲的鏡像,把上面的鏡像註釋掉,不然拉取很慢而且可能報錯
但是騰訊雲docker鏡像服務器不用在意,境外服務器更不用在意
# 注意需要鍵盤i鍵進入修改狀態
# 修改完後鍵盤ESC,英文輸入法的":"+wq+Enter
# 隨後執行
docker-compose up -d
等待一會變成下面這樣
3.3測試容器運行是否正常
oneapi運行在3001端口,默認用户名root密碼123456
fastgpt運行在3000端口,默認用户名root密碼1234
通過http://<服務器公網ip>:端口號 進行訪問
請注意為服務器的安全組或者防火牆放通端口!!!
oneapi
首先是oneapi,點擊渠道會讓你輸入賬號密碼,輸入完後會讓你修改密碼,不必修改
api-hub進入這個網址註冊一個獲取api的代理中轉站
工作台->餘額充值->1元即可測試
點擊API令牌->添加令牌->分組選擇default->ip段填入0.0.0.0/0,隨後創建即可
複製好你的APikey
回到oneapi
點擊添加渠道
注意:模型名稱必須按要求,如果你會oneapi的配置可以自己換,如果沒用過建議跟我一樣
點擊提交即可
隨後點擊測試,如果出現右上角測試成功則llm模型api連接完畢
同樣的添加embedding模型渠道
注意這裏不是選擇Openai,而是選擇自定義渠道
測試embedding模型,只需要響應403即可,這是因為對話模型和向量模型接口不一樣,而oneapi只調chat接口。如果是404響應就是錯的
至此oneapi結束
fastgpt
docker ps
可以看到fastgpt運行在3000端口
但是不着急訪問,先修改一下config.json文件
這裏原本就是gpt-4o-mini,所以我們不需要修改
同樣的向量模型也不用更改,但是切記如果你用的模型不一樣的話,確保config.json添加了,並且oneapi中也添加了相應渠道,修改完後重啓docker-compose,跟我一樣的不用執行下面命令
docker-compose down
docker-compose up -d
修改好後,沒變動config.json的執行ESC+英文下的:+q+Enter
變動過的執行ESC+英文下的:+wq+Enter
如果不想保存修改的執行ESC+英文下的:+q!+Enter
接下來通過http://<公網ip>:3000訪問fastgpt
點擊工作台->新建簡易應用,創建好後如下圖進行llm測試
llm測試成功後,測試embedding
新建一個手動數據集,這邊先測試一下embedding是否正常工作
4、知識庫問答測試
4.1、獲取或準備一份文件(最好是markdown)
我這邊在法律數據庫中下載了一份中國道路交通安全法的docx文件
4.2、構建知識庫
這沒有什麼問答的,直接分段即可
這邊可以點進去看一下分段情況
接下來直接點擊工作台->簡易應用
4.3、測試知識庫問答
跟文檔裏面一模一樣,注意如果沒有知識庫檢索,他可能會亂説一個日期,這邊可以測試一下,首先需要清除上下文->把知識庫去掉
他這裏説的也不完全錯,但是他是根據自己原有知識進行的問答,如果換成不公開的內容,沒有知識庫就會一本正經的胡説八道
5、chat-on-wechat項目
5.1、下載docker-compose.yml文件
接下來要配置啓動chat-on-wechat項目
# 退出fastgpt目錄
cd ..
mkdir onwechat
cd onwechat
wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml
vim docker-compose.yml
添加環境變量OPEN_AI_API_BASE
並且將這三個環境變量暫時置為和我一樣
5.2、配置docker-compose.yml環境變量
然後回到fastgpt
你會獲得一個api-key,請複製好,因為一旦離開就找不到了只能新建一個
將複製的api-key填入環境變量:OPEN_AI_API_KEY
複製api根地址
填入OPEN_AI_API_BASE參數,注意末尾加個/v1
然後ESC+英文:+wq+Enter保存並退出即可
5.3、啓動並拉取鏡像
# 第一次別用docker-compose up,因為hub.docker.com倉庫是國內禁掉的,需要配置加速器
docker pull docker.1panel.live/zhayujie/chatgpt-on-wechat
# 使用騰訊雲輕量docker服務器的可以執行,然後就是境外服務器也無障礙可以拉取到
docker-compose up
# 騰訊雲的docker鏡像服務器裏面配置了私有源(限制了IP只能騰訊雲服務器可以用),可以拉取到該鏡像
不保證這個源長期有效,如果失效了請參照下面方法(國內普通服務器需要考慮)
有三種解決方式
方式1:尋找新的加速源(最簡單)
方式2:服務器內部配置代理
方式3:註冊cloudflare配合github上的CF-Workers-docker.io項目進行反代,可以去搜一下教程(相當於自己做一個加速源的代理)
pull結束之後,需要相應修改一下docker-compose.yml文件(僅國內普通服務器需要)
# cd到onwechat目錄,執行下面
docker-compose up
隨後會出現一個二維碼,用實名認證過的微信號掃碼登錄即可,默認通過bot和@bot開頭進行問答,注意未實名過的微信不會成功
6、補充
6.1、項目涉及
fastgpt和chat-on-wechat
chat-on-wechat項目採用的itchat協議
注意裏面的參數靈活多變,可以去研究一下chatgpt-on-wechat文檔
6.2、本文檔補充
1.小白最好還是用騰訊雲輕量內置docker容器的服務器最方便,可以省去很多步驟
2.本文檔演示每一步都有,請不要跳過文字描述
3.如果對你有幫助的話可以點贊關注一下