首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
技术百科首页 >向量数据库

向量数据库

修改于 2024-05-17 18:39:59
9189
概述

向量数据库是一种专门用于存储和查询向量数据的数据库。向量数据的典型结构是一个一维数组,其中的元素是数值(通常是浮点数)。这些数值表示对象或数据点在多维空间中的位置、特征或属性。例如: 在自然语言处理中,一篇文章可以用一个词向量表示,每个词可以用一个数字表示其在词向量空间中的位置。 在图像处理中,一张图片可以用一个像素向量表示,每个像素可以用三个数字表示其RGB值。 在推荐系统中,一个用户可以用一个用户向量表示,每个维度可以表示不同的兴趣爱好或行为偏好。 腾讯云向量数据库(Tencent Cloud VectorDB)是一款全托管的自研企业级分布式数据库服务,是中国首个AI原生(AI Native)的向量数据库。相比传统单机插件式数据库检索规模提升10倍,同时具备百万级每秒查询(QPS)的峰值能力。不仅能提高大模型回答的准确性,还可广泛应用于推荐系统自然语言处理等领域。它最高支持业界领先的10亿级向量检索规模,并将延迟控制在毫秒级。

向量数据库如何工作?

向量数据库专门用于存储和查询向量数据。

假设一个图书馆就是一个数据库,而书就是数据库中的数据。在传统的数据库中,我们通过书名、作者、出版日期等关键词去搜索我们想要的书籍。这个过程类似于我们在数据库中通过关键词检索需要的数据。

然而,在一个向量数据库中,假设读者不仅想找到一本特定的书,还想找到所有和这本书类似的书,例如内容、风格、主题都相似的书。这在传统图书馆中可能是一项极具挑战的任务,因为这需要逐一浏览和对比每一本书的内容。

然而,在"向量"图书馆中,每本书都会被转换成一个向量,它像书的指纹,包含了书的所有特征信息。然后,我们可以通过计算这些向量之间的距离或相似度,找到与特定书最相似的其他书籍。这就是向量数据库的核心工作原理。

向量检索的核心步骤有哪些?

以文本举例:向量数据库的核心思想是将非结构化的文本信息转换为向量数据表示,再将转换后的向量数据以及原始文本一并存储在向量数据库。然后将向量存储在数据库中,当用户输入问题时,将问题描述转换为向量数据,在向量数据库中进行相似性计算,检索出与目标值最相似的向量以及上下文信息,最后将文本返回给用户。下面是具体的操作流程:

生成并写入向量数据

向量数据库需要生成向量数据。向量数据可以来自各种数据源,例如文本、图像、音频等,每个向量数据都可以通过Embedding模型生成一个对应的特征表示,即向量数据。

向量数据库采用专门的数据结构和算法来存储和管理向量数据,以便快速地进行检索和分析。

建立向量索引

为了加速向量搜索,向量数据库通常会构建向量索引,这是一种专门设计的数据结构,旨在通过计算和比较向量之间的相似度或距离,将向量数据有效地组织起来。以便数据库快速地定位和检索与查询条件最相关的向量集合。目前,腾讯云向量数据库支持如下类型的向量索引:

FLAT 索引:向量会以浮点型的方式进行存储,不做任何压缩处理。搜索向量会遍历所有向量与目标向量进行比较。

HNSW 索引:全称为 Hierarchical Navigable Small World, 是基于图的索引,适合对搜索效率要求较高的场景。

IVF 系列:全称为 Inverted File,IVF 系列索引的核心思想是将高维空间划分为多个聚类,并为每个聚类构建一个倒排文件。适用于高维向量数据的快速检索。

进行向量搜索

在向量搜索中,用户输入一个查询向量,向量数据库通过相似性计算,会返回与查询向量最相似的向量。向量相似度通常使用余弦相似度、欧几里得距离等度量方式进行计算。

除了向量检索外,腾讯云向量数据库集成了文本Embedding能力,可以实现基于文本的数据写入和检索。

向量数据库和传统数据库的区别是什么?

向量数据库更适用于 AI 运算、检索场景,数据接入效率是传统方案的10倍。相较传统数据库具体有以下几个特点:

数据规模不同,能够高效处理大规模数据

对于传统数据库而言,1亿条数据已经是很大的业务流量。然而在向量数据库面向的场景中,单索引数据量可能达到千万级、甚至亿级别,单条向量数据的维度也会达到上千维。

查询方式不同,支持近似查找

传统数据库的查找方式都属于精确查找,而向量数据库通常是近似查找,即返回和输入内容最相近的 TOP K 条数据。

场景不同

向量数据库更适用于 AI 运算、检索场景,能够高效支持大模型的接入和运算。

向量数据库在大模型中扮演什么角色?

知识管理与智能服务构建

向量数据库能够帮助企业结合大模型和自有知识资产,构建垂直领域的智能服务。通过存储和处理向量数据,向量数据库提供高效的相似度搜索和检索功能,这对于构建基于大语言模型的行业智能应用至关重要。

增强生成能力

在检索增强生成(Retrieval-Augmented Generation, RAG)技术中,向量数据库通过快速有效地检索和处理大量的向量数据,增强了语言模型的生成能力。这使得模型能够更准确和灵活地应对新的挑战。

支持向量嵌入

向量数据库存储海量的文本向量,通过计算向量之间的相似度,实现更加智能的文本匹配和语义搜索,这对于生成型AI来说尤其重要。

解决数据局限

大型语言模型在完成训练后可能无法理解最新的或某些未经过训练的专业领域知识。向量数据库通过提供高效的向量数据检索,帮助解决这一问题,允许模型访问最新的数据和知识。

