Merge pull request #1 from ageerle/main

new
This commit is contained in:
Albert
2025-05-13 09:59:36 +08:00
committed by GitHub
122 changed files with 510 additions and 377 deletions

2
.gitignore vendored
View File

@@ -13,6 +13,8 @@ target/
ruoyi-modules/ruoyi-generator/src/main/resources/vm/vben5
README.md
######################################################################
# IDE

View File

@@ -59,24 +59,16 @@
### 系统体验
- 用户端https://web.pandarobot.chat
- 管理端https://admin.pandarobot.chat
用户名: admin 密码admin123
- 用户名: admin 密码admin123
### 源码地址
[1]gitee
- 前端服务-用户端: https://gitee.com/ageerle/ruoyi-web
- 前端服务-管理端: https://gitee.com/ageerle/ruoyi-admin
- 前端服务-小程序端: https://gitee.com/ageerle/ruoyi-uniapp
- 后端服务https://gitee.com/ageerle/ruoyi-ai
[2]github
[1]github
- 前端服务-用户端: https://github.com/ageerle/ruoyi-web
- 前端服务-管理端: https://github.com/ageerle/ruoyi-admin
- 前端服务-小程序端: https://github.com/ageerle/ruoyi-uniapp
- 后端服务https://github.com/ageerle/ruoyi-ai
[3]gitcode
[2]gitcode
- 前端服务-用户端https://gitcode.com/ageerle/ruoyi-web
- 前端服务-管理端: https://gitcode.com/ageerle/ruoyi-admin
- 前端服务-小程序端: https://gitcode.com/ageerle/ruoyi-uniapp
@@ -86,27 +78,25 @@
- 配套文档: https://doc.pandarobot.chat
- 项目部署文档https://doc.pandarobot.chat/guide/introduction/
### 核心功能
1.开源系统提供完整的前端应用、后台管理以及小程序应用基于MIT协议开箱即用。
2. 本地RAG方案集成Milvus/Weaviate向量库、本地向量化模型与Ollama实现本地化RAG
3. 丰富插件功能支持联网、SQL查询插件及Text2API插件扩展系统能力与应用场景。
4. 内置SSE、websocket等网络协议支持对接多种大语言模型同时还集成了MidJourney和DALLE AI绘画功能
5. 强大的多媒体功能支持AI翻译、PPT制作、语音克隆和翻唱等
6. 扩展功能:支持将大模型接入个人或企业微信。
7. 支付功能:支持易支付、微信支付等多种支付方式
### 核心功能与技术亮点
#### 1. 全栈式开源系统
- 全套开源系统提供完整的前端应用、后台管理以及小程序应用基于MIT协议开箱即用
#### 2. 本地化 RAG 方案
- 基于 **Langchain4j** 框架,支持 Milvus/Weaviate/Qdrant 向量库,结合 BGE-large-zh-v1.5 本地向量化模型 实现高效文档检索与知识库构建
- 支持 本地 LLM 接入,结合私有知识库实现安全可控的问答系统,避免依赖云端服务的隐私风险
#### 3. 多模态 AI 引擎与工具集成
- 智能对话:支持 OpenAI GPT-4、Azure、ChatGLM 等主流模型,内置 SSE/WebSocket 协议实现低延迟交互,兼容 **扣子**、**DIFY** 等平台 API 调用
- **Spring AI MCP** 支持:通过注解快速定义本地工具,支持调用 MCP 广场 的海量 MCP Server 服务,扩展模型能力边界。
#### 4. 企业级扩展与商业化支持
- 即时通讯集成:支持对接个人微信、企业微信及微信公众号,实现消息自动回复、用户管理与智能客服。
- 支付系统集成易支付、微信支付、Stripe 国际信用卡支付,满足商业化场景需求。
#### 5. 多媒体处理与创新功能
- AI 绘画:集成 DALL·E-3、MidJourney、Stable Diffusion支持文生图、图生图及风格化创作适用于营销素材生成与创意设计。
- PPT 制作:根据文本输入自动生成结构化幻灯片,支持自定义模板(需要使用三方平台 如:文多多)。
### 项目演示
#### mcp支持
### 如何使用
1. ruoyi-admin\src\main\resources\application.yml中mcp.client.enabled改为true
2. application.yml中配置openai api-key(用于推理使用那个工具,并构建工具所需参数)
3. 启动[ruoyi-mcp-server]
4. [mcp-server.json]中配置fileSystem.command(npx本地安装路径)
5. 指定fileSystem操作目录(本地必须存在指定的目录)
6. 配置search1api.env.SEARCH1API_KEY 申请地址https://www.search1api.com/
7. 详情教程https://blog.csdn.net/weixin_42416319/article/details/147385808
<div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;">
<img src="image/mcp-01.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
<img src="image/mcp-02.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
@@ -122,7 +112,6 @@
<img src="image/05.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
</div>
#### 用户端
<div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;">
<img src="image/08.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
@@ -204,7 +193,6 @@
### 注意事项
- vben模板
Qvben5 的模板默认是没有的吗?
Avben模板是收费的 请联系vben-vue-plus作者获取。
@@ -214,7 +202,6 @@
该项目使用Git进行版本管理。您可以在repository参看当前可用版本。
### 版权说明
该项目使用了MIT授权许可详情请参阅 [LICENSE.txt](https://github.com/ageerle/ruoyi-ai/blob/main/LICENSE)
@@ -251,7 +238,7 @@
#### 项目文档
1. 项目文档基于vitepress构建
2. 按照[如何参与开源项目](#如何参与开源项目)拉取 https://github.com/ageerle/ruoyi-doc
2. 按照[如何参与开源项目](#如何参与开源项目)拉取https://github.com/ageerle/ruoyi-doc
3. 安装依赖npm install
4. 启动项目npm run docs:dev
5. 主页路径docs/guide/introduction/index.md
@@ -277,12 +264,16 @@
[license-url]: https://github.com/ageerle/ruoyi-ai/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555
## 🌿 第三方生态
- [PPIO 派欧云:一键调用高性价比的开源模型 API 和 GPU 容器](https://ppinfra.com/user/register?invited_by=P8QTUY&utm_source=github_ruoyi-ai)
### 附:技术讨论群
#### 全面开放,欢迎加入
#### 进群学习
🏠 wxruoyi-ai加人备注ruoyi-ai
<img src="image/小助手wx.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
🏠 qq1603234088 加人备注ruoyi-ai
👏👏👏 ruoyi-ai官方交流1群qq区1034554687
@@ -291,10 +282,3 @@
<img src="image/QQ区-官方交流1群.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
</div>
👏👏👏 ruoyi-ai官方交流4群微信区
<div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;">
<img src="image/WX区-官方交流4群.jpg" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
</div>

BIN
image/小助手wx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

View File

@@ -226,7 +226,7 @@ springdoc:
# 标题
title: '标题RuoYi-Vue-Plus多租户管理系统_接口文档'
# 描述
description: '描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...'
description: ' 用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...'
# 版本
version: '版本号: ${ruoyi.version}'
# 作者信息

View File

@@ -6,7 +6,6 @@ import cn.hutool.core.date.DateUnit;
import lombok.extern.slf4j.Slf4j;
/**
* 描述:
*
* @author https:www.unfbx.com
* @date 2023-03-10

View File

@@ -1,7 +1,6 @@
package org.ruoyi.common.chat.constant;
/**
* 描述:
*
* @author https:www.unfbx.com
* @since 2023-03-06
@@ -10,6 +9,8 @@ public class OpenAIConst {
public final static String OPENAI_HOST = "https://api.openai.com/";
public final static String apiUrl = "v1/chat/completions";
public final static int SUCCEED_CODE = 200;
}

View File

@@ -8,7 +8,7 @@ import java.math.BigDecimal;
import java.util.List;
/**
* 描述:金额消耗信息
* 金额消耗信息
*
* @author https:www.unfbx.com
* @since 2023-04-08

View File

@@ -8,7 +8,7 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* 描述:余额查询接口返回值
* 余额查询接口返回值
*
* @author https:www.unfbx.com
* @since 2023-03-18

View File

@@ -7,7 +7,7 @@ import lombok.Data;
import java.util.List;
/**
* 描述:金额消耗列表
* 金额消耗列表
*
* @author https:www.unfbx.com
* @since 2023-04-08

View File

@@ -7,7 +7,6 @@ import lombok.Data;
import java.math.BigDecimal;
/**
* 描述:
*
* @author https:www.unfbx.com
* @since 2023-03-18

View File

@@ -7,7 +7,6 @@ import lombok.Data;
import java.util.List;
/**
* 描述:
*
* @author https:www.unfbx.com
* @since 2023-03-18

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.math.BigDecimal;
/**
* 描述:金额消耗列表
* 金额消耗列表
*
* @author https:www.unfbx.com
* @since 2023-04-08

View File

@@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* 描述:
*
* @author https:www.unfbx.com
* @since 2023-04-08

View File

@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* 描述:账户信息
* 账户信息
*
* @author https:www.unfbx.com
* @since 2023-04-08

View File

@@ -13,7 +13,7 @@ import java.util.Map;
import static org.ruoyi.common.chat.entity.chat.BaseChatCompletion.Model.GPT_3_5_TURBO;
/**
* 描述: chat模型基础类
* chat模型基础类
*
* @author https:www.unfbx.com
* @since 1.1.2

View File

@@ -12,7 +12,6 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
* @author https:www.unfbx.com
* @since 1.1.2

View File

@@ -7,7 +7,6 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
* @author https:www.unfbx.com
* @since 2023-03-02

View File

@@ -12,7 +12,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述: chat模型参数
* chat模型参数
*
* @author https:www.unfbx.com
* 2023-03-02

View File

@@ -8,7 +8,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述: chat答案类
* chat答案类
*
* @author https:www.unfbx.com
* 2023-03-02

View File

@@ -11,7 +11,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述 chat模型附带图片的参数
* chat模型附带图片的参数
*
* @author https:www.unfbx.com
* @since 1.1.2

View File

@@ -6,7 +6,6 @@ import lombok.*;
import lombok.extern.slf4j.Slf4j;
/**
* 描述:
*
* @author https://www.unfbx.com
* @since 1.1.2

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 描述:函数调用返回值
* 函数调用返回值
*
* @author https://www.unfbx.com
* @since 2023-06-14

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:方法参数实体类,实例数据如下
* 方法参数实体类,实例数据如下
* <pre>
* {
* "name": "get_current_weather",

View File

@@ -8,7 +8,6 @@ import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* 描述:
*
* @author https://www.unfbx.com
* 2023-11-10

View File

@@ -10,7 +10,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* @since 2023-03-02

View File

@@ -10,8 +10,6 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
* @author https:www.unfbx.com
* @since 2023-03-02
*/

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 描述:方法参数类扩展参数可以继承Parameters自己实现
* 方法参数类扩展参数可以继承Parameters自己实现
* 参考:
* <pre>
* {

View File

@@ -7,7 +7,6 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -7,7 +7,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -10,7 +10,7 @@ import java.util.List;
import java.util.Map;
/**
* 描述: 问题类
* 问题类
*
* @author https:www.unfbx.com
* 2023-02-11

View File

@@ -9,7 +9,7 @@ import org.ruoyi.common.chat.entity.common.Usage;
import java.io.Serializable;
/**
* 描述: 答案类
* 答案类
*
* @author https:www.unfbx.com
* 2023-02-11

View File

@@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -9,7 +9,7 @@ import org.ruoyi.common.chat.entity.common.Usage;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -9,7 +9,7 @@ import java.util.List;
import java.util.Objects;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -8,7 +8,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -11,7 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -11,7 +11,7 @@ import java.io.Serializable;
import java.util.Objects;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -7,7 +7,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -12,7 +12,7 @@ import java.io.Serializable;
import java.util.Objects;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -7,7 +7,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -6,7 +6,7 @@ import lombok.Getter;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -6,7 +6,7 @@ import lombok.Getter;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -8,7 +8,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -7,7 +7,7 @@ import java.io.Serializable;
import java.util.List;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

View File

@@ -7,7 +7,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* 描述:
*
*
* @author https:www.unfbx.com
* 2023-02-15

Some files were not shown because too many files have changed in this diff Show More