灵山胜境AI数字人导游——大三项目实战记录(一)
灵山胜境AI数字人导游——大三项目实战记录(一)
项目背景
大三下学期,我们团队接了一个比赛项目:为灵山胜境景区开发一套AI数字人导游系统。核心目标是让游客通过多模态交互(语音、文本、表情)与数字人导游对话,获取景区介绍、路线推荐等智能服务,同时为景区管理方提供数据分析后台。
技术选型
| 模块 | 技术方案 |
|---|---|
| 后端框架 | Python FastAPI |
| 前端 | 原生 JavaScript(无框架) |
| 数字人 | Canvas 2D(原选Live2D,CDN不稳定后自绘) |
| 数据可视化 | ECharts |
| 知识库 | JSON 结构化存储 |
| 交互方式 | 语音 + 文本 + 表情多模态 |
核心功能
1. 智能问答
基于JSON知识库构建景区信息检索系统,覆盖景点介绍、历史文化、服务设施等常见问题。采用关键词匹配+语义相似度双路召回,确保回答准确性和覆盖面。
2. 个性化路线推荐
根据游客偏好(亲子/情侣/老年/摄影)和停留时间,动态生成游览路线。路线包含景点顺序、预估耗时、餐饮休息建议。
3. Canvas 2D 数字人
最初选型Live2D实现二次元导游形象,但CDN资源不稳定,改成Canvas原生绘制2D角色,通过帧动画实现眨眼、口型同步等表情交互。虽然效果比Live2D简陋,但胜在稳定可控、加载快。
4. 管理后台
为景区管理员提供数据分析面板: - 游客提问热词统计(ECharts词云) - 各景点查询频次柱状图 - 路线推荐使用率饼图
踩坑记录
- Live2D SDK的坑:官方CDN在境内访问极不稳定,切换Canvas自绘后反而性能更好
- 语音交互延迟:Web Audio API处理音频时,要注意浏览器自动播放策略限制
- JSON知识库膨胀:景点信息180+条,查询效率下降,后来加了倒排索引优化
小结
这个项目让我对多模态交互有了实际体会——语音+视觉+文本不是简单叠加,难点在于三者之间的状态同步和自然切换。FastAPI确实轻快,用原生JS写前端虽然累但很锻炼基本功。
大三博客系列,持续更新中...

浙公网安备 33010602011771号