向量数据库的主要应用场景有哪些?

人脸识别

向量数据库可以存储大量的人脸向量数据,并通过向量索引技术实现快速的人脸识别和比对。

图像搜索

向量数据库可以存储大量的图像向量数据,并通过向量索引技术实现高效相似度计算,返回与检索图像最相似的图像结果

音频识别

向量数据库可以存储大量的音频向量数据,并通过向量索引技术实现快速的音频识别和匹配。

自然语言处理

在自然语言处理(NLP)中,向量数据库通过存储文本向量并运用高效索引,极大提升文本数据的快速搜索和相似度匹配。

推荐系统

将用户行为特征向量化存储在向量数据库。当发起推荐请求时,系统会基于用户特征进行相似度计算,最终筛选用户可能感兴趣的物品推荐给用户。

数据挖掘

向量数据库可以存储大量的向量数据,并通过向量索引技术实现快速的数据挖掘和分析。

基于大语言模型构建行业智能应用为什么需要向量数据库?

向量(vector)是在大语言模型、知识库交互、计算过程中的重要指标。它可以将文本和知识表示为数学向量,实现文本相似度计算、知识库检索和推理等功能。向量(vector)为语义理解和应用提供了一种方便有效的表示方法。大模型能够回答较为普世的问题,但是若要服务于垂直专业领域,会存在知识深度、知识准确度和时效性不足的问题,比如:医疗或法律行业智能服务要求知识深度和准确度比较高,那么企业构建垂直领域智能服务?目前有两种模式:

● 基于大模型的Fine Tune方式构建垂直领域的智能服务,需要较大的综合投入成本和较低的更新频率,适用性不是很高,并非适用于所有行业或企业。

● 通过构建企业自有的知识资产,结合大模型和向量数据库来搭建垂直领域的深度服务,本质是使用知识库进行提示工程(Prompt Engineering)。以法律行业为例,基于垂直类目的法律条文和判例,企业可以构建垂直领域的法律科技服务。

将企业知识库文档和数据通过向量特征提取(embedding)然后存储到向量数据库(vector database),应用LLM大语言模型与向量化的知识库检索和比对知识,构建智能服务。比如:应用大语言模型和向量数据库(知识库)可以让企业应用级Chatbot(聊天机器人)的回答更具专业性和时效性,构建企业专属Chatbot。

腾讯云向量数据库有什么优势?

高性能

向量数据库单索引支持10亿级向量数据规模,可支持百万级 QPS 及毫秒级查询延迟。

高可用

向量数据库提供多副本高可用特性,其多可用区和三节点的架构可用性可达99.99%,显著提高系统的可靠性和容错性,确保数据库在面临节点故障和负载变化等挑战时仍能正常运行。

大规模

向量数据库架构支持水平扩展,单实例可支持百万级 QPS,轻松满足 AI 场景下的向量存储与检索需求。

低成本

只需在管理控制台按照指引,简单操作几个步骤,即可快速创建向量数据库实例,全流程平台托管,无需进行任何安装、部署和运维操作,有效减少机器成本、运维成本和人力成本开销。

简单易用

支持丰富的向量检索能力。用户通过 HTTP API 或者 SDK 接口即可快速操作数据库,开发效率高。同时控制台提供了完善的数据管理和监控能力,操作简单便捷。

稳定可靠

向量数据库源自腾讯集团自研的向量检索引擎 OLAMA,近40个业务线上稳定运行,日均处理的搜索请求高达千亿次,服务连续性、稳定性有保障。

腾讯云向量数据库有什么亮点功能?

AI 套件

AI 套件是腾讯云向量数据库(Tencent Cloud VectorDB)提供的一站式文档检索解决方案,包含自动化文档解析、信息补充、向量化、内容检索等能力,并拥有丰富的可配置项,助力显著提升文档检索召回效果。用户仅需上传原始文档,数分钟内即可快速构建专属知识库,大幅提高知识接入效率。AI 套件是腾讯云向量数据库(Tencent Cloud VectorDB)提供的一站式文档检索解决方案,包含自动化文档解析、信息补充、向量化、内容检索等能力,并拥有丰富的可配置项,助力显著提升文档检索召回效果。用户仅需上传原始文档,数分钟内即可快速构建专属知识库,大幅提高知识接入效率。

Embedding

Embedding 功能是腾讯云向量数据库(Tencent Cloud VectorDB)提供将非结构化数据转换为向量数据的能力,目前已支持文本 Embedding 模型,能够覆盖多种主流语言的向量转换,包括但不限于中文、英文。开启 Embedding 功能并在创建 Collection 时配置模型,在插入、更新和相似性检索数据时直接传入原始文本,向量数据库会自动将原始文本进行转换,生成对应的向量数据后插入数据库或进行相似性计算,大幅提高业务接入效率。

DMC

数据库管理(Database Management Center,DMC)是一个高效,安全,可靠的数据库一站式管理平台,为用户提供库表级操作、实时监控、实例会话管理、SQL 窗口、数据管理为一体的数据库管理服务。腾讯云向量数据库支持通过 DMC 可视化管理数据库,帮助您更直观、更高效、更友好地操作数据库。

相关文章
  • 《向量数据库》向量数据库概念
    1.3K
  • 向量数据库原理之向量索引
    964
  • 向量检索(RAG)之向量数据库研究
    1.8K
  • 向量数据库技术原理及常见向量数据库介绍
    1.6K
  • 向量数据库-Milvus
    248
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券