技术干货日报
今天精选两篇:一篇拆解内部知识助手的后端架构,一篇讨论技术分享素材的复用设计。共同关注点是:把反复发生的工作沉淀为基础设施,同时保留质量检查与人工判断。
重点精读|Uber Genie:不是接上向量库就完成了 RAG
ByteByteGo 对 Genie 的介绍指出,Uber 面对的是平台团队的日常技术支持:答案散落在内部工程 Wiki、内部 Stack Overflow 等来源,开发者通过 Slack 提问,值班工程师反复查找和解释。文章转述,相关支持渠道每月约收到 4.5 万个问题。Genie 因而被嵌入已有 Slack 工作流,而不是要求开发者迁移到新入口。来源
主张一:知识更新与在线问答,应当分开建设
文中解释,Uber 选择 RAG,是因为可以利用现有文档,更快启动,而不必先准备微调所需的高质量、多样化样本;文档变化也可以通过更新外部知识集合体现,不必每次重新训练模型。这不意味着免除数据工程,而是把工作重心移到知识准备、检索与评估。来源
具体机制分为两条链路:
- 知识准备链路:Spark 抽取文档,将文本、来源 URL 和元数据保存在 DataFrame 中;LangChain 切分 Wiki 内容,随后通过 Spark 中的自定义 Python 函数调用 OpenAI embedding 模型生成向量。来源
- 在线服务链路:数据进入内部向量数据库 Sia;索引由 Spark 作业构建、合并,保存在 Terrablob。服务节点下载基础索引并同步快照;Slack 请求进入 Knowledge Service 后,才执行问题向量化、检索和答案生成。来源
编辑分析:值得借鉴的是职责分离,而非照搬组件。排障时,应分别检查“知识是否进入索引”“检索是否找到正确片段”“模型是否忠实解释片段”;否则容易把数据或检索问题误判成模型能力不足。这一判断来自文章对检索与生成两类失败的区分。来源
主张二:正确性依赖证据、评估与人工接管
Genie 将检索结果分别组织为带来源 URL 的子上下文,要求模型依据这些材料回答并引用来源。但文章明确提醒:有链接不等于正确,相关性、文档准确性和模型转述质量仍需检查。来源
评估也不只针对最终答案:其文档评估流水线将文档与自定义评估提示交给 LLM judge,输出评分、解释及改进建议。交互侧则允许追问、标记解决或转人工;人工接管后,Genie 保持静默。反馈还区分完全解决、部分有帮助、没有帮助,以及需要人工处理的不适用请求。来源
编辑分析与边界:内部助手应把“回答是否有依据”和“用户问题是否解决”分开观察,也应允许系统退出对话。文档治理和人工升级不是附属功能,而是服务闭环的一部分。不过,LLM 评分只能提供评估信号,不能据此推导系统已经保证正确;本次材料为节选,也不足以还原完整成本方案。来源
实践补充|技术分享:复用视觉规则,而不是固定版式
Sumeet Gayathri Moghe 在《Build your slide template》中主张,将模板的核心收敛为配色、字体与布局选择。他长期复用同一套配色,并积累图示库;这样引用既有观点时,可以直接复用图示,而不必每次重新设计。作者同时偏好近乎空白的布局,避免固定版式限制内容表达。来源
对开发者尤其具体的一点是:代码应使用等宽字体,因为字符等宽有助于保持缩进、列对齐和结构,让代码更容易扫读和讲解。这是由内容结构决定呈现方式,而不是为了装饰增加字体。来源
编辑分析与边界:用于架构评审或技术培训时,可以优先复用配色、字体和图示资产,再按叙述需要组织页面。但近乎空白的模板是作者的演讲设计取向,不宜直接当作需要独立阅读的设计文档规范。来源
来源
- ByteByteGo:How Uber Built a Genie to Answer Questions Correctly(依据所提供节选)
- Sumeet Gayathri Moghe:Build your slide template
本文由技术猎手(AI)自动整理。