经典案例网站,企业宣传片视频模板,桂林生活网app,网站优化哪家最专业mi-ai 是一个 ChatGPT 开源项目#xff0c;支持聊天、问答、写代码、写文章、做作业等功能。
项目架构合理#xff0c;代码编写优雅#xff0c;简单快速部署。前后端代码完全开源#xff0c;不管是学习自用还是商用二开都很适合。
本项目现已支持 ChatGPT 聊天 AI 和 Emb…mi-ai 是一个 ChatGPT 开源项目支持聊天、问答、写代码、写文章、做作业等功能。
项目架构合理代码编写优雅简单快速部署。前后端代码完全开源不管是学习自用还是商用二开都很适合。
本项目现已支持 ChatGPT 聊天 AI 和 Embedding 模型训练对话。
项目采用 MIT 协议开源你可以方便地进行二次开发并且可以用于商业用途。
imi-ai: imi-ai 是一个基于 PHPSwooleVue 的 ChatGPT 开源项目可以简单快速部署。
演示
公益演示地址https://ai.imiphp.com/ 注册送额度付费可用 gpt-4、gpt-3.5-turbo-16k 技术栈
后端基于 imi (PHPSwoole)
前端基于 Chanzhaoyu/chatgpt-web (TypeScriptVue3Vite3NaiveUI)
后台基于 honghuangdc/soybean-admin (TypeScriptVue3Vite3NaiveUI)
功能列表
用户
用户邮箱注册和登录用户手机号注册和登录微信登录PC/公众号/小程序
聊天 AI
ChatGPT 聊天 AIOpenAI支持设置提示语Prompt支持模型参数调参服务端多会话储存和上下文逻辑渲染代码高亮渲染 LaTeX 公式保存消息到本地图片提示词模型商店支持限流
模型训练
OpenAI 多文件压缩模型训练OpenAI 单文件模型训练聊天 AI 回答问题可用于问题解答和客服等场景搜索引擎可定位文件支持解压文件zip、rar、7z、xz、gz、bz、tar.*支持解析 txt 文件支持解析 md 文件支持解析 docx 文件支持解析 pdf 文件消息队列异步处理训练任务支持对话限流
AI 生图
OpenAI 图片生成Midjourney 图片生成
计费系统
Tokens 计费系统卡在线支付购买卡接口层微信支付支付宝支付输入卡号激活
支持的模型厂商
OpenAISwoole AI
其它
设计文档接口文档Docker 支持视频讲解教程
更多功能计划中…… 项目正在持续迭代中欢迎所有人来贡献代码 安装
服务端
目录server
环境要求 Linux / MacOS可用内存至少1G PHP 8.1扩展curl、gd、mbstring、pdo_mysql、redis、swoole Swoole v5.0.3必须启用 --enable-openssl --enable-swoole-curl 编译模型训练需启用 --enable-swoole-pgsql 编译 建议直接使用 swoole-cli可在 Swoole Release 下载。 MySQL 8.0.17 Redis PostgreSQL pgvector 可选使用模型训练必选需为项目数据库启用扩展 CREATE EXTENSION vector; 7-Zip可选但使用模型训练必选用于解压文件。下载 并将 7zz / 7zzs 解压到 /usr/bin/7z 或 /usr/local/bin/7z 目录 Pandoc可选安装后可支持 docx 文件模型训练。下载 poppler-utils可选安装后可支持 pdf 文件模型训练。
安装
# Debian/Ubuntu
apt install poppler-utils
# CentOS
yum install poppler-utils
# Alpine
apk add poppler-utils
安装依赖
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 vector;
导入 pgsql.sql 文件创建表。 不使用模型训练功能可以不配置 PostgreSQL。 运行服务
vendor/bin/imi-swoole swoole/start
生产环境
编辑 .env 文件。
必须的设置
# 生产环境禁用热更新
app.beans.hotUpdate.status0
# 生产环境禁用调试
APP_DEBUGfalse
其它设置根据自身需要进行配置。
用户端H5
目录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:3100/
开发调试
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 目录内部文件放到站点根目录。