96170100e17742e

1c1a1f7bfed5d46

2143b46857e35e2

e79392f9f33891a

2024.8完善版 NineAi-ChatGPT系统源码

Nine AI.ChatGPT是基于ChatGPT开发的一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。


运行环境分解

  • Node.js 版本:必须大于 16

  • pnpm 版本:必须大于 6

  • MySQL 版本:不低于 5.7

  • Redis:必须安装并运行


目录结构分解

系统由三端独立代码库组成,分别存放于以下目录:

  • chat:用户端前端代码

  • admin:管理端前端代码

  • service:后端服务代码


本地开发分解

三端采用完全统一的命令流程

  • pnpm install —— 安装全部依赖

  • pnpm dev —— 启动本地开发服务器

  • pnpm build —— 打包生成生产环境代码


启动项目分解

  1. 分别进入各端目录执行 pnpm i 安装依赖。

  2. 首先启动服务端

    • 进入 service 目录,创建 .env 文件

    • 在其中配置测试数据库连接信息及 Redis 配置

    • 执行 pnpm dev 启动后端服务

    • 数据库通过 ORM 映射,启动项目时会自动创建数据库表结构

  3. 后端启动成功后,分别进入 chat 和 admin 目录执行 pnpm dev 启动前端项目。


关于授权分解

授权验证模块位置
src/modules/globalConfig/globalConfig.service.ts

移除授权方法

  • 删除函数 NineAiCheckAuth 内部的全部代码

  • 移除 onModuleInit 生命周期中对 NineAiCheckAuth 的调用

  • 同时移除定时任务:在 src/modules/task/task.service.ts 中删除 checkauth 定时任务的定义与注册


打包路径问题分解

后端服务(service)

  • 执行 pnpm build 完成打包

  • 环境变量文件 .env 需要后续自行挂载或创建,源码提供示例文件 .env.example

  • 打包过程会对代码进行混淆,最终部署仅需七个核心文件,其余文件不再需要

用户端前端(chat)

  • 打包配置文件为 .env.production(管理端 admin 同理)

  • 核心变量:VITE_APP_BASE_URL —— 填写线上后端服务地址

  • 若前端与后端分离部署,请务必替换该变量为实际线上地址

管理端前端(admin)

  • 修改方式与 chat 完全相同

  • 仅需修改线上地址变量,其余配置无需改动


其他文件与常见问题

前端 history 模式刷新 404
由于前端项目使用 HTML5 History 路由模式,刷新页面会导致 404 错误。需要对 Nginx 进行相应配置,将所有请求指向 index.html 以解决该问题。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。