# isy-rag-agent **Repository Path**: deege/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**: 11 - **Created**: 2026-06-14 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ISY-RAG-Agent A Spring Boot-based RAG (Retrieval-Augmented Generation) intelligent chatbot management platform. ## Project Overview ISY-RAG-Agent is a feature-rich intelligent chatbot platform integrating core RAG capabilities including knowledge base management, FAQ retrieval, tool execution, and web search. The system adopts a front-end/back-end separated architecture, with the back-end providing a complete RESTful API and supporting SSE streaming output, enabling seamless integration with various large language models. ## Core Features ### 🤖 Bot Management - Create, configure, and manage multiple AI chatbots - Customize bot avatars, welcome messages, and system prompts - Configure response strategies, confidence thresholds, and context chunk counts - Associate knowledge bases, FAQs, tools, and authorized users ### 📚 Knowledge Base Management - Create and manage knowledge bases - Support document upload (automatic chunking and vectorization) - Integrated with Milvus vector database - Chunk-level document management ### ❓ FAQ Management - Categorized FAQ management - Vector similarity matching - Support for rich text responses - Similar question configuration - Click-through rate and satisfaction statistics ### 🔧 Tool Management - Three tool types: MCP tools, API tools, and built-in functions - MCP server integration (supports SSE and Streamable HTTP) - HTTP API tool configuration - Built-in functions: get time, mathematical calculations, string processing, JSON formatting, etc. ### 📊 Tracking & Monitoring - Complete conversation tracking - Input/output logging for each node - Performance statistics (latency, tokens) - Visualized tracking details ### 👥 User Management - User registration and authentication - JWT-based authentication - Department management - Daily call limits ## Technology Architecture ### Backend Stack - **Spring Boot** - Application framework - **MyBatis Plus** - ORM persistence layer - **MySQL** - Relational database - **Milvus** - Vector database - **LangChain4j** - LLM integration - **SSE** - Server-Sent Events streaming output ### Frontend Technology - Native HTML/CSS/JavaScript - No build tools required; runs directly ## Quick Start ### System Requirements - JDK 17+ - MySQL 5.7+ - Milvus 2.0+ (optional, for vector retrieval functionality) ### Configuration Steps 1. **Create Database** ```sql CREATE DATABASE isy_rag CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. **Modify Configuration File** Edit `src/main/resources/application.yml` to configure database and Milvus connections: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/isy_rag username: your_username password: your_password milvus: uri: http://localhost:19530 enabled: true ``` 3. **Build and Run** ```bash mvn clean package java -jar target/isy-rag-agent.jar ``` 4. **Access the System** - Admin Panel: http://localhost:8080/admin/login - User Portal: http://localhost:8080/portal/login Default admin account: `admin` / `admin123` ## API Endpoints ### Authentication Endpoints - `POST /api/auth/login` - User login - `POST /api/auth/logout` - User logout - `GET /api/auth/current-user` - Get current user ### Admin Panel Endpoints - `/api/admin/bot` - Bot management - `/api/admin/kb` - Knowledge base management - `/api/admin/faq` - FAQ management - `/api/admin/tool` - Tool management - `/api/admin/model` - Model management - `/api/admin/user` - User management - `/api/admin/trace` - Tracking records ### Portal Endpoints - `/api/portal/bots` - Get available bots for user - `/api/portal/conversations` - Conversation list - `/api/chat/stream` - Streaming chat (SSE) - `/api/chat/send` - Regular chat ## Project Structure ``` src/main/java/com/isy/rag/ ├── RagApplication.java # Main application class ├── bootstrap/ # Bootstrap modules │ ├── PageController.java # Page routing │ ├── admin/ # Admin panel │ │ ├── controller/ # Controllers │ │ ├── dao/ # Data access │ │ ├── dto/ # Data transfer objects │ │ ├── service/ # Business logic │ │ └── mapper/ # MyBatis Mappers │ ├── portal/ # User portal │ ├── rag/ # RAG core │ └── auth/ # Authentication └── framework/ # Framework layer ├── config/ # Configuration ├── context/ # Context ├── convention/ # Conventions ├── database/ # Database ├── distributedid/ # Distributed ID ├── errorcode/ # Error codes ├── exception/ # Exceptions ├── idempotent/ # Idempotency ├── page/ # Pagination ├── trace/ # Tracing └── web/ # Web ``` ## Configuration Properties | Property | Description | Default | |----------|-------------|---------| | `server.port` | Server port | 8080 | | `spring.datasource.*` | Database configuration | - | | `milvus.uri` | Milvus connection address | http://localhost:19530 | | `milvus.enabled` | Enable Milvus | true | | `jwt.secret` | JWT secret key | - | | `jwt.expiration` | JWT expiration time | 86400000 (24 hours) | | `file.storage.local.base-path` | File upload directory | ./uploads | ## License This project is intended solely for learning and research purposes.