面向实时智能客服场景的RAG问答系统应用

程序员咋不秃头 2024-09-12 03:30:23

前言

这篇文章探讨了如何在工业环境中利用大型语言模型(LLMs)进行问题回答,特别是针对客服场景提供上下文相关的响应预测。然而,为了在行业环境中针对特定客户查询提供精确和相关的信息,LLMs需要访问全面的知识库以避免产生幻觉。面对这个问题,RAG技术应运而生。然而,使用RAG开发实际应用中的问答框架仍面临几个挑战:1)数据可用性问题,2)生成内容质量的评估,3)昂贵的人工评估成本。文章提出了一个端到端的RAG框架,用于解决工业环境中的问题回答问题。

响应预测系统示例

A部分:当用户提出一个有效的查询时,系统会检索相关的文档,并从中生成适当的响应供代理选择。代理可以直接使用生成的响应,点击即可。B部分:对于超出领域范围的查询,系统会引导用户提出相关的问题。

传统客服场景与文章提出系统对比

A部分:手动搜索相关文档来响应查询。B部分:基于BERT的系统,该系统从给定查询中提取相关的问答对,并为代理提供响应建议。C部分:提出的RAG LLM系统,其中LLM检索相关知识库文章,并根据查询和检索到的文章生成答案。方法

端到端的RAG框架

数据集

构建一个包含领域特定问题和对应答案的知识库文档的数据集。然后,利用LLM从公司文档中生成相关的问题-答案对,并从开源数据集中补充域外问题和答案。

RAG

RAG架构的主要组件包括检索器和生成器。检索器从知识库中检索相关文档,生成器则利用这些文档和历史聊天记录生成响应建议。

检索器

向量嵌入:使用不同的嵌入模型来表示查询和文档,以便计算它们之间的相似度。比较了Universal Sentence Encoder (USE)、Google的Vertex AI嵌入模型和SBERT-all-mpnet-base-v2等嵌入策略。实验结果表明,Vertex AI-textembedding-gecko@001(768)嵌入与ScaNN检索结合效果最佳。

检索策略:测试了多种检索算法,包括ScaNN和KNN HNSW。ScaNN因其在大规模数据集上的高效处理和高检索准确性而被选用。设置了不同的检索阈值,以确保不相关的文档不会被检索并传递给生成器。

生成器

LLM使用PaLM2基础模型(text-bison, text-unicorn)进行文本生成,确保在企业许可和安全要求方面具有优势。

实验

ScaNN检索器在大多数情况下优于KNN HNSW,Vertex AI嵌入模型在捕捉复杂语义关系方面表现最佳。设置检索阈值为0.7可以有效减少不必要的文档检索,提高响应生成效率。

RAG LLM在准确性、幻觉率和缺失率方面均优于现有的BERT模型。

总结

这篇文章主要介绍了RAG在传统智能客服场景的一个应用,减轻人工客服的工作负担。结果表明,检索相关知识库文档并利用LLMs生成响应比BERT响应更具上下文相关性和准确性。

0 阅读:3