大模型学习笔记 - 第一期 - Milvus向量数据库

大模型学习笔记 - 向量数据库

目录

传统文字检索(无嵌入)面临的困境

1. 用户和商户表述差异

​ 如果商户维护了一个名为"带宠物"的设施服务标签,如果有一部分用户的输入是"能够带宠物",相关的设施服务和酒店就无法被搜索到。


用户和商户表述差异示例图

2. 不同语种的表述差异

  • 当语种不同的时候,相同意思的搜索可能检测不到。


不同语种的表述差异示例图

3. 不同背景下的音译表述差异

  • 由于音译表述的差异,用户可能使用不同的拼写或注音来搜索同一个词或短语,如果搜索引擎无法正确理解用户的音译表述,用户换一种音译翻译词搜索就无法找到相应的结果。


不同背景下的音译表述差异示例图

向量检索

  • 对于上述的这些问题,通常尝试的是对一些词的额外可能会搜索的词也进行维护(也就是各类同义词等等),但是这样的工程量非常大,所以想着尝试一些其他方式。
  • 通过上面的问题分析,可以看到,携程酒店搜索面临着泛化召回和模糊召回的场景需求。为了能够满足需求,团队考虑了使用向量查询 来帮助实现更准确的搜索。向量查询是一种基于向量空间模型 的信息检索方法,其基本思想是将查询和文档表示为向量,通过计算它们之间的相似度来确定匹配程度,以此来召回与查询最相关的文档。


向量检索的测试结果

  • 通过上面的一些测试示例,可以发现,对于计算向量之间的距离(相似度)等方式进行检索,可以做到比较精准的查询,哪怕表述存在不同。

向量化服务

向量化服务主要包含三个方面的工作,即在线向量服务、实体数据离线向量化和向量化召回服务。

在线向量服务:通过文本在线向量化服务,用户可以将文本数据转换为数值向量表示,从而方便进行文本相似度计算等任务。使用的是 multilingual-e5 预训练的文本向量模型,可以直接使用这些模型进行文本向量化,无需自行训练。

实体数据离线向量化:该服务将实体数据转化为向量形式并做持久化,以便后续的向量检索和召回使用。


向量的离线存储示例

向量化召回服务:向量化召回服务会对召回的向量会进行相关的依赖检查,确保召回的实体满足业务需求。最终,该服务会返回 TOPK 个最相似的满足依赖检查的实体。


用户使用召回示例

参考

用户案例分析:用户案例|向量引擎在携程酒店搜索中的应用场景和探索 - Zilliz 向量数据库

b站视频:大模型落地,你必须要懂的Milvus向量数据库_哔哩哔哩_bilibili

相关推荐
深圳雨林凯AI40 分钟前
图案裂变的“风格归一化“设计思路:主体保得住,画风才拉得齐|雨林凯AI技术笔记
人工智能·笔记
北域码匠41 分钟前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
问天_观心1 小时前
大模型微调学习(二)
人工智能·python·深度学习·学习·语言模型·transformer
指掀涛澜天下惊1 小时前
强化学习进阶篇八 策略梯度算法
深度学习·学习·算法·强化学习
乌萨奇也要立志学C++1 小时前
【洛谷】kmp算法
开发语言·算法
禹凕1 小时前
Dijkstra算法详解与应用
python·算法
star learning white1 小时前
STM32入门学习5
stm32·嵌入式硬件·学习
传奇开心果编程1 小时前
【Rust入门知识点学与练】第4课:条件判断 if / else
开发语言·学习·rust
lifallen2 小时前
Skill 的生命周期:问题消失以后
人工智能·学习·ai·ai编程
千谦阙听2 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习