综合介绍
RuoYi AI 是一个基于 ruoyi-plus 框架开发的后端项目,专注于集成 AI 聊天和绘画功能。它完全开源免费,采用 Java17 和 SpringBoot 3.X 技术栈,后台管理界面使用 elementUI 构建,简洁易用。该项目支持 ChatGPT4、Dall-E-3 等多种 AI 模型,同时提供语音克隆、文生图、微信小程序等功能,适用于开发者快速搭建具备 AI 能力的应用。ruoyi-ai 的设计目标是提供一个灵活、可扩展的后端解决方案,助力用户实现智能聊天和图像生成的需求。无论是个人开发者还是企业用户,都可以通过其丰富的功能和文档,轻松定制和部署。
功能列表
- AI 聊天支持:集成 ChatGPT4、ChatGPT-4-All 等模型,实现智能对话。
- AI 绘画功能:支持 Dall-E-3 和文生图模型,生成创意图像。
- 语音克隆:提供语音生成和克隆功能,可用于个性化语音交互。
- 微信小程序对接:支持小程序端开发,实现跨平台使用。
- 实时支付集成:支持个人二维码实时到账,基于易支付系统。
- 个人微信接入:允许将个人微信与 ChatGPT 连接,提升社交体验。
- 后台管理界面:基于 elementUI,提供用户友好的管理操作。
- 开源免费:代码完全开放,适合二次开发和学习。
使用帮助
安装流程
ruoyi-ai 是一个基于 GitHub 的开源项目,需要一定的开发环境配置才能运行。以下是详细的安装步骤:
1. 环境准备
确保你的电脑已安装以下软件:
- Java 17:本项目使用 Java17,需下载并配置环境变量。
- Maven:用于依赖管理和项目构建,推荐最新稳定版。
- Git:用于从 GitHub 克隆代码。
- MySQL:数据库支持,需提前安装并创建数据库。
- Node.js(可选):如果需要调整前端管理界面。
安装完成后,检查版本:
java -version # 确保输出为 17.x.x
mvn -v # 检查 Maven 是否正常
git --version # 确认 Git 已安装
2. 克隆项目
打开终端,输入以下命令克隆 ruoyi-ai 仓库:
git clone https://github.com/ageerle/ruoyi-ai.git
cd ruoyi-ai
3. 配置项目
- 数据库配置:
- 在 MySQL 中创建一个新数据库,例如
ruoyi_ai_db
。 - 找到项目根目录下的
application.yml
文件,修改数据库连接信息:spring: datasource: url: jdbc:mysql://localhost:3306/ruoyi_ai_db?useSSL=false&serverTimezone=UTC username: root password: 你的密码
- 在 MySQL 中创建一个新数据库,例如
- AI 模型密钥(可选):
- 若使用 ChatGPT 或 Dall-E 等模型,需在配置文件中添加 API 密钥。例如:
ai: chatgpt: api-key: 你的ChatGPT密钥 dalle: api-key: 你的Dall-E密钥
- 若使用 ChatGPT 或 Dall-E 等模型,需在配置文件中添加 API 密钥。例如:
4. 构建并运行
在项目根目录下运行以下命令:
mvn clean install # 编译并安装依赖
mvn spring-boot:run # 启动项目
启动成功后,访问 http://localhost:8080
检查后台管理界面是否正常显示。
5. 前端配套(可选)
ruoyi-ai 的前端管理界面需要单独克隆和运行:
- 克隆前端项目:
git clone https://github.com/ageerle/ruoyi-admin.git cd ruoyi-admin
- 安装依赖并启动:
npm install # 或 yarn install npm run dev # 或 yarn dev
前端默认运行在 http://localhost:8081
,可与后端联动使用。
主要功能操作流程
AI 聊天功能
- 配置模型:
- 在
application.yml
中填入 ChatGPT API 密钥。 - 重启项目,确保配置生效。
- 在
- 访问接口:
- 使用 POST 请求调用聊天接口,例如:
curl -X POST "http://localhost:8080/api/chat" -H "Content-Type: application/json" -d '{"message": "你好,我想了解AI"}'
- 返回结果为 JSON 格式,包含 AI 的回复。
- 使用 POST 请求调用聊天接口,例如:
- 测试效果:
- 可通过前端管理界面输入消息,查看实时对话效果。若未配置前端,直接用工具(如 Postman)测试。
AI 绘画功能
- 配置文生图模型:
- 在配置文件中添加 Dall-E-3 的 API 密钥。
- 检查依赖是否包含图像处理库(如
imageio
)。
- 生成图像:
- 调用绘画接口:
curl -X POST "http://localhost:8080/api/draw" -H "Content-Type: application/json" -d '{"prompt": "一幅未来城市的画"}'
- 返回结果为图像文件的下载链接或 Base64 编码。
- 调用绘画接口:
- 查看结果:
- 在管理界面中,点击“AI 绘画”模块,输入描述后生成并下载图像。
语音克隆
- 准备音频文件:
- 上传一段清晰的音频文件(如 MP3 格式)到服务器。
- 调用接口:
- 使用 POST 请求:
curl -X POST "http://localhost:8080/api/voice/clone" -F "file=@sample.mp3"
- 返回克隆后的语音文件。
- 使用 POST 请求:
- 应用场景:
- 可用于生成个性化语音提示,集成到小程序或聊天中。
微信小程序对接
- 克隆小程序端:
- 获取小程序代码:
git clone https://github.com/ageerle/ruoyi-uniapp.git
- 获取小程序代码:
- 配置后端地址:
- 在小程序项目中修改
config.js
,指向后端地址:const BASE_URL = "http://localhost:8080";
- 在小程序项目中修改
- 运行小程序:
- 使用微信开发者工具打开项目,预览效果。
特色功能详解
实时支付集成
- 配置易支付:
- 注册易支付账号,获取密钥。
- 在
application.yml
中添加:payment: yipay: key: 你的易支付密钥
- 生成二维码:
- 访问
http://localhost:8080/api/payment/qrcode
,返回支付二维码图片。
- 访问
- 验证支付:
- 通过回调接口接收支付结果,确保实时到账。
个人微信接入 ChatGPT
- 绑定微信:
- 在管理界面中输入个人微信号和 ChatGPT 密钥。
- 发送消息:
- 在微信中向指定服务号发送消息,后端自动调用 ChatGPT 返回回复。
- 测试:
- 发送“你好”试试,查看是否收到智能回复。
注意事项
- 安全性:API 密钥请妥善保存,避免泄露。
- 性能优化:若请求频繁,可配置 Redis 缓存,修改
application.yml
:spring: redis: host: localhost port: 6379
- 文档支持:项目提供详细文档,位于 GitHub 仓库的
README.md
,遇到问题可查阅。
通过以上步骤,你可以快速上手 ruoyi-ai,体验其强大的 AI 功能!