ARag 是一个面向知识库问答场景的全栈 RAG 平台,覆盖文档接入、切分与向量化、意图树检索、多模型路由、流式对话、检索链路追踪和后台管理。
- 知识库、文档、分块和摄取任务管理
- 全局向量检索与意图定向检索
- 查询改写、重排、上下文记忆和示例问题
- 百炼、SiliconFlow 与本地 Ollama 模型接入
- SSE 流式对话、会话记录和用户反馈
- RAG 链路追踪与管理端统计
- 独立 MCP Server,可接入外部工具
- 后端:Java 17、Spring Boot 3.5、MyBatis-Plus、Sa-Token
- 前端:React 18、TypeScript、Vite、Tailwind CSS
- 数据:MySQL、Redis、Milvus、S3 兼容对象存储
- 工具协议:MCP
ARag/
├─ bootstrap/ # 主 Spring Boot 应用与业务接口
├─ framework/ # Web、认证、数据访问等公共能力
├─ infra-ai/ # 模型、Embedding 与 Rerank 适配
├─ mcp-server/ # 独立 MCP 服务
├─ frontend/ # React 管理与对话界面
└─ resources/ # Docker 与基础设施配置
- JDK 17+
- Maven 3.9+
- Node.js 18+
- Docker / Docker Compose
启动本地数据服务:
docker compose -f resources/docker/docker-compose-data.yml up -d所有敏感配置均通过环境变量注入,至少配置正在使用的模型服务:
export BAILIAN_API_KEY="your-key"
export SILICONFLOW_API_KEY="your-key"
export MYSQL_PASSWORD="your-password"
export REDIS_PASSWORD="your-password"
export S3_SECRET_ACCESS_KEY="your-secret"PowerShell 使用 $env:变量名="值"。不使用的模型供应商可以不配置。
mvn -pl bootstrap -am spring-boot:run默认接口地址为 http://localhost:9090/api/ragent。
cd frontend
npm install
npm run devmvn test
cd frontend && npm run build不要把 API Key、数据库密码或对象存储密钥写入仓库。若密钥曾出现在公开提交中,请先在供应商后台轮换,再更新本地环境变量。