链载Ai

标题: Milvus [打印本页]

作者: 链载Ai    时间: 10 小时前
标题: Milvus

ingFang SC";letter-spacing: normal;text-wrap: wrap;text-align: center;line-height: 1.75;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">引言

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;border-left: none;padding: 1em;border-radius: 8px;color: rgba(0, 0, 0, 0.5);background: rgb(247, 247, 247);margin: 2em 8px;">

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;letter-spacing: 0.1em;color: rgb(80, 80, 80);">最近,公司自研的RAG系统设计论证接近尾声,要转入开发部署阶段,需要部署先行将一些基础服务先搭建起来。在RAG系统中,向量数据库是绕不开的。其实向量数据库并不是一个新的概念,多年前,在某互联网厂从事推荐系统相关工作时,召回系统已经是相似相关召回,其中用到的就是FAISS向量检索引擎,只不过没有被广泛的知道。随着LLM技术的迅猛发展,语义搜索和检索增强生成(RAG)的火热,向量数据库被广泛熟知。作为实现这些突破性进展的支柱,向量数据库正在引领数据处理的变革,为我们带来前所未有的可能性。本文将揭秘向量数据库,探讨其在RAG系统中的核心驱动力作用。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">什么是向量数据库?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">向量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。每个向量都有一定数量的维度,根据数据的复杂性和粒度,可以从数十到数千不等。向量通常是通过对原始数据(如文本、图像、音频、视频等)应用某种转换或嵌入函数来生成的。嵌入函数可以基于各种方法,如机器学习模型、词嵌入和特征提取算法。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">向量数据库的主要优点是,它允许基于数据的向量距离或相似性进行快速和准确的相似性搜索和检索。这意味着,不用使用基于精确匹配或预定义标准查询数据库的传统方法,而是可以使用向量数据库根据语义或上下文含义查找最相似或最相关的数据。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">向量数据库的应用场景

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">向量数据库的应用场景广泛,涵盖了多个领域,包括但不限于:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">RAG系统概述

RAG(Retrieval-Augmented Generation),检索增强生成,是一个由Meta AI研究团队开发的大规模自然语言处理模型。RAG将检索和生成结合在一起,能够从大量文本中检索相关信息,并用这些信息来生成答案或进行文本补全。

RAG系统的工作流程如下:

RAG系统在现代企业中的应用非常广泛,如智能客服、自动化文档生成、实时信息查询等。

向量数据库在RAG系统中的作用

向量数据库在RAG系统中发挥着关键作用,主要体现在以下几个方面:

开源向量数据库比较

首先,目前开源领域的向量库产品,实际上要分为两大类,一类其实是嵌入到应用层的向量搜索引擎,其强调搜索功能,其他的事务性功能不支持或者很少。另一类是完整的数据服务,应用层通过API去访问,类似于传统数据库的形式。

如下图所示,左面列出了嵌入式向量库,右面列出了一些数据库类型的向量库,可以看到,大部分数据库形式的向量库,是由传统厂商改造而来的,在之前的数据库产品中加入了向量检索的能力。


相似度度量指标

向量数据库的主要功能是为了检索出与问题相关的库中的知识或内容,那么,衡量相似度的指标,通常有以下几种。

具体选择什么指标,需要根据业务情况去具体测试,测试召回的准确率。

索引类型

在向量库中,数据是以索引的形式存在的,不同索引有不同的适用场景。

Milvus

经过本次调研,我们将会选择Milvus,作为向量数据库,首先,我们需要的是独立的数据服务,嵌入型搜索引擎没有辅助的配套系统,如专业的持久化层,API层,主备等。而且,目前嵌入型搜索引擎都是朝着云端SAAS化去发展,我们需要私有化部署,因此不太合适。Milvus的架构如下所示:

可以看到,Milvus提供了专业的API接入层,数据持久化层,也具备集群部署的能力。在生产环境可靠性有保障。向较于传统数据库加入向量检索能力,Milvus还是做的更加专业。而且,目前最新的版本都可以内置的去支持rerank等高阶功能。







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