链载Ai

标题: 基于 RAG 的 AI 搜索技术实践 [打印本页]

作者: 链载Ai    时间: 前天 22:41
标题: 基于 RAG 的 AI 搜索技术实践
导读本文介绍了基于 RAG 的 AI 搜索技术实践。
今天分享主要包含三部分:


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 1.5px;line-height: 2em;visibility: visible;">1. 搜索演进思路

2. 关键技术落地实践:重点阐述技术点的实际落地方式

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 1.5px;line-height: 2em;">3.总结展望

补充说明:安全合规部分会简要提及,因敏感性不纳入 PPT 总结。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75em;">分享嘉宾|钟啸林NIO(蔚来汽车)搜推算法负责人

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75em;">编辑整理|陈锡杜

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75em;">内容校对|郭慧敏

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75em;">出品社区|DataFun


01


搜索演进思路


1.搜索三个阶段


(1)第一阶段:被动搜索


(2)第二阶段:半主动搜索


(3)第三阶段:主动搜索


2.从被动搜索到主动搜索


(1)被动搜索阶段(第一阶段)的局限


仅提供 “是什么” 的检索与总结(如告知用户车辆有 “运动模式”),无法满足用户 “如何做” 的操作需求(如驾驶模式设置步骤)。


(2)向半主动搜索过渡(第二阶段)的改进


(3)主动搜索阶段(第三阶段)的目标


系统预知用户意图,经用户确认后自动执行后续动作(如监测胎压异常时,主动完成报警、推荐服务并联动车载系统处理)。


(4)当前实践的核心问题与解决方案


02


关键技术落地实践


1.意图识别和请求改写/扩充


(1)添加自定义Token (Add Token):多数开源大模型允许添加自定义Token。这对于处理特定领域的词汇至关重要,例如一些行业术语或特有表达(如讲者提到的“驾象”,作为“代驾”的一种更专业的说法),这些词汇通用大模型往往难以准确理解。通过增添专用Token,能确保模型正确把握这些词汇的特定含义,避免歧义。


(2)监督微调(SFT - Supervised Fine-Tuning):进行常规的监督微调训练。


(3)直接偏好优化(DPO - Direct Preference Optimization):SFT在处理许多“疑难案例”(hard cases)时效果有限——这些案例即便是人工也很难明确归类。DPO作为一种类强化学习的训练方法,能让模型在两个选项(A/B)中学会选择相对更优的一个,从而提升模型的泛化能力。


模型训练完成后,便会部署上线,提供一个在线模型接口。除此之外,我们还建立了一套线上实时干预策略。例如,当业务部门新增一个活动或词汇,而模型在训练阶段未曾见过时,该策略能够通过分钟级统计分析用户交互行为(如用户搜索某新词后总是点击某个特定活动链接)来推断用户意图,进而实时校正线上搜索结果。


在性能方面,最初线上模型的接口响应时间为350毫秒。我们认为对于用户查询(Query)这一初始交互而言,此延迟偏高。为此,我们引入了基于Redis的缓存机制:请求首先访问缓存,若命中,则在10毫秒内直接返回结果;若未命中,再调用耗时350毫秒的实时模型接口。


基于缓存的引入,我们曾考虑是否可以利用一个更大、更精确的模型来生成缓存内容,以期获得更快的线上响应和更准的缓存结果。然而,(讲者示意此方案已调整或放弃)我们发现现有的小尺寸模型已能达到很高的准确率(最新的意图识别模型准确率约96%),因此无需采用更大的模型。当前做法是,小模型直接在线上调用,其结果异步存入缓存,这样做也保证了数据的一致性,避免了使用多模型可能导致的结果不一致问题。


关于提示工程(Prompt Design),我们认为其整体设计与定义相对直接。而在DPO训练的样本设计方面,我们会筛选出“疑难案例”,并将其构建为“采纳”(chosen)与“舍弃”(rejected)的样本对,用以指导模型学习正确的偏好。


最终,我们线上服务的平均响应时间(AVG)控制在250毫秒左右,表现已相当迅速。在进行压力测试(包含大量长尾请求)时,响应时间可能会略有增加。


2.多模态向量检索


(1)文本向量检索


我们最初致力于实现文本的向量检索。这项通用的文本向量技术旨在覆盖社区资讯、服务等业务场景下特定话术的召回,以及商品信息的检索。为此,我们进行了数月的数据样本生成与聚合工作。


在选择基础模型(Base Model)方面,初期我们选用了当时中文开源领域表现最佳的BGE 1.5模型。目前,我们正在评估GTE模型的新版本(此版本尚在离线评估,未正式上线)。针对BGE版本,我们选取了最优模型,并在内部的召回率(Hit Rate)测试中验证了其最佳效果后采纳。


