← 返回项目企业实践 · 2025—2026 · 已交付

全栈开发(实习)

GoTravel 智能旅游平台

毕业实习期间独立负责的全栈 AI 应用:DeepSeek + LangGraph 工作流 + MCP 工具链驱动的旅游助手,WebSocket 流式对话与智能卡片生成。

Django 5.2 / DRF / ChannelsVue 3 + TypeScript / PiniaDeepSeek APILangGraphFastMCPMySQL / Redis / CeleryWebSocket 流式输出

背景

毕业实习期间在大唐互联科技有限公司参与 AI 应用开发方向的工作。公司希望我独立负责一个完整的 AI 应用原型:既要覆盖用户、内容、审核、管理等常规业务系统,也要做出真正可用的 AI 对话体验,而不是简单的 API 转发。最终交付的 GoTravel 是一个面向旅游规划场景的智能平台。

问题定义

旅游咨询类对话有两个特点:一是需要真实数据支撑(地点、日期、天气等),纯靠模型记忆容易编造;二是回复内容适合结构化呈现(行程、酒店、餐厅卡片),纯文本列表阅读体验差。系统设计要解决的核心问题是:让大模型在对话中主动调用工具获取真实信息,并把结果以可交互的卡片形式流式地呈现给用户

方案

AI 对话链路。以 DeepSeek 作为推理底座,用 LangGraph 编排对话工作流,管理对话状态与工具调用决策。外部工具通过 MCP(Model Context Protocol)客户端接入:高德地图 MCP 提供地理与 POI 查询,日期工具 MCP 提供时间计算。MCP 的价值在于工具的标准化接入——新增一个工具只需实现一个客户端,不需要改动工作流主干。

实时输出。对话不走普通 HTTP 请求-响应,而是 Django Channels + Redis Channel Layer 的 WebSocket 通道,模型 token 逐字推送到前端,配合打字机效果渲染。消息的发送、接收、阅读状态全程可追踪。

智能卡片。AI 回复中的推荐内容(行程、酒店、餐厅等)被解析为结构化数据,前端渲染成专门的卡片组件,用户可以一键保存到草稿箱,把“聊出来的攻略”变成自己的内容资产。

业务系统。用户侧覆盖注册登录、角色权限(普通/VIP/管理员)、关注与粉丝、行为记录;内容侧覆盖多类型帖子、审核流、点赞评论收藏;管理端提供用户管理、内容审核、聊天记录与 AI 工具执行监控、行为数据分析。数据库用 MySQL,Redis 做缓存与 Channel Layer,Celery 处理异步任务。

我的角色

独立负责从需求拆解、数据库设计、AI 服务层、WebSocket 通道到前端页面的全部实现。印象最深的一次调试是流式对话偶发断连:通过在 Consumer 中加全生命周期日志定位到 Redis 缓冲区在高频广播下的延迟问题,最终调整了消息批量推送策略解决。

结果

系统功能完整跑通,AI 助手能稳定完成地点查询、行程规划、预算估算等任务,流式输出与卡片生成体验流畅,通过了公司的实习验收。

复盘

这是第一个从 0 到 1 独立交付的完整 AI 应用,最大的收获是理解了“AI 应用 = 工程系统”,模型只是其中一个环节,状态管理、工具接入、实时通信、内容结构化,每一环都决定最终体验。后续博客里实现个人知识助手时,这套架构思路直接复用了。