RuoYi-RAG 是一个基于 RuoYi 框架开发的 AI 知识库检索增强生成(RAG)系统的服务端。该系统为 AI知识库管理系统 和 AI知识库用户端 提供接口服务,支持多种 AI 模型进行知识检索和问答。
- 创建、修改、删除项目
- 支持多种 AI 模型类型(如 OpenAI GPT-3.5-turbo、Ollama Qwen2:7b 等)
- 自定义系统提示词
- 项目列表展示与搜索
- 按项目上传知识文件
- 知识文件内容向量化存储
- 知识库文件删除
- 知识库列表展示与搜索
- 多会话管理:支持创建和管理多个聊天会话
- 消息历史记录:保存和显示聊天历史记录
- 流式响应:支持 AI 回复的流式显示,提供更好的用户体验
- 普通响应:支持传统的一次性返回完整回复的模式
- 联网搜索:支持 AI 在回答问题时进行网络搜索,获取最新信息
- 智能补全:提供代码和文本的智能补全功能
- 后端框架:Spring Boot 3.3.0
- AI 框架:Spring AI 1.0.0-M6
- 数据库:MySQL、MongoDB
- 向量存储:Qdrant Vector Store
- 搜索引擎:SearXNG
- ruoyi-admin:系统管理模块
- ruoyi-chat:AI 聊天核心模块
- ruoyi-chat-api:AI 聊天接口模块
- ruoyi-common:通用工具模块
- ruoyi-framework:框架核心模块
- ruoyi-system:系统功能模块
- ruoyi-quartz:定时任务模块
- ruoyi-generator:代码生成模块
- OpenAI:支持 GPT-3.5-turbo 等模型
- Ollama:支持 Qwen2:7b 等开源模型
- JDK 17+
- MySQL 8.0+
- MongoDB 4.0+
- Qdrant Vector Store
- Maven 3.6+
- 创建数据库
ruoyi_rag
- 执行 SQL 脚本:
sql/ruoyi_rag.sql
根据实际环境修改以下配置:
- 数据库连接配置
- MongoDB 连接配置
- Qdrant Vector Store 配置
- AI 模型配置(OpenAI API Key 等)
mvn clean package -DskipTests
java -jar ruoyi-admin/target/ruoyi-admin.jar
或使用脚本:
# Windows
ry.bat
# Linux
./ry.sh
启动服务后,访问 Swagger 文档:
http://localhost:8080/swagger-ui/index.html
- controller:控制器层,处理 HTTP 请求
- service:服务层,实现业务逻辑
- operator:AI 操作层,实现不同 AI 模型的交互
- pojo/domain:数据模型层
- vo:视图对象层
- utils:工具类
- 实现
AiOperator
接口 - 添加
@BeanType
注解指定模型类型 - 实现必要的方法(如
chatStream
、upload
等)
- 本项目基于 RuoYi-Vue 框架开发
- 感谢所有为本项目做出贡献的开发者