翼度科技»论坛 编程开发 .net 查看内容

TerraMoursGPT V1.0 开发总结

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
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,将以下内容粘贴到文件中保存
  1. version: "3.9"
  2. services:
  3.   redis:
  4.     image: redis
  5.     container_name: redis_container
  6.     ports:
  7.       - "6379:6379"
  8.     restart: always
  9.     networks:
  10.       - server
  11.   postgres:
  12.     image: postgres
  13.     container_name: postgres_container
  14.     environment:
  15.       - POSTGRES_USER=postgres
  16.       - POSTGRES_PASSWORD=terramours1024
  17.       - POSTGRES_DB=TerraMoursGpt
  18.     ports:
  19.       - "5432:5432"
  20.     restart: always
  21.     networks:
  22.       - server
  23.   seq:
  24.     image: datalust/seq
  25.     container_name: seq_container
  26.     environment:
  27.       - ACCEPT_EULA=Y
  28.     ports:
  29.       - "5341:80"
  30.     restart: always
  31.     networks:
  32.       - server
  33.   server:
  34.     image: raokun88/terramours_gpt_server:latest
  35.     container_name: terramours_gpt_server
  36.     environment:
  37.       - TZ=Asia/Shanghai
  38.       - ENV_DB_CONNECTION=Host=postgres;Port=5432;Userid=postgres;password=terramours1024;Database=TerraMoursGpt;
  39.       - ENV_REDIS_HOST=redis:6379
  40.       - ENV_SEQ_HOST=http://<YOUR-SERVER-IP>:5341/
  41.     volumes:
  42.       # 图片挂载地址,将容器中的图片挂载出来
  43.       - /path/terra/images:/app/images
  44.       # 可挂载自定义的配置文件快速进行系统配置
  45.       #- F:\Docker\terra\server/appsettings.json:/app/appsettings.json
  46.     ports:
  47.       - "3116:80"
  48.     restart: always
  49.     networks:
  50.       - server
  51.     depends_on:
  52.       - postgres
  53.       - redis
  54.   admin:
  55.     image: raokun88/terramours_gpt_admin:latest
  56.     container_name: terramoursgptadmin
  57.     environment:
  58.       - VUE_APP_API_BASE_URL=http://<YOUR-SERVER-IP>:3116
  59.     ports:
  60.       - "3226:8081"
  61.     restart: always
  62.     networks:
  63.       - server
  64.   web:
  65.     image: raokun88/terramours_gpt_web:latest
  66.     container_name: terramoursgptweb
  67.     environment:
  68.       - VUE_APP_API_BASE_URL=http://<YOUR-SERVER-IP>:3116
  69.     ports:
  70.       - "3216:8081"
  71.     restart: always
  72.     networks:
  73.       - server
  74. networks:
  75.   server:
  76.     driver:
  77.       bridge
复制代码
安装注意

1.修改yml:将 替换成服务器IP

2.默认管理员账号密码:terramours@163.com  terramours@163.com

3.系统报错,通过seq查看,查看地址:http://:5341/

4.seq日志中显示初始化数据库成功 即代表后端服务初始化成功,首次安装可能会有报错的现象,建议dockercompose安装完成后重启terramours_gpt_server容器

5.更多服务配置,可以把服务端的github上的appsettings.json文件拷到服务端,通过挂载修改容器中的配置文件
  1. # 可挂载自定义的配置文件快速进行系统配置
  2. - /path/terra/appsettings.json:/app/appsettings.json
复制代码
2.上传dockercompose文件到服务器

上传dockercompose文件到服务器,我使用的是XFTP。
3.执行docker命令,构建dockercompose
  1. docker-compose up
复制代码
阅读如遇样式问题,请前往个人博客浏览: https://www.raokun.top
拥抱ChatGPT:https://first.terramours.site
开源项目地址: https://github.com/TerraMours/TerraMours_Gpt_Web

来源:https://www.cnblogs.com/raok/archive/2023/10/31/17800080.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具