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

embedded/2025/1/20 16:35:46/

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

目录

  • 大模型学习笔记 - 向量数据库
  • 传统文字检索(无嵌入)面临的困境
    • 1. 用户和商户表述差异
    • 2. 不同语种的表述差异
    • 3. 不同背景下的音译表述差异
  • 向量检索
    • 向量化服务
  • 参考

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

1. 用户和商户表述差异

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

在这里插入图片描述

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

2. 不同语种的表述差异

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

在这里插入图片描述

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

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

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

在这里插入图片描述

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

向量检索

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

在这里插入图片描述

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

向量化服务

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

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

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

在这里插入图片描述

向量的离线存储示例

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

在这里插入图片描述

用户使用召回示例

参考

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

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


http://www.ppmy.cn/embedded/155528.html

相关文章

【Django自学】Django入门:如何使用django开发一个web项目(非常详细)

测试机器:windows11 x64 python版本:3.11 一、安装Django 安装步骤非常简单,使用pip安装就行 pip install django安装完成之后,python的 Scripts 文件夹下,会多一个 django-admin.exe (管理创建django项目的工具)。…

【云岚到家】-day02-客户管理-认证授权

第二章 客户管理 1.认证模块 1.1 需求分析 1.基础概念 一般情况有用户交互的项目都有认证授权功能,首先我们要搞清楚两个概念:认证和授权 认证: 就是校验用户的身份是否合法,常见的认证方式有账号密码登录、手机验证码登录等 授权:则是该用…

【谢希仁-第八版】计算机网络 ——第四章习题全解

4-01 网络层向上提供的服务有哪两种?试比较其优缺点? 虚电路服务和数据报服务。 虚电路 优点: 1.可以提供可靠的通信服务 2.因为数据是沿着建立的虚电路进行传输的,因此分组的首部不需要携带完整的目的主机 的地址&#…

力扣9-找出字符串中第一个匹配项的下标

一.题目 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:hay…

Socket编程和TCP协议实现

目录 什么是SocketSocket的特点网络通信三要素Socket和TCP的关系Socket编程的流程Socket 函数socket()函数原型参数详解返回值参数举例 Socket重要数据结构和函数解析sockaddr_in结构体sockaddr_in结构体定义 bind函数函数原型参数详解为什么需要bind() listen函数函数原型参数…

数字图像处理:实验二

任务一: 将不同像素(32、64和256)的原图像放大为像素大 小为1024*1024的图像(图像自选) 要求:1)输出一幅图,该图包含六幅子图,第一排是原图,第 二排是对应放大…

使用插件时的注意事项

在使用插件时,需要注意一些关键事项,确保插件能够稳定、安全地工作,并且不会给系统带来风险或负担。以下是使用插件时需要注意的几个重要方面: 1. 插件来源与信任度 官方渠道与可靠来源:总是选择来自官方网站、知名平…

C# 控制打印机:从入门到实践

在开发一些涉及打印功能的应用程序时,使用 C# 控制打印机是一项很实用的技能。这篇文章就来详细介绍下如何在 C# 中实现对打印机的控制。 一、准备工作 安装相关库:在 C# 中操作打印机,我们可以借助System.Drawing.Printing命名空间&#x…