程序聚合 软件案例 基于AI 驱动的行程规划-旅游问答应用

基于AI 驱动的行程规划-旅游问答应用

2026-09-29 12:30:39
行业:搜索、旅游
载体:小程序
技术:Node.js、Express、Vue、Vue Router

业务和功能介绍

背景:传统旅行规划信息分散在各攻略平台,用户需自行跨渠道查景点、比门票、算预算、排行程,耗时且难以个性化;通用对话助手也无法对 "城市 + 预算 + 天数" 这类结构化输入做建模。目标:构建一个以 LLM 为核心的智能旅游助手 —— 输入目的地、预算、天数即可自动生成结构化行程规划(每日上午 / 下午 / 晚上安排、景点介绍、交通建议、预算分配、小贴士与注意事项),并提供流式 AI 旅游问答,以移动端优先的形态交付。

1. 行程规划模块(Home / Detail):表单选择并校验目的地、预算(≥100 元)、天数(1–30 天),支持热门城市快捷选择;后端调用大模型按固定 JSON 结构生成行程,结果页以折叠卡片展示每日日程、预算分配、小贴士与注意事项,支持失败重试与超时友好提示。
2. AI 对话模块(Chat):支持自由提问与快捷问题,采用 SSE 流式逐字渲染,带 "正在思考" 状态;行程详情页可一键携带城市上下文进入对话。
3. 个人中心模块(Profile):注册、登录、退出(用户名密码 + 头像,localStorage 持久化);历史记录区分对话 / 查询两类,支持滑动删除、一键清空与 20 条进度提示,点击可回跳对应行程或聊天;收藏与设置页当前为占位。
4. 后端服务模块(travel-II):Express 提供 /api/travel/recommend、/api/travel/chat 及心跳接口;通过 LangChain ChatOpenAI 统一封装,支持 SiliconFlow / DeepSeek 双模型供应商切换。

- 行程规划流:首页表单(城市 / 预算 / 天数)→ 前端校验 → 写入历史 → 跳转 /detail → POST /recommend → 后端校验并组装 prompt → LLM 生成整份 JSON → 正则提取与解析 → Detail 渲染每日日程 / 预算 / 贴士 → 底部按钮进入 AI 对话。
- AI 对话流:Chat 输入或点击快捷问题 → 写入历史 → POST /chat(SSE)→ llm.stream 逐块产出 → streamUtils 以 data 事件推送 → 前端 fetchStream 逐字填充气泡 → complete 事件收尾。
- 个人中心流:登录 / 注册 → Profile → 收藏 / 历史 / 设置;历史条目点击回跳对应行程或聊天。

项目实现

采用前后端分离架构:

- 前端 travel:Vue 3 + Vite + Vant 4(移动端组件,按需自动引入)+ Pinia(状态管理,localStorage 持久化)+ Vue Router + Axios。细分为页面模块(Home/Detail/Chat/Profile/History/Favorites/Settings/Login/Register 九个视图)、组件模块(ChatBubble/SpotItem/BudgetTable)、请求模块(axios 封装 + fetchStream 的 SSE 解析)。
- 后端 travel-II:Node.js + Express(监听 3300)+ @langchain/openai + dotenv + cors + nodemon。细分为服务入口(index.js,含心跳与错误中间件)、路由(route/travel.js)、业务服务(services/travelService.js:LLM 初始化、行程 prompt、JSON 解析、流式对话)、工具(utils/streamUtils.js:SSE 响应封装)。
- LLM 接入层:由 .env 的 MODEL_PROVIDER 二选一切换 SiliconFlow(Qwen3.5-35B-A3B,默认)或 DeepSeek(deepseek-chat),ChatOpenAI 统一 streaming:true、temperature 0.7。
- 设计思路:以 LLM 为生成核心,后端承担 prompt 工程、结构化输出解析与 SSE 封装;前端专注表单校验、结果渲染与本地状态持久化;模型供应商做成可配置,避免厂商锁定。

系统前后端联通,行程规划可生成并完整渲染,AI 对话可流式问答,历史记录、注册登录可用。收藏与设置页面为 TODO 占位,尚未实现交互逻辑。

难点:流式接口超时;axios 的 timeout 是 "请求总时长" 而非 "空闲无数据时长";模型输出稍有偏差即解析失败。

解决方案:1.timeout/ 重试 ——ChatOpenAI 加 timeout 兜底、maxRetries 自动重试,前端 axios 放宽至 180s;2.JSON 模式 ——response_format:{type:'json_object'} 强制 JSON 输出、调低 temperature,替代正则,提升解析成功率;3. 改流式 SSE——/chat 改用 llm.stream 逐块推送,前端弃用 axios、改用 fetch+ReadableStream+AbortController 逐字渲染、不设总超时。详见 docs/backend-optimization.md(180s 放宽、/chat 流式已落地)。

