AI大模型实践之字节0-1智能客服 原创
之前朋友做过的智能客服项目,今天整理脱敏出来帮大家做一个项目参考,整个工作流已经细分好,大家跟着自己实操做一遍,完善并且补充自己的项目经历,提高简历的含金量和通过率!
✅ 需求分析:随着 TiDB 和 TiDB Cloud 用户的增长,支持人员数量不足,超过 50% 的用户问题可在官方文档中找到答案,但文档内容繁多,用户难以找到所需信息,因此需要构建集成官方文档知识的机器人。
🛅了解 LLM 的能力与限制:能力:包括理解语义、逻辑推理、尝试回答所有问题、具备通用知识和多轮对话的能力。
🎉限制:被动触发、知识过期、存在细分领域的幻觉、对话长度有限,且本身无法主动发起交互。
⏰需求实现的差距与解决方案:
需求一:采取多轮对话形式,理解用户提问并给出回答,LLM 本身具备此能力。
需求二:回答的内容中关于 TiDB、TiDB Cloud 的内容需要正确无误。通过利用向量数据库的空间相似度搜索功能来实现,具体步骤为:文档预处理与裁剪,将 TiDB 的相关文档转化为干净、易理解的文本格式,并进行裁剪以满足长度需求。
搜索相关文本内容:用户提问时,将对话 Embedding 生成向量,与向量数据库中的预料进行查询,利用相似度算法计算出最相似的领域知识向量,提取文本内容。提供给 LLM 回答:将任务目标、相关领域知识和聊天记录一起提供给 LLM,得到特定回答。.
需求三:不能回答与 TiDB、TiDB Cloud 无关的内容。通过限定领域的判断来实现,包括对用户原始提问进行判断,根据判断结果进行异常流程和正常流程的处理。
问题分析与优化:问题分类:包括不准确的不良(毒性)内容识别、上下文理解失误、语义搜索结果不精确、文档信息不足或过时优化方法:对于不准确的不良(毒性)内容识别,通过收集线上和测试中所有相关问题,进行毒性标记和清洗,放入向量数据库中。让 LLM 模型根据最相关的示例给出准确答案对于上下文理解失误,让 LLM 在系统进行领域知识搜索前对用户的原始提问进行改写,补充详细信息,保证系统面对的用户问题一致对于语义搜索结果不精确,采用直接调整领域内容和提问之间的向量距离或在召回领域知识的内容之外额外召回特定内容的示例的方法,最终选择了不影响原有向量空间、相对解耦且自由度高的方法。
本文转载自公众号数字化助推器 作者:天涯咫尺TGH