同步操作将从 imi 开发组/imi-ai 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
imi-ai 是一个 ChatGPT 开源项目,可以简单快速部署。
项目架构合理,代码编写优雅,不管是学习自用还是商用二开都很适合。
本项目现已支持 ChatGPT 聊天 AI 和 Embedding 模型训练对话。
项目采用 MIT 协议开源,你可以方便地进行二次开发,并且可以用于商业用途。
后端基于 imi (PHP+Swoole)
前端基于 Chanzhaoyu/chatgpt-web (TypeScript+Vue3+Vite3+NaiveUI)
后台基于 honghuangdc/soybean-admin (TypeScript+Vue3+Vite3+NaiveUI)
更多功能计划中……
项目正在持续迭代中,欢迎所有人来贡献代码
目录:server
环境要求:
Linux / MacOS
7-Zip
(可选,使用模型训练必选。下载 并将 7zz
/ 7zzs
解压到 /usr/bin/7z
或 /usr/local/bin/7z
目录)
PHP >= 8.1(扩展:curl、gd、mbstring、pdo_mysql、redis、swoole)
Swoole >= v5.0.3
MySQL >= 8.0.17
Redis
PostgreSQL + pgvector (可选,使用模型训练必选)
建议直接使用 swoole-cli,可在 Swoole Release 下载。
安装依赖:
composer update
生成证书:
jwt 签名需要,必须生成自己的证书!
cd server/resource/jwt
openssl genrsa -out pri_key.pem 2048
openssl rsa -in pri_key.pem -pubout -out pub_key.pem
openssl genrsa -out admin_pri_key.pem 2048
openssl rsa -in admin_pri_key.pem -pubout -out admin_pub_key.pem
配置文件:
复制 .env.tpl 改名为 .env 文件。
根据文件内注释修改对应的配置。
应用配置:
后台-系统管理-系统设置
导入 MySQL:
首先创建 db_imi_ai
数据库,如果使用其它名称,需要在 .env
中修改。
执行生成表结构命令:
vendor/bin/imi-swoole generate/table
导入 PostgreSQL:
首先创建 db_imi_ai
数据库,如果使用其它名称,需要在 .env
中修改。
为 db_imi_ai
或你使用的数据库启用 pgvector
扩展:
CREATE EXTENSION pgvector;
导入 pgsql.sql
文件,创建表。
不使用模型训练功能,可以不配置 PostgreSQL。
运行服务:
vendor/bin/imi-swoole swoole/start
生产环境:
编辑 .env 文件。
必须的设置:
# 生产环境禁用热更新
@app.beans.hotUpdate.status=0
# 生产环境禁用调试
APP_DEBUG=false
其它设置根据自身需要进行配置。
目录:web
环境要求:
node
需要 ^16 || ^18 || ^19
版本(node >= 14
需要安装 fetch polyfill),使用 nvm 可管理本地多个 node
版本
node -v
安装依赖:
npm install
也可以使用 yarn、pnpm 等。
配置:
复制 .env.tpl 改名为 .env 文件。
编辑 .env 文件。
VITE_GLOB_API_URL
,服务端接口地址,如:http://127.0.0.1:12333/
VITE_APP_API_BASE_URL
前端调试访问地址,如:http://127.0.0.1:1002/
开发调试:
npm run dev
生产环境:
npm run build-only
npm run build
也可以,但会执行类型检查,不规范的代码编译不通过。
所有文件都在 dist
目录,内部文件放到站点根目录。
目录:admin
环境要求:
node
需要 ^16 || ^18 || ^19
版本(node >= 14
需要安装 fetch polyfill),使用 nvm 可管理本地多个 node
版本
node -v
安装依赖:
npm install
也可以使用 yarn、pnpm 等。
配置:
复制 .env.tpl 改名为 .env 文件。
编辑 .env 文件。
VITE_API_URL
,服务端接口地址,如:http://127.0.0.1:12333
开发调试:
npm run dev
生产环境:
npm run build
npm run build
也可以,但会执行类型检查,不规范的代码编译不通过。
所有文件都在 dist
目录,内部文件放到站点根目录。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。