一些机械商品市场竞争激烈,消费者在选购和使用过程中面临信息不对称、操作复杂、故障排除困难等问题。传统客服依赖人工坐席,响应慢、成本高、知识覆盖不全。随着大语言模型和 RAG(检索增强生成)技术的成熟,利用 AI Agent 构建 7×24 小时智能客服成为降本增效的行业趋势。本产品面向扫拖一体机器人品牌商与终端用户,覆盖售前选购咨询、售中操作指导、售后故障排除与维护保养四大场景,旨在用 AI 替代传统 FAQ 和人工客服,让用户通过自然语言对话即可获得精准、可追溯来源的解答,同时支持基于用户使用数据自动生成个性化月度报告。
本系统核心功能模块包括:
(1)RAG 智能问答 — 将扫地机器人产品手册、选购指南、故障排除、维护保养等 PDF/TXT 文档通过 ChromaDB 向量化存储,用户提问时自动检索最相关的知识片段,由大模型(qwen3-max)结合检索结果生成精准回答,避免大模型幻觉。
(2)Agent 多工具调用 — 基于 LangGraph 构建 ReAct Agent,配备 7 个工具:RAG 知识检索、天气查询、用户定位、用户 ID 识别、当前月份获取、外部 CSV 数据查询、报告上下文填充。Agent 自动根据用户意图选择并调用合适的工具组合。
(3)个性化使用报告生成 — 调用外部用户使用记录(records.csv),结合用户 ID 与月份自动查询用水量、清扫效率、耗材消耗等数据,由大模型生成结构化月度使用报告。
(4)动态提示词切换 — 通过 Middleware 中间件拦截工具调用,当检测到用户请求报告时,自动将系统提示词切换为报告生成专用的提示词模板,实现不同场景的提示词动态调度。
(5)知识库管理 — 支持 TXT/PDF 文档自动加载、分片、向量化,并通过 MD5 去重机制避免重复入库。
我负责的任务: 全栈独立开发,涵盖产品方案设计、技术选型、系统架构搭建、核心代码编写、知识库数据处理与入库、Agent 工具体系设计、中间件拦截逻辑实现、Streamlit 前端界面开发。
技术栈与架构:
前端:Streamlit(Python 原生 Web UI,支持流式渲染)
Agent 框架:LangChain + LangGraph(ReAct 模式,中间件拦截链)
大模型:阿里云百炼 DashScope qwen3-max(对话)+ text-embedding-v4(向量化)
向量数据库:ChromaDB(本地持久化存储)
数据处理:PyPDF + LangChain TextLoader + RecursiveCharacterTextSplitter
配置管理:YAML 驱动(模型名、向量库参数、提示词路径全部配置化)
实现亮点与难点:
流式交互体验:通过 Python Generator 逐 chunk 推送 Agent 回复,配合 Streamlit 的 write_stream 实现打字机效果,每个字符间隔 10ms 模拟真人对话节奏。
中间件三层拦截:wrap_tool_call 监控工具调用并设置上下文标记、before_model 记录模型调用日志、dynamic_prompt 根据上下文标记动态切换提示词——三层解耦,新增场景只需扩展中间件无需改动核心 Agent 逻辑。
RAG 知识去重:通过 MD5 哈希计算文件指纹,持久化到 md5.text,重启服务时自动跳过已入库文件,避免向量库膨胀。
难点:提示词管理 — 通用问答与报告生成需要完全不同的 system prompt 风格,通过 LangGraph Runtime context 传递场景标记实现动态切换,而非在 prompt 内堆砌条件逻辑
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论