LangChain 生产落地案例
生产落地案例
案例一:内部制度问答机器人
业务背景:一家几百人规模的公司,制度文件散落在共享盘和多个文档系统里,员工问的问题高度重复——报销标准、假期规则、审批流程。人力部门每天要花大量时间回答同类问题,而且不同人给出的口径还不一致。
怎么用:把制度文档按章节切成片段,用嵌入模型写入 pgvector,与现有 PostgreSQL 复用,不额外引入数据库;检索器设置 k=4 并开启 MMR 做去冗余;用一条 LCEL 链把 Retriever | format_docs 的结果和问题一起送进提示词;提示词要求答案末尾附上引用来源的文件名与章节号;入口挂到企业微信机器人上。
关键配置:temperature=0 让同一问题的答案保持稳定;chunk_size 按制度条目的自然边界来定,而不是机械地按字数切;k=4 是实测出来的,再往上加反而引入无关条款;开启 LangSmith 追踪,把每个问题实际召回的片段都留档。
效果指标:以「回答里带正确出处且内容无误」为口径做统计,上线后大部分常见问题能直接给出可用答案,其余被转人工。因为每条回答都附了出处,员工对结果的信任度明显高于早期不带引用的版本。回答质量的评估靠人工抽样和问题回访,不依赖模型给自己打分。
踩过的坑:最初按固定字数切分,结果一条报销标准被切成两半,两边都召不全,改成按标题层级和条目边界切分后召回质量明显改善。第二个坑是提示词只写了「根据上下文回答」,模型仍会用自己的常识补充细节,后来在系统提示里加上「上下文没有就直说」并配合低温采样才稳住。第三个坑是文件更新后向量库没同步,旧答案继续生效,最后补了一条「文件变更触发重新入库」的流水线才解决。
案例二:工单智能分类与初筛
业务背景:客服工单每天几百条,需要人工判断类别、紧急程度、是否与历史工单重复,再分派到对应小组。人工分派慢,分类口径也因人而异。
怎么用:用结构化输出解析器约束模型直接返回固定字段(类别、紧急度、是否重复、建议处理组),而不是自由文本;对模型不确定的工单,走 LangGraph 的条件边进入「人工确认」节点,确认结果回写后流程继续;对「是否重复」这一项,先用历史工单做向量相似度召回,把最相似的前几条作为参考上下文一起交给模型。
关键配置:解析器用数据模型定义字段与取值范围,模型输出不合法时自动带着错误信息重试;分类任务 temperature=0;召回相似工单时 k 取 3,取值过大会干扰判断;用回调处理器把每次调用的 token 数写进监控面板。
效果指标:分类准确率的评估方式是用一批人工标注过的历史工单做对照,按字段分别统计;同时跟踪「转人工」的比例,因为它直接决定这套系统究竟省下了多少人力。上线后人工只需复核低置信度的部分,分派环节的耗时明显下降。
踩过的坑:一是早期让模型输出自由文本再自己解析,格式稍有偏差整条就废,换成结构化解析器加校验重试后才稳定。二是类别一开始定得太细,模型经常在相邻类别之间摇摆,把类别收敛到少数几个互斥的粗类之后准确率才上来。三是没做限流,促销日工单量翻倍时直接撞上供应商的速率限制,后来加了队列与并发上限。

