# isy-rag-agent **Repository Path**: matchapp/isy-rag-agent ## Basic Information - **Project Name**: isy-rag-agent - **Description**: 智能开源的企业级rag系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2026-04-29 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ISY-RAG-Agent 一个基于Spring Boot的RAG(检索增强生成)智能聊天机器人管理平台。 ## 项目简介 ISY-RAG-Agent 是一个功能完善的智能聊天机器人平台,集成了知识库管理、FAQ检索、工具执行、网页搜索等核心RAG能力。系统采用前后端分离架构,后端提供完整的RESTful API,支持SSE流式输出,可与多种大语言模型无缝集成。 ## 核心功能 ### 🤖 机器人管理 - 创建、配置和管理多个AI聊天机器人 - 自定义机器人头像、欢迎语、系统提示词 - 配置回答策略、置信度阈值、上下文 chunks 数量 - 关联知识库、FAQ、工具和授权用户 ### 📚 知识库管理 - 创建和管理知识库 - 支持文档上传(自动分块、向量化) - Milvus 向量数据库集成 - 文档 chunk 级别管理 ### ❓ FAQ 管理 - FAQ 分类管理 - 向量相似度匹配 - 支持富文本回答 - 相似问题配置 - 点击率和满意度统计 ### 🔧 工具管理 - 三种工具类型:MCP工具、API工具、内置函数 - MCP 服务器集成(支持 SSE 和 Streamable HTTP) - HTTP API 工具配置 - 内置函数:获取时间、数学计算、字符串处理、JSON格式化等 ### 📊 追踪与监控 - 完整对话追踪 - 每个节点的输入输出记录 - 性能统计(延迟、tokens) - 可视化追踪详情 ### 👥 用户管理 - 用户注册与认证 - 基于 JWT 的身份验证 - 部门管理 - 每日调用限制 ## 技术架构 ### 后端技术栈 - **Spring Boot** - 应用框架 - **MyBatis Plus** - ORM 持久层 - **MySQL** - 关系数据库 - **Milvus** - 向量数据库 - **LangChain4j** - LLM 集成 - **SSE** - 服务器发送事件流式输出 ### 前端技术 - 原生 HTML/CSS/JavaScript - 无需构建工具,直接运行 ## 快速开始 ### 环境要求 - JDK 17+ - MySQL 5.7+ - Milvus 2.0+(可选,向量检索功能) ### 配置步骤 1. **创建数据库** ```sql CREATE DATABASE isy_rag CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. **修改配置文件** 编辑 `src/main/resources/application.yml`,配置数据库连接、Milvus 连接等: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/isy_rag username: your_username password: your_password milvus: uri: http://localhost:19530 enabled: true ``` 3. **编译运行** ```bash mvn clean package java -jar target/isy-rag-agent.jar ``` 4. **访问系统** - 管理后台:http://localhost:8080/admin/login - 用户门户:http://localhost:8080/portal/login 默认管理员账号:`admin` / `admin123` ## API 接口 ### 认证接口 - `POST /api/auth/login` - 用户登录 - `POST /api/auth/logout` - 用户登出 - `GET /api/auth/current-user` - 获取当前用户 ### 管理后台接口 - `/api/admin/bot` - 机器人管理 - `/api/admin/kb` - 知识库管理 - `/api/admin/faq` - FAQ 管理 - `/api/admin/tool` - 工具管理 - `/api/admin/model` - 模型管理 - `/api/admin/user` - 用户管理 - `/api/admin/trace` - 追踪记录 ### 门户接口 - `/api/portal/bots` - 获取用户可用机器人 - `/api/portal/conversations` - 对话列表 - `/api/chat/stream` - 流式聊天(SSE) - `/api/chat/send` - 普通聊天 ## 项目结构 ``` src/main/java/com/isy/rag/ ├── RagApplication.java # 启动类 ├── bootstrap/ # 启动模块 │ ├── PageController.java # 页面路由 │ ├── admin/ # 管理后台 │ │ ├── controller/ # 控制器 │ │ ├── dao/ # 数据访问 │ │ ├── dto/ # 数据传输对象 │ │ ├── service/ # 业务逻辑 │ │ └── mapper/ # MyBatis Mapper │ ├── portal/ # 用户门户 │ ├── rag/ # RAG核心 │ └── auth/ # 认证 └── framework/ # 框架层 ├── config/ # 配置 ├── context/ # 上下文 ├── convention/ # 约定 ├── database/ # 数据库 ├── distributedid/ # 分布式ID ├── errorcode/ # 错误码 ├── exception/ # 异常 ├── idempotent/ # 幂等 ├── page/ # 分页 ├── trace/ # 追踪 └── web/ # Web ``` ## 配置项说明 | 配置项 | 说明 | 默认值 | |--------|------|--------| | `server.port` | 服务端口 | 8080 | | `spring.datasource.*` | 数据库配置 | - | | `milvus.uri` | Milvus 连接地址 | http://localhost:19530 | | `milvus.enabled` | 是否启用 Milvus | true | | `jwt.secret` | JWT 密钥 | - | | `jwt.expiration` | JWT 过期时间 | 86400000 (24小时) | | `file.storage.local.base-path` | 文件上传路径 | ./uploads | ## 许可 本项目仅供学习研究使用。