样本积累主要通过三种途径:线上疑难案例(case)的挖掘、规则生成以及人工标注。基于这些累积的大量样本,我们进行了模型训练。训练过程中,我们注重样本多样性的调控,确保不同业务类型的样本数量按比例分配。训练方法上,主要采用批量内负采样(in-batch negative sampling)策略,并结合对比学习损失函数(contrastive loss)等方法。训练完成后,模型在各个业务领域的测试集上,召回率基本都能达到95%左右。我们还进行了线上A/B实验,在其他条件一致的情况下,仅替换向量模型,也观察到了显著的指标提升。


(2)文本检索的局限与多模态的需求


尽管文本向量检索模型取得了良好效果,但我们发现仍存在一些问题无法解决:


这些因素促使我们研发多模态向量检索技术。


(3)图文多模态向量检索的探索


当前阶段,我们主要聚焦于图文形式的跨模态检索技术。我们测试了多种开源模型,其中BLIP-2模型表现相对突出(尽管业界公认谷歌的某模型效果最佳,但其并未开源)。我们选用了一个表现较好的中文多模态模型版本,并利用我们特有的一些图片数据进行测试,效果显著。该模型效果出色的一个主要原因在于其使用了超过两亿张高质量图文对进行训练,因此在我们的业务场景(如充电桩、放电站等特有图片)中也表现良好。


然而,其在特定相关领域的样本仍然不足。为此,我们正积极汇集公司内部所有的UGC(用户生成内容)、PGC(专业生成内容)及其他图片资源,并通过OCR、以及其他辅助手段生成训练样本,以持续优化我们的领域专用多模态模型。


(4)混合检索策略与系统架构


拥有多模态向量模型后,我们在线上实际应用时,并非单纯依赖向量检索,而是保留了传统的文本检索能力。具体实现上,我们主要依托腾讯云Elasticsearch (ES) 8.x版本的向量搜索平台。


之所以同时保留文本检索和向量检索,是因为我们发现:对于高精度、用户输入已非常具体的查询,传统文本检索的效果往往优于向量检索。我们不希望因为引入向量检索而牺牲这类简单、明确场景下的用户体验。


因此,我们的整体检索流程如下:


这构成了从用户请求理解到知识检索阶段的完整链路。


3.大模型技术


(1)基座模型的选型和开发思路


选择合适的大型语言模型是首要步骤。我们的考量因素主要包括:


经过筛选对比(如DeepSeek、Kimi以及公司自研的Nomi等模型的开源版本),我们最终选择了Qwen作为基础模型。


基于Qwen定制化


所有路径最终都会通过业务指标进行评估。


(2)高质量样本的生成与评估——核心挑战


在大型语言模型训练中,最核心的挑战在于获取高质量的训练样本,而非模型本身(许多优秀模型已开源)。


为解决此问题,我们设计了一个名为“数据生成与评估Agent”的自动化系统:


核心组件:该Agent由两个DeepSeek R1模型构成(经测试,DeepSeek R1在此类任务上效果优于Qwen-7B等其他模型)。


工作流程


其他样本来源:


样本的二次分析与质控:


获取样本后,我们还会利用自研工具进行第二轮分析,主要从以下三方面评估:


数量:是否满足不同模型尺寸的需求(如小模型6000条,大模型1万条),以及各任务类型的样本量是否充足。


多样性


质量


最后进行人工抽样检查。通过上述流程,我们能够相对快速地获取大量高质量的训练样本。


(3)大型语言模型的训练


对于使用开源模型的“调用派”,我们的工作重点在于样本的组合与设计,以及训练参数的调优。


样本组合


Prompt格式探索(以LLaMA-Factory等框架为例):


训练任务与方法


训练参数调整:可调参数不多,主要包括Epochs、Learning Rate等。核心依然是拥有高质量的样本数据。


通过精心的样本准备和恰当的训练策略,即便基于开源模型,也能训练出表现优异的领域专用大模型。


4.数据流转与RAG系统持续优化机制


数据挖掘阶段(补足供给短板):当用户请求进入后,系统会分析当前内容供给中存在的不足之处。通过各类数据挖掘手段,补充缺失的内容供给,以此弥补RAG系统在知识覆盖上的短板。


内容生成后的线上反馈与优化循环:


5.数据时序关系


该系统采用Agent化的架构进行服务,其交互流程如下:


用户请求与意图识别:


信息召回:


Agent调用与结果选择(多Agent协作):


流式输出:为提升用户体验(鉴于大模型响应可能较慢),Agent的回复内容采用流式数据的方式逐步返回给用户。


增强信息与服务引导:


这构成了从数据采集、反馈优化到实时Agent交互与服务提供的完整闭环。


03


总结展望


1. RAG落地过程中的核心经验


2.对于大模型技术的未来趋势







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5