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

【RAG知识库实践】向量数据库VectorDB

一、概述

1.1 什么是向量库

向量数据库是一种专门为存储、索引和查询高维向量数据而优化的数据库系统。与传统的关系型数据库不同,向量数据库将数据映射到向量空间中,使得数据的相似性计算、聚类、分类和检索变得更加高效和精确

向量数据库一般包括以下几个部分:索引、查询、过滤
第一步:建立索引
向量数据库使用 HNSW(分层可导航小世界)等算法对向量进行索引,此步骤将向量映射到数据结构,以实现更快的搜索。索引的目标是通过创建可快速遍历的数据结构来实现快速查询,通常会将原始向量的表示形式转换为压缩形式以优化查询过程
HNSW 创建一个分层的树状结构,其中树的每个节点代表一组向量。节点之间的边代表向量之间的相似度。在高层次,数据点的数量较少,连接关系较少,搜索效率较高。在底层,数据点的数量较多,连接关系更密集,能够更精确地找到最近邻。通过逐层导航和搜索,HNSW 能够快速找到与查询点最相似的点
在这里插入图片描述
第二步:查询检索
向量数据库将索引查询向量与数据集中的索引向量进行比较,以找到最近的邻居,这里会应用该索引使用的相似性度量。相似性度量是用于确定向量空间中两个向量相似程度的数学方法。向量数据库中使用相似性度量来比较数据库中存储的向量并找到与给定查询向量最相似的向量。可以使用多种相似性度量,包括:余弦相似度

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

相关文章:

  • Linux应用软件编程---网络编程(TCP并发服务器构建:[ 多进程、多线程、select ])
  • Spring Start Here 读书笔记:第15 章 Testing your Spring app
  • 【PyTorch】基于YOLO的多目标检测项目(二)
  • vue2 watch 的使用
  • Xshell 自动化脚本大赛技术文章大纲
  • TypeScript:重载函数
  • 《Linux 网络编程四:TCP 并发服务器:构建模式、原理及关键技术(select )》
  • oceanbase-部署
  • yolo ultralytics之yolov8.yaml文件简介
  • 《信息检索与论文写作》实验报告三 中文期刊文献检索
  • Linux 云服务器内存不足如何优化
  • LinuxC系统多线程程序设计
  • C语言:数据在内存中的存储
  • nginx referer-policy 和 referer
  • redis集群分片策略
  • 【温室气体数据集】NOAA CCGG 飞机观测温室气体
  • 2025年06月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • spring-cloud项目中gateway配置解析
  • DMA学习
  • 【0420】Postgres内核 smgr + md + vfd 实现为指定 table(CREATE TABLE)创建 disk file
  • 每日八股文8.27
  • Linux系统调优工具
  • [Sync_ai_vid] 数据处理流水线 | 配置管理系统
  • 【重学 MySQL】九十二、 MySQL8 密码强度评估与配置指南
  • mysql mvcc机制详解
  • 期权交易中的“道”:从《道德经》中汲取投资智慧
  • RHEL9部署MySQL数据库及数据库的基本使用(增删改查,数据备份恢复)
  • 基于SpringBoot的社区儿童疫苗接种预约系统设计与实现(代码+数据库+LW)
  • Vue将内容生成为二维码,并将所有二维码下载为图片,同时支持批量下载(下载为ZIP),含解决一次性生成过多时页面崩溃解决办法
  • 【雅思020】Opening a bank account