基于大语言模型与 RAG 技术的景区智能导览平台,提供 AI 数字人实时交互问答、景点推荐、路线规划及后台知识库管理等功能。
本项目采用 pnpm monorepo 结构,包含三个子包:
├── packages/
│ ├── backend/ # Express 后端服务
│ ├── tourist-frontend/ # 游客端前端(Vue 3 + Three.js)
│ └── admin-frontend/ # 管理端前端(Vue 3 + ECharts)
├── scripts/ # 数据处理与工具脚本
├── data/ # 景区原始数据
└── pnpm-workspace.yaml
后端:Express、sql.js(SQLite)、WebSocket、JWT 鉴权、Multer 文件上传
游客端:Vue 3、Vite、Three.js(@tresjs/core 3D 数字人展示)、Pinia、Vue Router
管理端:Vue 3、Vite、ECharts 数据可视化、词云分析、Pinia、Vue Router
AI 服务:讯飞星火大模型(Spark LLM)、RAG 检索增强生成管线(文档解析 → 文本分块 → 向量索引 → 语义检索)、语音合成(TTS)、讯飞数字人服务
- AI 对话问答:基于 RAG 的景区知识智能问答,支持多轮会话管理
- 景点详情浏览与智能推荐
- 游览路线规划
- 用户注册 / 登录 / 个人中心
- 数据仪表盘:游客数据与运营指标可视化
- 知识库管理:景区文档上传、解析与检索维护
- 文档编辑管理
- 舆情分析报告
- 数字人形象配置
- 系统设置
- Node.js >= 18
- pnpm >= 8
# 安装依赖
pnpm install
# 配置环境变量(复制 .env.example 并填入讯飞 API 密钥)
cp .env.example .env
# 初始化数据库(导入景区数据)
pnpm seed
# 同时启动后端 + 游客端 + 管理端
pnpm dev也可单独启动各子包:
pnpm dev:backend # 后端服务(默认端口 3002)
pnpm dev:tourist # 游客端前端
pnpm dev:admin # 管理端前端pnpm build:tourist # 构建游客端
pnpm build:admin # 构建管理端在项目根目录创建 .env 文件,配置以下变量:
| 变量名 | 说明 |
|---|---|
SPARK_APP_ID |
讯飞星火 AppID |
SPARK_API_KEY |
讯飞星火 API Key |
SPARK_API_SECRET |
讯飞星火 API Secret |
DIGITAL_HUMAN_SERVICE_ID |
数字人服务 ID |
PORT |
后端服务端口 |
JWT_SECRET |
JWT 签名密钥 |