01 背景·问题 1、职能人员(运营管理人员)日常工作所涉及的知识信息包括业务最新SOP、发文、操作手册等,获取渠道较分散,很多都依靠线下传递(发邮件、咚咚分享等),目前运力业务各种Sop、操作手册等文档上千个,累计文字过百万,缺乏统一查询入口,需要花费较高的时间成本去获取,耗时且体验较差
2、一线作业人员遇到常见系统问题时主要咨询值班小秘和对接的系统人员,很多共性问题需要重复多次解答,面对一线不同用户的高频问题需要重复沟通,咨询量较大的时候无法及时响应并且沟通成本高 3、各级管理者核心关注的报表数据缺少统一的查询工具入口,目前有通过工作台查看的,有通过EasyBi报表查看的,有通过Udata报表查询的等,数据查看存在难度,并且指标体系数量比较大,部分指标是通用型的指标数据,查询链路长,不能快速的、直接的定位到所关心的结果,并且指标体系需要用户主动查看才能看到相关问题,缺少核心数据指标恶化的主动推送 4、从协作层面来说,针对一些临时性的信息,缺少统一的对外通知渠道,不能及时通知相关人员,造成问题的持续发酵和影响(例如当我们发现一个异常正在进行处理的时候,区域反复找过来咨询),比如上线公告、调研问卷等主动和一线交互的内容没有统一的出口 5、从体验层面来说,现在运力相关资料获取、数据查询等操作大部分是PC端执行,缺少便携的移动端功能,一线人员不在电脑前时信息查询不方便 02 措施·目标
1、职能人员(运营管理人员)日常工作所涉及的知识信息包括业务最新SOP、发文、操作手册等,获取渠道较分散,很多都依靠线下传递(发邮件、咚咚分享等),目前运力业务各种Sop、操作手册等文档上千个,累计文字过百万,缺乏统一查询入口,需要花费较高的时间成本去获取,耗时且体验较差
措施·目标
• 智能主动预警:除了支持个人用户以及群聊用户主动搜索进行对话以外,还支持面向m端/pc端指定用户、特定群组,主动发送单聊消息、语音信息(例如定时或固定周期发送报告、识别到的异常信息等)进行提示预警,让问题主动、及时的触达主责用户。
运力小智一共进行两个大版本的上线,升级内容如下
能力 | V1.0 | V2.0 |
特点 | 用户:部分管理者和有数据诉求的人 功能:仅适用于简单搜索工作台链接,不能主动触达用户 | 用户:目标人群为运力平台全体 功能:已具备功能包括指标即时分析查询、系统指南、知识库、轨迹即时查询等,并具备一定主动触达能力,功能扩展到实际运营和调度岗位。 |
语义理解方面 | 对用户得提问有比较高得要求,需要使用非常标准的话术,机器人才能理解 | 在大模型能力赋能下,可以更好得理解用户得提问,对于相似语义得理解更准确和全面 |
数据查询 | 支持部分指标查询 | 支持进行体验、效率指标的多维度查询 |
知识查询 | 常用日报、看板查询 | 常用日报、看板查询 TMS系统指南 操作手册 业务sop 轨迹查询 行驶证查询 小秘常见问题 |
报表推送 | 不支持 | 通过和udata工具结合,支持进行报表的定时推送、预警推送 |
上线报告/调查问卷推送 | 不支持 | 支持上线报告/调查问卷推送 |
实现细节
1、知识问答
如下: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"
},
......
]
}
{
"text": [
[[0, 0, 1, 1], "名称"],
[[0, 1, 1, 2], "尺寸"],
[[0, 2, 1, 3], "三层加强材质"],
[[0, 3, 1, 4], "售价"],
[[0, 4, 1, 5], "三层特硬材质"],
[[0, 5, 1, 6], "售价"],
[[0, 6, 1, 7], "五层材质"],
[[0, 7, 1, 8], "售价"],
[[0, 8, 2, 9], "单卷纸生产量"],
[[1, 0, 2, 1], "1号纸箱"],
[[1, 1, 2, 2], "530*290*370"],
[[1, 2, 2, 3], "130/140C/130"],
[[1, 3, 2, 4], ""],
[[1, 4, 2, 5], "160/160C/160"],
[[1, 5, 2, 6], "3.50"],
[[1, 6, 2, 7], "140/110B/90/110C/140"],
[[1, 7, 2, 8], "3.89"],
......
],
"type": "table",
"pid": 89,
"sid": 111,
"metadata": {"section_range": []},
"cid": "1.8",
}
2)问答结果召回
基于RAG的知识问答流程是比较固定的:根据问题召回知识,将问题、知识、问答历史等内容拼接为大模型prompt,使用大模型进行回答。此项目中,我们额外添加了问题重新生成环节:根据问答历史对本轮问题进行重新生成,使重新生成的问题在知识相似度召回时具有更好的效果。这部分使用langchain的精简问题链实现,一段示例代码如下。
from langchain import PromptTemplate
from langchain.chains import LLMChain
from langchain.chat_models import ChatOpenAI
def get_condense_question_chain(self):
"""精简问题链"""
CONDENSE_QUESTION_PROMPT = PromptTemplate.from_template(
"""给定历史对话和一个后续问题,将后续问题改写为一个标准问题,用其原始语言,确保避免使用任何不清晰的代词。
历史对话:
{chat_history}
后续输入: {question}
标准问题:"""
)
condense_question_chain = LLMChain(
llm=ChatOpenAI(
model="",
temperature="",
openai_api_key="",
openai_api_base="",
),
prompt=CONDENSE_QUESTION_PROMPT,
)
return condense_question_chain
2、数据分析
在数据集市生产过程中,由于生产逻辑的多变和不确定性,导致指标在不同时间粒度和下钻维度组合的情况下,统计逻辑有一定共性但难以完全复用。为了平衡逻辑模型的标准化与字段治理效率,定义了一套基于指标技术元数据衍生模型资产的编织规范。在无需额外的人力干预和物理资源投入的前提下,实现自动化生成覆盖任意时间粒度和业务维度的逻辑模型。
{
"uid": "742250d1dd9f457aa",
"name": "离线_低装载线路占比_日_3",
"nodes": [
{
"id": "98579cdb14b44423ace0",
"data": {
"viewUid": "e246257e141e4fe78",
"viewSql": "SELECT dt, trans_type_new_name AS trans_type_name , -- 线路类型 transport_org_name, -- 区域 business_type_name, -- 业务类型 team_name, -- 车队 changtu_group, --长途组 low_loading_plink_cnt, plink_cnt FROM bdp_app.app_dis_tsc_product_low_loading_new_sum_d WHERE date_type = 1 AND begin_node_name = '全部' AND add1 = '全部' AND add2 = '全部' AND tail_type = '全部' AND plink = '全部' AND trans_type_old_name = '全部' UNION ALL SELECT dt, trans_type_name, transport_org_name, business_type_name, team_name, changtu_group, low_loading_plink_cnt, plink_cnt FROM bdp_app.app_dis_tsc_product_chuanbai_low_loading_rate_sum_d WHERE date_type = 1"
},
"type": "fact"
}
],
"where": "trans_type_name <> '全部' AND transport_org_name <> '全部' AND business_type_name <> '全部' AND team_name = '全部' AND changtu_group = '全部'",
"measures": [
{
"id": 99,
"names": [
"低装载线路占比"
],
"sql": "SUM(low_loading_plink_cnt)/SUM(plink_cnt)",
"type": "float",
"format": "percentage",
"sort": 1
}
],
"dimensions": [
{
"id": 1,
"names": [
"区域"
],
"field": "transport_org_name",
"type": "str",
"format": "text",
"description": "区域"
},
{
"id": 5,
"names": [
"线路类型"
],
"field": "trans_type_name",
"type": "str",
"format": "text",
"description": "线路类型"
},
{
"id": 12,
"names": [
"业务类型"
],
"field": "business_type_name",
"type": "str",
"format": "text",
"description": "业务类型"
}
],
"timeSeries": [
{
"id": 1,
"names": [
"日",
"日期",
"天"
],
"field": "dt",
"type": "yyyy-mm-dd",
"format": "date"
}
]
"operator": "liuyanchen9",
"updatedAt": 1714112126
}
2)基于模型元数据萃取统一语义知识图谱
血缘推理Agent原子能力:
指标
维度&标签
维度值
逻辑模型
视图
物理表
自然语言问询转OLAP
指标波动归因
3、功能融合
功能一:指标查询
产品覆盖的指标范围简单介绍:
体验类指标:公路到达准点率、航空到达准点率、铁路到达准点率以及他们对应的解耦指标等
效率类指标:车次管控、到车车次货量、大车型占比、装载率、车均单量、自营车效率等
运力小智正确打开方式:
(1)京ME中直接搜索”运力小智“或在群聊中直接艾特”运力小智“
【例如】:
1月西南干线装载率
12月西南每个车队的装载率,折线图
准点率最高的2个区域
从苏州昆山退货组到南京退货组公路到达准点率
北京长途组的公路到达准点率
功能二:知识问答
产品覆盖内容简单介绍:
常用日报链接:运营日报,损益日报、时效日报、年货节日报
系统网址:TMS常用网页查询
TMS系统指南:日常咨询的运输小秘的频率较高的问题
运力小智正确打开方式:
(1)京ME中直接搜索”运力小智“或在群聊中直接艾特”运力小智“
常用日报链接:
运营日报
损益日报
时效日报
年货节日报
系统网址:
委托书签收网址
行云
easyBI网址链接
TMS系统指南:
京管家APP在哪下载?
如何清除浏览器缓存?
创建司机失败
TMS系统员工管理新增或修改员工信息时,提示该京东账号已存在
舱位发布后,为啥订舱看不到?
操作手册/sop内容查询:
油耗影响因素有哪些
合同倒签怎么管理
运力全景图
非标准附加费系统操作手册
一线咨询问题快速转化工单,大大提高每日值班人员手动录入工单的效率
功能三:特定场景-轨迹查询
运力小智正确打开方式:
(1)京ME中直接搜索”运力小智“或在群聊中直接艾特”运力小智“
例如:TW24042503278457的轨迹
功能四:特定场景-行驶证图片查询
运力小智正确打开方式:
(1)京ME中直接搜索”运力小智“或在群聊中直接艾特”运力小智“
功能五:报表推送
产品覆盖内容简单介绍:
1.定时推送:业务关注的数据结果现可以通过京ME推送定时触达到群,收到的推送内容为全量信息;
如何进行相关配置:
1、Udata报表中心,先选择要推送的报表,选择右边的推送设置选择【京ME】-选择想要的推送方式
2、选择推送方式:定时推送or预警推送
定时推送:
🔔特别说明:如果还是不会配置可参考配置页面最上方的教学视频哦
功能六:信息主动推送
支持每周上线公告、调研问卷等信息主动推送
从使用情况来看:
使用人数和咨询次数逐步提升,当前每周活跃用户保持在50~100左右,咨询次数大于500+,覆盖总部九大区共154个组织,咨询人数347人,共68个岗位。
从用户体验来看:
调度、精益改善相关岗位的智能人员,每天需要高频的查看派车单轨迹,现在工作台查询轨迹需要4步操作,查询起来需要2~3分钟,现在通过运力小智快速查询简化成一步,查询时间减少为1分钟内,大大提高了轨迹查询的效率,截止当前,轨迹相关咨询次数共1230次,一线人员反馈使用效果比较好
针对一线调度人员,当发生车辆故障、经济纠纷、交通事故等人为在途异常等情况下,需要通过车牌号查车辆注册时间等信息来核查异常,需要对比行驶证信息,另外有些司机上传的图片是PS的,需要通过看照片抓这种PS行驶证的情况。以上两种情况下需要通过车牌号查询对应的行驶证正反面的图片信息,但是运营同事反馈在一些场景下不在电脑旁边时,查询很不方便,需要发给在公司的同事帮忙查询,工作效率低,针对这种情况,现在通过运力小智问答的方式直接返回行驶证信息,查询时间由10分钟减少为1分钟内返回结果。
从成功率来看
知识问答类,一开始用户知识类的发散提问成功率20%~30%,引导用户熟悉使用后,现在用户特定场景的使用率提升,知识问答类成功率达到50%左右。
序号 | 分类 | 内容 | 内容详情 |
1 | 功能扩展 | 上线公告推送功能 | 系统上线公告机器人主动触达推送 |
2 | 高频场景查询功能 | 包括但不限于下列场景 1、航班起降时间查询 2、其他高频场景 | |
3 | 指标颗粒度 | 下探车队、线路维度数据治理 | |
4 | 性能优化 | 语义理解准确性提示 | 1、短期内通过引导用户尽量按照规范的格式提问 2、长期通过对机器人大量的训练以及GPT算法能力的提升来解决 |
5 | 查询定位准确性提升 | 增加后台日志记录,根据上游信息做判断原因后给出业务对应提示,增加问题定位和优化解决速度 | |
6 | 数据查询服务稳定性提升 | 推进集团数据公共服务层面解决 |