写点什么

RAG 驱动的 Copilot 为 Uber 节省了 13,000 个工程小时

作者:Eran Stiller

  • 2024-11-28
    北京
  • 本文字数:1125 字

    阅读完需:约 4 分钟

RAG 驱动的 Copilot 为 Uber 节省了 13,000 个工程小时

Uber 最近详细介绍了它构建 Genie 的经历,这是一款由 AI 驱动的随时待命的 Copilot,旨在提高随时待命的支持工程师的效率。Genie 利用检索增强生成(RAG)技术提供准确的实时响应,并显著提高事件响应的速度和效率。


自 2023 年 9 月推出以来,Genie 对 Uber 的支持团队产生了重大影响。它已在 154 个 Slack 频道中回答了超过 70,000 个问题,节省了大约 13,000 个工程小时,根据用户的评估,其回答有效率为 48.9%。


Uber 的待命工程师通常花费大量时间答复重复的查询或浏览零散的文档,使用户难以独立找到答案。这些情况导致了响应时间过长和生产力下降,这也是构建 Genie 的驱动力。


Uber 使用检索增强生成(RAG)来驱动 Genie。RAG 是一种创新方法,它将信息检索系统的优势与生成式 AI 模型相结合,以产生准确且相关的响应。它让 Uber 可以利用现有知识来源快速部署解决方案,这样就用不着 AI 模型微调所需的大量示例数据了。


Genie 从各种内部来源提取数据,例如 Uber 的 wiki、Stack Overflow 和工程文档。信息被抓取后,使用 OpenAI 模型转换为向量嵌入,并存储在 Uber 的内部向量数据库 Search In Action(SIA)中。Genie 仅从预先批准的数据源提取数据,且不包含敏感数据,以避免泄露敏感信息。


Genie 的整体架构(来源)


当用户在 Slack 中提出问题时,查询会被转换为嵌入,Genie 会使用该嵌入在向量数据库中获取上下文相似的数据。然后它将这些数据输入到大型语言模型中,以根据检索到的信息生成准确的响应。


Uber 实施了一个指标框架,通过持续的实时用户反馈来提高 Genie 的性能。在 Genie 回答问题后,用户可以通过选择“已解决”、“有帮助”或“不相关”等选项来提供反馈。


Genie 的用户反馈流程(来源)


这些反馈通过 Slack 插件收集,并使用 Uber 的内部数据流系统处理,将指标发送到 Hive 表中分析。反馈循环允许 Uber 的团队跟踪 Genie 的帮助有效率,并根据真实的用户体验改进其响应。


对于性能评估,Uber 设计了一个自定义评估管道,用于评估各种指标,例如幻觉率和响应的相关性。该管道处理的是历史数据,包括 Slack 元数据、用户反馈和 Genie 以前的响应。它通过由 LLM 提供支持的评分系统来处理这些数据,用这个系统充当评判者。


Uber 还采用了一套文档评估流程,以保障 Genie 在其响应中检索和使用的信息的质量。系统将抓取的知识库转换为结构化格式,其中一行代表一个文档。


文档评估应用程序的工作流程(来源)


Genie 将这些文档输入带有自定义评估提示的 LLM 来评估每个文档的清晰度、准确性和实用性。然后,LLM 返回分数并提供改进每个文档的可行建议。此过程有助于保持底层文档的高标准,确保 Genie 的响应保持可靠和有效。


查看原文链接:

https://www.infoq.com/news/2024/10/uber-genie-rag-copilot/

2024-11-28 08:038790

评论

发布
暂无评论
发现更多内容

​Java进阶(三十八)快速排序

No Silver Bullet

Java 快速排序 10月月更

工赋开发者社区 | 当PLC与见“IT”:MES/MOM标准之ISA-95基础内容介绍

工赋开发者社区

戏说系统安全(50/100)

hackstoic

系统安全

Web3.0杂谈-#004(51/100)

hackstoic

NFT Web3.0

用任意类型编写代码——一文带你了解泛型编程

宇宙之一粟

Java 泛型编程 10月月更

如何打通 SAP Cloud for Customer 系统和微信公众号的双向消息通信功能

汪子熙

node.js 微信 SAP 微信平台 10月月更

​Java进阶(三十九)Java集合类的排序,查找,替换操作

No Silver Bullet

Java 排序 查找 10月月更 替换

这些js原型及原型链面试题你能做对几道

loveX001

JavaScript

【牛客刷题-算法】2-算法入门-栈的压入、弹出序列

清风莫追

算法 10月月更

存储优化--分区与冷热分离

喵叔

10月月更

16个分论坛出品标准大揭秘,期待你的申请!

开源社

架构师的十八般武艺:线上运维

agnostic

运维

简述构建微服务架构的四大挑战

穿过生命散发芬芳

微服务 10月月更

Docker下,五分钟极速体验机器学习

程序员欣宸

Docker 10月月更

你是如何使用React高阶组件的?

beifeng1996

React

【一Go到底】第一天---初识Goooooooooooooooooooooooo

指剑

Go go并发 10月月更

COSCon'22主论坛来袭 开源站在十字路口

开源社

计算机网络——集线器与交换机的区别

StackOverflow

编程 计算机网络 10月月更

【从0到1学算法】1. 如何获取题中关键信息

Geek_65222d

10月月更

开发者有话说|程序猿工作多年之后的感悟

慕枫技术笔记

个人成长

MyBatis学习笔记之JDBC

薛定谔的猫

mybatis JDBC 10月月更

面试官:高并发场景下,你们是怎么保证数据的一致性的?

一灯架构

Java MySQL 10月月更

数组操作の旋转二维数组

掘金安东尼

算法 10月月更

大数据ELK(十):使用VSCode操作猎聘网职位搜索案例

Lansonli

ELK 10月月更

Collections-Arraylist源码解读(一)

知识浅谈

ArrayList 10月月更

JavaScript中this指向哪儿?如何确定this?-前端面试进阶

loveX001

JavaScript

Python应用之计算三角形面积

芯动大师

10月月更 Python代码 计算三角形面积

2022-10-01:给定一个字符串 s,计算 s 的 不同非空子序列 的个数 因为结果可能很大,所以返回答案需要对 10^9 + 7 取余 。 字符串的 子序列 是经由原字符串删除一些(也可能不删除

福大大架构师每日一题

算法 rust 福大大

工赋开发者社区 | 某大型电子装备总装数字化工厂MES/MOM系统实施

工赋开发者社区

【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现

清风莫追

递归 数据结构与算法、 10月月更

ESP32-C3 学习测试 蓝牙 篇(五、添加 characteristic)

矜辰所致

蓝牙 ESP32-C3 10月月更

RAG 驱动的 Copilot 为 Uber 节省了 13,000 个工程小时_性能优化_InfoQ精选文章