
个人主页艾莉丝努力练剑❄专栏传送门《C语言》《数据结构与算法》《C/C干货分享学习过程记录》《Linux操作系统编程详解》《笔试/面试常见算法从基础到进阶》《Python干货分享》⭐️为天地立心为生民立命为往圣继绝学为万世开太平 艾莉丝的简介文章目录1 ~ ChatServer 项目整体概述1.1 项目定位1.2 整体系统架构1.2.1 架构数据流1.2.2 组件分工2 ~ ChatServer 业务功能需求2.1 核心接口能力清单2.2 业务场景拆解2.2.1 获取会话列表2.2.2 获取支持模型列表2.2.3 创建会话2.2.4 发送消息流式返回2.2.5 获取会话历史消息2.2.6 删除会话3 ~ 关键概念说明3.1 会话 (Session)3.2 流式响应3.3 Ollama 接入本地模型4 ~ 系统调用时序结尾1 ~ ChatServer 项目整体概述1.1 项目定位基于已封装完成的 ChatSDK开发网页版智能聊天助手对标豆包、DeepSeek 网页对话产品。项目分为两大组成部分ChatServer 后端服务器、Web 前端页面。核心开发重心ChatServer 后端服务Web 前端由工具生成。ChatSDK 职责完成与各类大模型底层交互逻辑上层业务由 ChatServer 实现。1.2 整体系统架构1.2.1 架构数据流Web 前端页面通过HTTP/HTTPS协议向 ChatServer 发送请求接收服务端响应渲染页面。ChatServer 接收前端请求调用 ChatSDK 完成大模型交互。ChatSDK 对接底层大模型DeepSeek、Gemini、GPT‑4o‑mini、豆包等本地模型可通过 Ollama 接入。大模型返回结果经由 ChatSDK 解析处理回传给 ChatServer。ChatServer 将模型应答结果返回 Web 前端完成对话展示对话消息默认采用流式返回。1.2.2 组件分工Web 前端用户交互入口负责会话展示、消息输入输出、模型选择、会话列表渲染。ChatServer业务服务层对外提供 HTTP 接口管理会话生命周期调用 ChatSDK 能力。ChatSDK模型交互封装层屏蔽不同大模型 API 差异提供统一调用接口。大模型服务底层推理能力来源支持在线 API 模型、Ollama 本地部署模型。2 ~ ChatServer 业务功能需求2.1 核心接口能力清单ChatServer 需要对外提供如下业务接口支撑全部网页端业务获取会话列表获取服务器支持的全部模型列表创建新会话发送对话消息流式响应获取指定会话的全部历史消息删除指定会话2.2 业务场景拆解2.2.1 获取会话列表触发时机浏览器访问服务器地址加载首页时。业务行为前端获取并渲染全部历史会话在页面左侧会话栏展示历史对话条目。2.2.2 获取支持模型列表触发时机用户点击【新建对话】按钮。业务行为服务端返回所有已接入模型元信息模型名称、能力标签、描述、在线 / 本地状态前端弹窗渲染可用模型卡片供用户选择。2.2.3 创建会话用户选定目标模型点击确认创建对话。前端发送请求通知 ChatServer 创建会话绑定选中的大模型。服务端通过 ChatSDK 完成会话实例创建。前端关闭模型选择弹窗切换进入聊天页面。2.2.4 发送消息流式返回用户输入提问内容点击发送按钮前端将消息提交 ChatServer。ChatServer 调用 ChatSDK 向绑定模型发起对话请求。模型结果以流式分片形式逐层返回服务端将流透传给前端。前端逐步渲染模型输出内容实现打字机对话效果。2.2.5 获取会话历史消息触发时机用户点击左侧任意一条历史会话条目。业务行为前端请求该会话完整消息记录服务端返回会话内全部历史问答前端渲染历史消息支持在该会话上下文继续对话。2.2.6 删除会话触发时机用户在历史会话条目点击删除操作。业务行为服务端销毁指定会话实例清除会话内全部历史消息前端移除对应会话条目。3 ~ 关键概念说明3.1 会话 (Session)会话是 ChatSDK 核心抽象所有用户与模型的对话消息全部归属于会话实例。每一个会话绑定一个确定的大模型会话保存完整多轮对话上下文用于大模型多轮记忆。会话生命周期创建 → 持续多轮消息交互 → 删除销毁。3.2 流式响应大模型对话主流交互模式模型不会等待完整回答生成完毕再返回而是逐段输出 token。服务端需要将大模型输出流透传给前端不需要在服务端完整缓存全部应答文本。3.3 Ollama 接入本地模型Ollama 用于本地运行大模型ChatSDK 可以对接 Ollama 服务将本地部署模型纳入 ChatServer 可选择模型列表实现本地大模型网页对话。4 ~ 系统调用时序用户浏览器访问 ChatServer 地址HTTP 请求拉取前端页面 获取会话列表。用户点击新建对话请求模型列表前端展示可用模型卡片。用户选择模型调用创建会话接口服务端通过 ChatSDK 生成绑定指定模型的会话。用户输入问题发送消息前端提交消息ChatServer 交给 ChatSDK 调用大模型。大模型流式输出 → ChatSDK 接收流 → ChatServer 透传流式数据给 Web 前端。用户点击历史会话请求会话历史加载过往聊天记录继续多轮对话。用户执行删除会话服务端销毁会话资源会话不再可用。结尾uu们本文的内容到这里就全部结束了艾莉丝在这里再次感谢您的阅读艾莉丝努力练剑C/C Linux 底层探索者 | 一个正在努力练剑的技术博主【关注】跟随我一起深耕技术领域见证每一次成长。❤️【点赞】让优质内容被更多人看见让知识传递更有力量。⭐【收藏】把核心知识点存好在需要时随时查、随时用。【评论】分享你的经验或疑问评论区一起交流避坑不要忘记给博主“一键四连”哦“今日练剑达成”“技术之路难免有困惑但同行的人会让前进更有方向。”结语希望对学习Linux相关内容的uu有所帮助不要忘记给博主“一键四连”哦往期回顾【AI大模型接入SDK】C ChatSDK使用手册博主在这里放了一只小狗大家看完了摸摸小狗放松一下吧૮₍ ˶ ˊ ᴥ ˋ˶₎ა