向量数据库原理

day22 了解: 向量数据库原理(相似度检索)

什么是向量数据库?

向量数据库(Vector Database)是一类专门用于存储高维向量(embeddings)并进行相似度搜索的数据库。它是现代 AI/RAG 系统(如文档问答、搜索增强生成)的核心组件。

🔸 为什么需要向量数据库?

因为传统数据库只擅长结构化数据(数字、文本等),无法处理:

  • 句子"我喜欢苹果"和"I enjoy eating apples"

    → 虽然文字不同,但语义接近

  • 用关键字搜索无法知道语义相似度

向量数据库通过将文本/图片/音频转为向量,可以进行 语义搜索。


向量数据库的核心原理

向量数据库主要做三件事:

✔️ 1. 向量化(Embedding)(详细解释见day19)

将文本转换为一个高维向量,例如:

复制代码
"我喜欢苹果" → [0.12, -0.88, 0.55, ...]   # 768维向量

常见模型:

复制代码
OpenAI Embedding

BGE-base

sentence-transformers

Cohere embedding

向量的含义:每个维度表示语义的一种"特征"。


✔️ 2. 相似度度量(Similarity Metric)(day19)

常用方式:

复制代码
余弦相似度 Cosine similarity(最常见)

点积 Dot Product

欧氏距离 L2 Distance

向量越接近 → 内容越相似。


✔️ 3. 向量检索(ANN:Approximate Nearest Neighbor)

由于向量维度很高,普通遍历太慢,因此使用 ANN 加速。

常见的索引结构:

算法 描述 应用
HNSW 图结构,性能强 Milvus / Qdrant
IVF-FLAT 分桶+暴力计算 Faiss
PQ/OPQ 向量压缩 大规模场景
相关推荐
前端摸鱼匠几秒前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测
结局无敌6 分钟前
构建百年工程:cann/ops-nn 的可持续演进之道
人工智能·cann
MSTcheng.6 分钟前
CANN算子开发新范式:基于ops-nn探索aclnn两阶段调用架构
人工智能·cann
renhongxia16 分钟前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱
做人不要太理性7 分钟前
CANN Runtime 运行时与维测组件:异构任务调度、显存池管理与全链路异常诊断机制解析
人工智能·自动化
算法备案代理9 分钟前
大模型备案与算法备案,企业该如何选择?
人工智能·算法·大模型·算法备案
酷酷的崽79810 分钟前
CANN 生态可维护性与可观测性:构建生产级边缘 AI 系统的运维体系
运维·人工智能
哈__10 分钟前
CANN加速Inpainting图像修复:掩码处理与边缘融合优化
人工智能
深鱼~13 分钟前
ops-transformer算子库:解锁昇腾大模型加速的关键
人工智能·深度学习·transformer·cann
笔画人生17 分钟前
进阶解读:`ops-transformer` 内部实现与性能调优实战
人工智能·深度学习·transformer