当前位置: 首页 > news >正文

商家平台AI智能搜索工程实践|RAG|向量检索增强

业务场景

商家在商家平台输入搜索词,需要根据平台内容生态返回合理的检索答案。
在这里插入图片描述

价值:提升用户体验

  1. ​解决语义鸿沟痛点:​通过Embedding模型理解深层语义,召回相关性提升40%+
  2. 复杂推理与信息整合​:自动综合多个来源生成结论,生成结构化答案

工程架构

在这里插入图片描述

数据模型

问答对语义表:
主键|问题|答案|关联的文章ID|文章版本|预期态(符合、不符合、反馈审核中)|反馈原因|反馈人

问答对向量表:
主键|问答对语义ID|向量集合|权重|逻辑删除

用户搜索历史表: 主键|用户ID|搜索词|会话ID|搜索结果|问答对来源|是否符合预期|用户反馈意见

技术挑战

拆分问答对

运营同学发布电商平台规则或者文章时,需要将文章拆解问答对,然后将问答对mapping成向量,转储至向量数据库中。

难点

  1. 文章太长,LLM拆解过慢,甚至会超时,导致分词失败。
  2. 文章内容包括长文本和表格以及图片等,不同的LLM处理的效率和质量也不同。
  3. 针对文章进行分段处理后,会导致上下文语义终中断,导致分词质量降低,召回率降低。

解决方案

  1. 将文章进行分段处理,分段之后,通过线程池并发拆解各个文章段的问答对,提高处理效率。
  2. 分段之后,判断表格和文字的权重占比,表格大,优先使用doubao大模型,长文本优先使用deepseek大模型,做好容错和降级处理。
  3. 为了避免语义中断,事前可将文章的标题、概要通过LLM提取出来,一并交给大模型进行拆解问答对,降低语义中断的可能。

语义漂移

用户的搜索词可能会和问答对数据库中的数据存在表述差异,导致召回率降低。

事前:拆解问答对之后,通过答案反推可能的问题,一并存入问答对数据库和向量数据库。
事中:可以通过多轮问答,让LLM揣摩用户的语义,逐渐逼近问答对数据库中的数据。
事后:如果没有匹配到向量,或者生成的答案不符合预期,可人工或系统异步生成同义词或相近词。

大模型幻觉

通过RAG架构,很大程度解决掉了LLM幻觉问题,为了严格避免幻觉问题,在生成问答对的时候,可异步实时校验问答对和原文章的匹配程度,也可每天巡检,降低脏数据。

向量数据库如何优化

关于向量数据库索引的选择:HNSW(分层导航地图世界)。

​调优技巧​:优先固定M(如32),逐步增加efConstruction直到召回率达标

  1. ​M​(最大连接数) 控制节点邻居数,决定图的连通性 默认16-48 高召回需求(如医疗问答)选32+高维数据(>768维)需增至40+ ↑M → 精度↑、内存占用↑、构建时间↑

  2. ​efConstruction​(构建候选集) 控制索引质量,影响节点选择范围 范围200-2000: 百万级数据:ef=400,十亿级数据:ef=2000 ↑efC → 召回率↑、构建耗时指数级↑

  3. ​m_L​(层分配概率) 控制节点出现在高层的概率 经验值:1/ln(M),通常取0.62-0.75 ↓m_L → 搜索路径变长但内存↓

关于向量维度的选择:128维,通过维度设定和召回率来衡量。

存储数据结构:字符串(“0.1234,0.6543,0.7543…”),底层存储可mapping成int或者二进制,节省内存开销。

match:针对标量和向量的检索,为了避免向量范围太大而过滤掉标量条件,在语法树阶段,可调整标量和向量的处理顺序,提升召回率。

如何提升召回率

RAG全链路各个阶段提升召回率的措施

  1. 拆解问答对阶段:通过文章分段、上下文语义关联、答案反推问题、实时/定时巡检问答对是否符合语义
  2. 用户搜索阶段:多轮问答、数据集整合、用户反馈
  3. 数据标注阶段:通过用户反馈、运营巡检,标注错误问答对,进行分析
  4. 提示词阶段:通过业务演进进行提示词调优

提示词

事前:设定角色
事中:规划任务思维链、任务细节
事后:风控、校验、输出

http://www.dtcms.com/a/239400.html

相关文章:

  • 理解世界如淦泽,穿透黑幕需老谋
  • 通信之光端机
  • 行李箱检测数据集VOC+YOLO格式2083张1类别
  • HDD可靠性与故障率的影响因素评估
  • 设计模式学习
  • 大模型面试题:大模型训练过程中如何估计显卡利用率?
  • 01Linux基础入门教程——从起源到核心概念
  • OD 算法题 B卷【删除字符串中出现次数最少的字符】
  • 《最短路(Floyd)》题集
  • 面壁智能推出 MiniCPM 4.0 端侧大模型,引领端侧智能新变革
  • 矢状位片不可用怎么办?前后位测量方法评估骨盆倾斜角!
  • SpringMVC简介
  • 【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
  • AD学习(2)
  • Cinnamon修改面板小工具图标
  • 【整数逐位除法求余补〇完整版】2022-4-11
  • 代码审计 BlueCms SQL注入
  • Power Query动态追加查询(不同工作簿下)
  • JLINK脚本初始化外部SDRAM STM32H7
  • 高等数学 | 第八章-向量值函数的积分与场论
  • LLMs 系列科普文(10)
  • 贝叶斯医学分析中“先验”的如何进行选择(文献解读)
  • UVM验证—第一课:方法学&类库&工厂
  • 基于PTN传输承载的4G网络-故障未连接...(我不理解哪错了排查了几遍没发现哪错啊啊啊啊)
  • GNSS高精度定位之-----星基差分
  • YooAsset 2.3.9版本 示例教程运行
  • RPG23.应用武器伤害(一):设置武器命中
  • 第八章 信息安全基础知识
  • 【量化】策略交易 - 均线策略(Moving Average Strategy)
  • 智慧园区管理平台