示例图片视频


郡
5天前活跃
方向: 前端-Web前端、前端-小程序、
交付率:100.00%
相似推荐
XXJZ 桌面进销存 ERP 客户端
立项背景和目标:部分企业需要桌面版、能承接历史数据、对业务深度要求高的进销存 ERP,且办公电脑多为 Win7 低配机。目标是复刻成熟 ERP 的完整业务能力,并做到兼容老旧环境、平滑对接老系统数据。 2)软件功能与核心模块:内置 80+ 业务菜单,涵盖基础资料、单据流转、库存、工序与报表;含单据引擎(审核 / 单号 / 字段联动)、多工序验收单、BOM 物料演算、批量数据补全、CSV 与 Excel 导入导出。 3)业务流程与功能路径:维护基础资料 → 录入各类单据 → 审核、生成单号并联动 → 回写库存与成本 → 生成报表;支持单据整单导入,直接承接历史单据。
兴信记账 · 布行进销存记账系统-记账工具
立项背景和目标:布行等小微商贸企业长期靠手工/Excel 记账,单据易错、库存与欠款对不上、数据分散且担心上云泄密。目标是打造一套贴合自身流程、可私有化部署、断网也能用的轻量进销存记账系统,实现从开单到对账的全流程数字化。 2)软件功能与核心模块:销售开单、采购入库、客户与供应商管理、商品与颜色/尺码明细、仓库与库存台账、收付款与欠款统计、经营报表、单据打印、OCR 离线录单、卡密授权与多租户。 3)业务流程与功能路径:录单(手工或拍照 OCR 识别)→ 审核并生成单号 → 自动回写库存 → 收款与对账 → 生成报表与打印;全程支持离线暂存,联网后按增量自动同步
ToB效率工具自动化平台Web应用-自动化工作流平台
面向个人与企业的轻量级自动化任务调度平台,解决重复性工作自动执行问题。核心功能:①多用户账户体系,支持注册登录与防爆破锁定;②可视化创建工作流,提供5种触发方式——每天/每周/每月定时(秒级精度)、固定间隔循环、指定时刻单次、页面手动执行、Webhook外部系统回调触发;③6类执行动作——SMTP邮件发送、企业微信/钉钉/飞书群机器人消息推送、自定义HTTP API调用、CSV/SQLite数据落库、日志记录;④执行日志分页查询,支持按状态、工作流、日期区间多维筛选;⑤个人SMTP邮箱设置管理。
融资合同流程管理系统
企业内部融资管理、合同签发、流程审批的项目,对接企业内部平台的原有数据,增加企业内部流程控制板块、企业对外执行板块、统一管理企业用户融资、合同、客户、竞对、报表、发票、回款多模块的开发,采用多内部系统单点登录方式,统一集成用户管理,在企业内部一次登录即可查看,实现企业内同流程合同、融资借款等管理功能。系统内网开发了小程序模块。
企业后台管理系统-RBAC权限管控脚手架
【立项背景和目标】 中小团队做内部管理系统时,登录鉴权、角色权限、用户管理这些基础模块几乎每个项目都要重写一遍,既浪费时间,权限校验也容易写漏,留下越权漏洞。本项目目标是把这套通用底座做成可直接复用的脚手架:后端提供接口级强制权限校验,前端提供可复用的管理界面,新项目接入后只需专注业务模块,不必重复造轮子。 【核心功能模块】 1. 认证模块:JWT 令牌登录,密码使用 PBKDF2-HMAC-SHA256 加盐哈希(12 万次迭代),接口响应永不返回密码等敏感字段。 2. 权限模块(RBAC):用户—角色—权限点三级模型,内置超级管理员、运营人员、只读访客三个角色,权限在后端强制拦截。 3. 用户管理模块:关键词模糊搜索,角色/状态/部门多条件筛选,分页(每页 10/20/50 可调),增删改查,启用禁用,重置密码,CSV 导出(带 UTF-8 BOM,Excel 打开中文不乱码)。 4. 数据看板模块:统计卡片、近 30 天注册趋势折线图、角色分布环形图、最近操作记录列表。 5. 审计模块:记录登录、登出、登录失败、增删改、导出等全部写操作,含操作人、IP、时间。 【业务流程和功能路径】 用户登录 → 后端校验账号密码并签发 JWT → 前端携带令牌请求接口 → 后端解析令牌、查库校验账号是否被禁用、再校验当前角色是否具备该接口所需权限点 → 通过则返回数据,否则返回 401 或 403 → 前端依据返回的权限列表决定展示哪些菜单与按钮 → 所有写操作同步写入审计日志 → 看板实时汇总统计。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服