8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png
AI干货
imi-ai,支持聊天、问答、写代码的ChatGPT 开源项目 AI源码和程序
AI助手 1月前 74

imi-ai 是一个基于 PHP+Swoole+Vue 的 ChatGPT 开源项目,可以简单快速部署。

开源项目地址:https://gitee.com/imiphp/imi-ai

介绍

imi-ai 是一个 ChatGPT 开源项目,支持聊天、问答、写代码、写文章、做作业等功能。

项目架构合理,代码编写优雅,简单快速部署。前后端代码完全开源,不管是学习自用还是商用二开都很适合。

本项目现已支持 ChatGPT 聊天 AI 和 Embedding 模型训练对话。

项目采用 MIT 协议开源,你可以方便地进行二次开发,并且可以用于商业用途。

演示

公益演示地址:https://ai.imiphp.com/ (注册送额度,付费可用 gpt-4、gpt-3.5-turbo-16k)

演示 演示 演示 演示

技术栈

后端基于 imi (PHP+Swoole)

前端基于 Chanzhaoyu/chatgpt-web (TypeScript+Vue3+Vite3+NaiveUI)

后台基于 honghuangdc/soybean-admin (TypeScript+Vue3+Vite3+NaiveUI)

功能列表

用户

  •  用户邮箱注册和登录
  •  用户手机号注册和登录
  •  微信登录(PC/公众号/小程序)

聊天 AI

  •  ChatGPT 聊天 AI(OpenAI)
  •  支持设置提示语(Prompt)
  •  支持模型参数调参
  •  服务端多会话储存和上下文逻辑
  •  渲染代码高亮
  •  渲染 LaTeX 公式
  •  保存消息到本地图片
  •  提示词模型商店
  •  支持限流

模型训练

  •  OpenAI 多文件(压缩)模型训练
  •  OpenAI 单文件模型训练
  •  聊天 AI 回答问题(可用于问题解答和客服等场景)
  •  搜索引擎,可定位文件
  •  支持解压文件(zip、rar、7z、xz、gz、bz、tar.*)
  •  支持解析 txt 文件
  •  支持解析 md 文件
  •  支持解析 docx 文件
  •  支持解析 pdf 文件
  •  消息队列异步处理训练任务
  •  支持对话限流

AI 生图

  •  OpenAI 图片生成
  •  Midjourney 图片生成

计费系统

  •  Tokens 计费系统(卡)
  •  在线支付购买卡(接口层)
  •  微信支付
  •  支付宝支付
  •  输入卡号激活

支持的模型厂商

其它

  •  设计文档
  •  接口文档
  •  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.status=0
# 生产环境禁用调试
APP_DEBUG=false
 

其它设置根据自身需要进行配置。

用户端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

目录: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 目录,内部文件放到站点根目录。

技术支持

可提供以下服务:项目搭建部署、技术咨询、定制开发等

QQ群: 17916227

微信群:

微信

赞助开发

imi-ai 是基于 MIT 协议完全开源的项目,为了能够更好地可持续发展,特推出赞助权益。

赞助等级

等级 价格 说明
白嫖用户 0 完整项目代码,免费用于商业用途,Github/QQ群/微信群交流提问
白银赞助 ¥9.9 可获得设计文档,接口文档
黄金赞助 ¥499/年 一对一问题咨询
铂金赞助 ¥888/年 支持私有化部署模型,1次免费项目搭建部署,一对一问题咨询

权益

权益 白嫖用户 白银赞助 黄金赞助 铂金赞助 备注
完整项目代码  
免费用于商业用途  
Github/QQ群/微信群交流提问 回复时长不确定
设计文档   在线浏览
接口文档(后台+前台)   在线浏览/Swagger 格式导出/Markdown
一对一问题咨询     回复及时,隐私更好
项目搭建部署(1次)       建议提供干净的服务器,可用内存至少1G
私有化部署模型(ChatGLM3)       支持部署 ChatGLM3 模型在自己的 GPU 服务器

2024-02-24 之前赞助的黄金级别,仍可享受 1 次免费项目搭建部署

 

广告图片

AI飞升社区 aifeisheng.com

本站为AI驱动,部分内容由AI大模型生成,不代表本站观点.

XiunoBBSWin95