灵山胜境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词云) - 各景点查询频次柱状图 - 路线推荐使用率饼图

踩坑记录

  1. Live2D SDK的坑:官方CDN在境内访问极不稳定,切换Canvas自绘后反而性能更好
  2. 语音交互延迟:Web Audio API处理音频时,要注意浏览器自动播放策略限制
  3. JSON知识库膨胀:景点信息180+条,查询效率下降,后来加了倒排索引优化

小结

这个项目让我对多模态交互有了实际体会——语音+视觉+文本不是简单叠加,难点在于三者之间的状态同步和自然切换。FastAPI确实轻快,用原生JS写前端虽然累但很锻炼基本功。


大三博客系列,持续更新中...

posted @ 2026-06-28 17:07  C(5,3)  阅读(33)  评论(0)    收藏  举报