基于大语言模型和RAG技术的智能数据分析系统,实现对话式数据分析(ChatBI),快速实现数据提取与可视化
Aix-DB 基于 LangChain/LangGraph 框架,结合 MCP Skills 多智能体协作架构,实现自然语言到数据洞察的端到端转换。
核心能力:通用问答 · 数据问答(Text2SQL) · 表格问答 · 深度搜索 · 数据可视化 · MCP 多智能体
产品特点:📦 开箱即用 · 🔒 安全可控 · 🔌 易于集成 · 🎯 越问越准
default.mp4
分层架构设计:
- 前端层:Vue 3 + TypeScript 构建的现代化 Web 界面,集成 ECharts 和 AntV 可视化组件
- API 网关层:基于 Sanic 的高性能异步 API 服务,提供 RESTful 接口和 JWT 认证
- 智能服务层:LLM 服务、Text2SQL Agent、RAG 检索引擎、MCP 多智能体协作
- 数据存储层:支持多种数据库类型,包括关系型数据库、向量数据库、图数据库和文件存储
| 步骤 | 模块 | 说明 |
|---|---|---|
| 1 | 用户输入 | 用户以自然语言提出数据查询问题 |
| 2 | LLM 意图理解 | 大模型解析问题意图,抽取关键实体和查询条件 |
| 3 | RAG 知识检索 | Embedding + BM25 混合检索,结合 Neo4j 图谱获取相关表结构和业务知识 |
| 4 | SQL 生成 | Text2SQL 引擎生成 SQL 语句,并进行语法校验和优化 |
| 5 | 数据库执行 | 在目标数据源执行 SQL,支持 8+ 种数据库类型 |
| 6 | 可视化展示 | 自动生成 ECharts/AntV 图表,直观呈现分析结果 |
docker run \
--name aix-db \
--restart unless-stopped \
-e TZ=Asia/Shanghai \
-e SERVER_HOST=0.0.0.0 \
-e SERVER_PORT=8088 \
-e SERVER_WORKERS=2 \
-p 18080:80 \
-p 18088:8088 \
-p 15432:5432 \
-p 19000:9000 \
-p 19001:9001 \
-v ./volume/pg_data:/var/lib/postgresql/data \
-v ./init_sql.sql:/docker-entrypoint-initdb.d/init.sql:ro \
-v ./volume/minio/data:/data \
-v ./volume/logs/supervisor:/var/log/supervisor \
-v ./volume/logs/nginx:/var/log/nginx \
-v ./volume/logs/aix-db:/var/log/aix-db \
-v ./volume/logs/minio:/var/log/minio \
-v ./volume/logs/postgresql:/var/log/postgresql \
--add-host host.docker.internal:host-gateway \
crpi-7xkxsdc0iki61l0q.cn-hangzhou.personal.cr.aliyuncs.com/apconw/aix-db:1.2.2git clone https://github.com/apconw/Aix-DB.git
cd Aix-DB/docker
docker-compose up -dWeb 管理界面
- 访问地址:http://localhost:18080
- 默认账号:
admin - 默认密码:
123456
PostgreSQL 数据库
- 连接地址:
localhost:15432 - 数据库名:
aix_db - 用户名:
aix_db - 密码:
1
# 克隆项目
git clone https://github.com/apconw/Aix-DB.git
cd Aix-DB
# 安装依赖 (需要 Python 3.11)
pip install -r requirements.txt
# 启动后端服务
python serv.py
# 启动前端开发服务器 (另开终端)
cd web
npm install
npm run dev后端:Sanic · SQLAlchemy · LangChain/LangGraph · Neo4j · FAISS/Chroma · MinIO
前端:Vue 3 · TypeScript · Vite 5 · Naive UI · ECharts · AntV
AI 模型:OpenAI · Anthropic · DeepSeek · Qwen · Ollama
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
如有任何疑问,欢迎通过以下方式联系:
| 微信交流群 (备注进群) |
微信公众号 |
开源不易,本人精力和时间有限,如需 一对一技术支持,可以赞助支持一下。
联系微信,备注 技术支持
一对一技术支持服务内容:
- 亲自远程帮您 配置环境并部署
- 提供 项目资料及二开思路
本项目采用 Apache License 2.0 开源许可证。