TerraMoursGPT V1.0 開發總結 TerraMoursGPT V1.0 是之前gpt項目基於TerraMours後端框架的重構,實現用戶登陸和基於SK的多語言模型聊天、基於chatgpt和SD的多模型圖片生成等功能。管理端實現數據看板、聊天記錄管理,圖片記錄管理、用戶管理、系統配置等。 ...
TerraMoursGPT V1.0 開發總結
TerraMoursGPT V1.0 是之前gpt項目基於TerraMours後端框架的重構,實現用戶登陸和基於SK的多語言模型聊天、基於chatgpt和SD的多模型圖片生成等功能。管理端實現數據看板、聊天記錄管理,圖片記錄管理、用戶管理、系統配置等。實現了docker快速部署,有興趣的朋友可以自己搭建屬於自己的AI管理系統。
特別鳴謝我的搭檔firstsaofan
相關項目功能介紹和部署請跳轉項目官網查看
官網地址:https://terramours.site/
項目組成
-
TerraMours_Gpt_Api後端介面服務 是基於TerraMoursFrameWork 開發完善的智能助手項目。技術包括 Net7+MinimalApi+EF Core+Postgresql+Seq+FluentApi ......
-
TerraMours_Admin_Web 後臺管理系統 是基於soybean-admin 開發完善的後臺管理系統,技術包括 Vue3、Vite3、TypeScript、NaiveUI、Pinia 和 UnoCSS 等最新流行的前端技術棧,內置豐富的主題配置,有著極高的代碼規範,開箱即用,也可用於學習參考。
-
TerraMours-Gpt-Web用戶端 基於vue3.0+ts+naive UI+vite的ChatGPT項目前端。
已開發功能
-
數據看板:展示了多重數據統計,包含管理人員最關心的幾種數據類型。圖表展示多維度的聊天和畫圖數量的統計,分為三個維度:當天(按小時分段統計),按天統計和按月統計。以下是按天統計的數據內容
-
系統管理:
- 郵件服務配置:配置系統郵件的api服務參數,用於郵件驗證碼發送。
- GPT設置:配置GPT的代理地址,gpt的定價方案,介面參數,已經KEY池配置等。
- 圖片服務地址:配置AI畫圖的服務地址
-
聊天記錄:聊天記錄管理,查詢使用者會話信息。(todo:1.導出功能2.創建微調模型)
-
敏感詞管理: 敏感詞管理,自定義敏感詞過濾,加強系統安全
-
Key池管理:Key池管理,支持管理者添加多個key組成Key池,調用ai介面時輪詢,加強穩定性
-
系統提示詞:系統提示詞,添加各種角色提示詞,讓使用者能更好的使用ai對話。
-
繪圖記錄:查看系統中圖片的生成記錄
-
菜單管理:後臺管理系統實現菜單的動態配置,通過菜單管理界面設置菜單,後端API在初始化時會加入基本的菜單。
-
角色管理:後臺管理系統的角色控制。預設創建超級管理員角色,普通用戶角色。
-
用戶管理:管理系統中註冊的用戶
-
商品管理-商品分類:設置商品的類型,歸類等信息,方便商品管理
-
商品管理-商品列表:設置商品信息
-
訂單列表:查看生成的訂單
快速搭建
1.基於dockercompose的快速搭建AI聊天和畫圖系統
1.新建一個空文件命名為docker-compose.yml
新建一個空文件命名為docker-compose.yml,將以下內容粘貼到文件中保存
version: "3.9"
services:
redis:
image: redis
container_name: redis_container
ports:
- "6379:6379"
restart: always
networks:
- server
postgres:
image: postgres
container_name: postgres_container
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=terramours1024
- POSTGRES_DB=TerraMoursGpt
ports:
- "5432:5432"
restart: always
networks:
- server
seq:
image: datalust/seq
container_name: seq_container
environment:
- ACCEPT_EULA=Y
ports:
- "5341:80"
restart: always
networks:
- server
server:
image: raokun88/terramours_gpt_server:latest
container_name: terramours_gpt_server
environment:
- TZ=Asia/Shanghai
- ENV_DB_CONNECTION=Host=postgres;Port=5432;Userid=postgres;password=terramours1024;Database=TerraMoursGpt;
- ENV_REDIS_HOST=redis:6379
- ENV_SEQ_HOST=http://<YOUR-SERVER-IP>:5341/
volumes:
# 圖片掛載地址,將容器中的圖片掛載出來
- /path/terra/images:/app/images
# 可掛載自定義的配置文件快速進行系統配置
#- F:\Docker\terra\server/appsettings.json:/app/appsettings.json
ports:
- "3116:80"
restart: always
networks:
- server
depends_on:
- postgres
- redis
admin:
image: raokun88/terramours_gpt_admin:latest
container_name: terramoursgptadmin
environment:
- VUE_APP_API_BASE_URL=http://<YOUR-SERVER-IP>:3116
ports:
- "3226:8081"
restart: always
networks:
- server
web:
image: raokun88/terramours_gpt_web:latest
container_name: terramoursgptweb
environment:
- VUE_APP_API_BASE_URL=http://<YOUR-SERVER-IP>:3116
ports:
- "3216:8081"
restart: always
networks:
- server
networks:
server:
driver:
bridge
安裝註意
1.修改yml:將<YOUR-SERVER-IP>
替換成伺服器IP
2.預設管理員賬號密碼:[email protected] [email protected]
3.系統報錯,通過seq查看,查看地址:http://<YOUR-SERVER-IP>:5341/
4.seq日誌中顯示初始化資料庫成功
即代表後端服務初始化成功,首次安裝可能會有報錯的現象,建議dockercompose安裝完成後重啟terramours_gpt_server容器
5.更多服務配置,可以把服務端的github上的appsettings.json文件拷到服務端,通過掛載修改容器中的配置文件
# 可掛載自定義的配置文件快速進行系統配置
- /path/terra/appsettings.json:/app/appsettings.json
2.上傳dockercompose文件到伺服器
上傳dockercompose文件到伺服器,我使用的是XFTP。
3.執行docker命令,構建dockercompose
docker-compose up
閱讀如遇樣式問題,請前往個人博客瀏覽: https://www.raokun.top
擁抱ChatGPT:https://first.terramours.site
開源項目地址: https://github.com/TerraMours/TerraMours_Gpt_Web