基于大模型搭建运力业务的“小红书”
作者:京东物流 朱飞
一、背景·问题
1、职能人员(运营管理人员)日常工作所涉及的知识信息包括业务最新SOP、发文、操作手册等,获取渠道较分散,很多都依靠线下传递(发邮件、咚咚分享等),目前运力业务各种Sop、操作手册等文档上千个,累计文字过百万,缺乏统一查询入口,需要花费较高的时间成本去获取,耗时且体验较差
2、一线作业人员遇到常见系统问题时主要咨询值班小秘和对接的系统人员,很多共性问题需要重复多次解答,面对一线不同用户的高频问题需要重复沟通,咨询量较大的时候无法及时响应并且沟通成本高
3、各级管理者核心关注的报表数据缺少统一的查询工具入口,目前有通过工作台查看的,有通过EasyBi报表查看的,有通过Udata报表查询的等,数据查看存在难度,并且指标体系数量比较大,部分指标是通用型的指标数据,查询链路长,不能快速的、直接的定位到所关心的结果,并且指标体系需要用户主动查看才能看到相关问题,缺少核心数据指标恶化的主动推送
4、从协作层面来说,针对一些临时性的信息,缺少统一的对外通知渠道,不能及时通知相关人员,造成问题的持续发酵和影响(例如当我们发现一个异常正在进行处理的时候,区域反复找过来咨询),比如上线公告、调研问卷等主动和一线交互的内容没有统一的出口
5、从体验层面来说,现在运力相关资料获取、数据查询等操作大部分是PC端执行,缺少便携的移动端功能,一线人员不在电脑前时信息查询不方便
二、措施·目标
基于大模型搭建运力智能机器人“运力小智”,定位是一个集知识问答、数据分析功能于一体的便携式知识百科信息问答平台。它以运力平台日常工作所涉及的内容为核心,涵盖了业务SOP、常见系统问题、操作手册、实时类信息查询(天气、安全)、报表查询、数据分析等多项内容,致力于帮助运力用户(内部运营岗位、承运商、司机)更便捷、高效的获取有效信息,并通过大模型能力持续赋能,为用户提供个性化的推荐和良好的用户体验,减少用户获取知识的成本以及减少异常等问题的管理难度。
从使用频次、大模型赋能的技术特点,针对一线人员和管理人员的痛点,并调研其他事业部等情况,结合运力自身业务特点综合考虑,运力机器人功能建设应用在以下两个方向推进:
与其他事业部智能机器人相比,一方面,通过内、外部的途径建立运力垂直领域丰富的知识、数据信息库,另外一方面,集成智能问答和数据分析为一体,统一入口,丰富机器人能力,减少用户查询成本
运力小智一共进行两个大版本的上线,升级内容如下
能力 | V1.0 | V2.0 |
特点 | 用户:部分管理者和有数据诉求的人 功能:仅适用于简单搜索工作台链接,不能主动触达用户 | 用户:目标人群为运力平台全体 功能:已具备功能包括指标即时分析查询、系统指南、知识库、轨迹即时查询等,并具备一定主动触达能力,功能扩展到实际运营和调度岗位。 |
语义理解方面 | 对用户得提问有比较高得要求,需要使用非常标准的话术,机器人才能理解 | 在大模型能力赋能下,可以更好得理解用户得提问,对于相似语义得理解更准确和全面 |
数据查询 | 支持部分指标查询 | 支持进行体验、效率指标的多维度查询 |
知识查询 | 常用日报、看板查询 | 常用日报、看板查询 TMS系统指南 操作手册 业务sop 轨迹查询 行驶证查询 小秘常见问题 |
报表推送 | 不支持 | 通过和udata工具结合,支持进行报表的定时推送、预警推送 |
上线报告/调查问卷推送 | 不支持 | 支持上线报告/调查问卷推送 |
三、实现细节
1、知识问答
知识问答部分借助开源框架langchain和集团提供的大模型功能接口,实现了RAG问答机器人。这部分主要包括知识库的建立和知识问答两个部分。
下面是技术细节,并对其中的重要技术给出示例说明。
1、知识库的构建
知识库的构建实际上包括两个主要部分:知识的生成和知识库的存储。知识库的质量是问答系统效果的基础因素。在本项目中,根据具体需求分别建立了问答(QA)知识库和文档知识库。
传统的运力机器人已经积累了大量的QA对,基于这些现有数据构建QA知识库,依然采用QA对的形式。此外,QA知识库的数据来源还包括两个方面:一是利用大模型从文档中抽取相关信息,二是通过分析机器人的问答日志并结合人工标注进行收集。QA类的知识在问答环节具有更高的准确性。与QA对相比,文档知识库主要包含各种类型的文档,格式包括PDF、DOCX和PPTX等。从问答质量的角度来看,文档知识库的质量可能不如QA知识库,但其数量庞大,且人工运营成本更低。文档知识库不需要将内容整理成QA对,只需将文档转换为文本格式并进行存储。通过这两种知识库的建立,可以在保证问答系统质量的同时,大幅降低人工运营成本,提高系统的整体效率和实用性。
两种知识库建立之后,为了下游的(相似度)算法使用,均需要将待检索/待召回文本转为向量,存储在向量数据库中,此项目中选择的是京东的Vearch库。
在文档转纯文本这个步骤中,对文档中内容的解析质量是至关重要的,包括对文档中表格内容的解析。此项目基于开源PDF解析框架进行了二次开发,解析了PDF中的章节信息,并将PDF中的表格内容进行了结构化抽取和处理,最终提升了下游生产出的知识质量。PDF的解析结果和PDF中的表格解析示例如下。
如下:PDF的解析后的结构化结果,保留了页眉、页脚、章节信息等。正文内容被保存到了多个文本块中,每个文本块中记录了当前文本块的内容、类型(text/table)、段落id、句子id、章节id等
{
"metadata": { # 文档级元信息
"footers": [], # 页脚
"headers": [], # 页眉
"catalogs": [] # 目录
},
"chapters": { # 章节信息
"1": "[CHAPTER_ROOT]",
"1.1": "第一条 xxx",
"1.2": "第二条 xxxx",
"1.3": "第三条 xxxx"
},
"context": [ # 内容信息
{ # 文本块
"text": "JDLxxxx规定",
"type": "text",
"pid": 1,
"sid": 1,
"metadata": {
"section_range": []
},
"cid": "1"
},
......