chatbot
支持本地训练的中文聊天机器人,从Seq2Seq对话生成到Shopping Agent浏览器自动化订单分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
支持本地训练的中文聊天机器人,从Seq2Seq对话生成到Shopping Agent浏览器自动化订单分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2018年,GitHub 上涌现了一大批中文聊天机器人开源项目,其中有一个项目格外引人注目——zhaoyingjun/chatbot。彼时,GPT 还未出圈,大多数中文对话系统还依赖于 Seq2Seq(序列到序列)架构。项目作者用 PyTorch 和 TensorFlow 2.0 双框架实现了对话生成,并支持用"小黄鸡"语料(50万条中文对话)自行训练模型。这个朴素的起点,奠定了项目"让每个人都能训自己的聊天机器人"的核心理念。
八年后的今天,这个项目已从单一的 Seq2Seq 模型演变为一个多模块 AI 应用平台,涵盖对话生成、分布式训练、浏览器自动化和智能订单处理。star 数达到 3587,fork 数超过 1013,成为中文 AI 开源社区中经久不衰的标杆项目之一。
该项目并非一个单一应用,而是由多个功能模块组成的"工具箱",主要分为两条技术路线:
路线一:传统对话生成(Seq2Seq)
位于 Chatbot_pytorch 和 Chatbot-tensowflow2.0 目录下,包含三个子模块:
核心依赖为 PyTorch 1.11.0 或 TensorFlow 2.6.0,配合 Flask 提供 Web 对话界面。训练语料默认使用"小黄鸡"数据集(约50万条去标签对话),也可替换为自定义中文语料。
路线二:Shopping Agent(智能订单分析)
这是 2024 年后新增的 Agent 模块,位于 chatagent 目录。采用 FastAPI 后端 + Streamlit 前端的现代技术栈,核心能力是通过浏览器自动化 + 多模态大模型实现订单信息智能提取。工作流程如下:
从部署角度看,这个项目处于"半现代化"阶段。没有提供 Dockerfile 或 docker-compose.yml,这意味着无法一键容器化部署,是主要扣分项。但项目提供了标准 Python 依赖安装方式(requirements.txt),且 Shopping Agent 模块内置了 Streamlit 前端界面,对普通用户较为友好。
部署流程需要以下步骤:
dist/resource 目录python -m app.main)streamlit run app/frontend.py)最大的门槛在于ChromeDriver 版本匹配:README 要求 Chrome 140.0 及以上,而不同操作系统、不同 Chrome 安装路径的版本管理本身就是一个常见的"坑"。对于没有 Docker 环境的用户,需要额外排查 driver 兼容性问题。
硬件方面,Seq2Seq 训练默认不需要 GPU(使用 CPU 训练,显存不敏感),Shopping Agent 本身是 API 调用模式(依赖第三方大模型),本地硬件要求较低。推荐 4GB 以上内存和 2GB 可用磁盘空间。
作为一个持续维护超过8年的项目,代码组织有一定历史包袱。PyTorch 和 TensorFlow 双版本并存说明项目经历了框架迁移,但两个版本目录下结构几乎相同,反映出维护上的重复劳动。
Shopping Agent 模块展现了作者拥抱新范式的意愿——FastAPI + Streamlit + 浏览器自动化的组合是当前 AI 应用开发的流行选择。但该项目尚未引入 Agent 框架(如 LangChain、AutoGen),Agent 的"智能"主要体现在调用大模型 API 分析截图,而非自主规划执行。
代码中硬编码了部分路径(如 ChromeDriver 位置),缺乏灵活的配置管理——尽管 Streamlit 前端提供了基础的系统配置面板,但对于高级用户而言.ini 配置文件的可编程性更强。
这个项目的发展轨迹,某种程度上映射了中文 NLP 开源社区的演进:从 Seq2Seq 到 GPT,从规则匹配到 Agent。早期用户用小黄鸡语料训练自己的"聊天机器人"是极客圈的一股风潮;如今 Shopping Agent 的出现,则代表 AI 应用开始真正渗透进具体业务场景(电商订单处理)。
项目 3587 个 star 的背后,是大量中小开发者将其作为"入门级 AI 项目"的学习素材——代码结构清晰,双框架对比学习价值高。但从工程化角度,它还远未达到生产级标准,缺少测试套件、CI/CD 和容器化部署支持。
如果你想快速体验一个可训练的对话模型,或需要一个开箱即用的浏览器自动化订单处理工具,这是一个值得一试的起点。

图1:Seq2Seq 模型训练50%进度时的对话效果演示

图2:Shopping Agent 批量订单分析界面