立项背景:2026年山东师范大学"大学生创新训练计划"省级立项项目(负责人:邓子祥)
┌─────────────────────────────────────────────────────┐
│ 交互展示层 (Vue.js/React) [待开发] │
├─────────────────────────────────────────────────────┤
│ 中枢控制层 (FastAPI) │
│ ┌──────────────────────────────────────────────┐ │
│ │ 混合型意图路由器 (HybridRouter) │ │
│ │ RAG 路径 │ NL2SQL 路径 │ 比较分析路径 │ │
│ └──────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────┤
│ 计算引擎层 │
│ ┌───────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ LLM API │ │ 向量库 │ │ 反幻觉校验 │ │
│ │ (多模型) │ │ (Chroma) │ │ + 语义缓存 │ │
│ └───────────┘ └──────────┘ └──────────────────┘ │
├─────────────────────────────────────────────────────┤
│ 数据支撑层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ MySQL/ │ │ 文档池 │ │ Neo4j 知识图谱 │ │
│ │ SQLite │ │ PDF/Word │ │ (规划中) │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────┘
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置 API Key
cp .env.example .env
# 编辑 .env,填入至少一个 API Key
# 3. 启动服务器
python scripts/run_server.py现在访问 http://localhost:8000/docs 查看 API 文档。
| 端点 | 方法 | 说明 |
|---|---|---|
/health |
GET | 健康检查 |
/api/chat |
POST | 核心聊天(自动路由) |
/api/query |
POST | NL2SQL 直接查询 |
/api/ingest |
POST | 文档解析入库 |
/api/cache/stats |
GET | 缓存统计 |
/api/cache/clear |
POST | 清空缓存 |
- 文档解析:pdfplumber + Camelot 财报结构化抽????
- NL2SQL:自然语言转 SQL 查询引擎
- RAG:基于关键词的检索增强生成
- 图表生成:Matplotlib 多类型图表
- 混合型意图路由器:自动分类 RAG / NL2SQL / 比较分析
- 语义缓存:基于向量相似度的高频问题缓存
- 反幻觉校验:答案与原文语义一致性评分
- 多模型适配器:OpenAI / DeepSeek / Gemini 动态切换
- 本地预处理:基于规则的意图快速分类
- Prompt 版本管理:带反思机制的 CoT 模板
- 敏感数据脱敏:调用 API 前自动脱敏
- 向量数据库:Chroma 文档向量存储与检索
- Neo4j 知识图谱:地理实体关系存储
- GCN+LSTM 时空预测:城市扩张 / 耕地演变推演
- CesiumJS 前端:二三维一体化交互平台
- GeoPDF 智能报表:多模态地理信息报告
- 后端:Python + FastAPI + SQLModel
- 数据库:SQLite(开发)/ MySQL(生产)
- 向量库:Chroma(默认)/ Milvus(可选)
- LLM:OpenAI / DeepSeek / Gemini API
- 文档解析:pdfplumber + Camelot + pypdf
- 图表:Matplotlib