向量数据库原理

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 向量压缩 大规模场景
相关推荐
Dev7z5 小时前
在MySQL里创建数据库
android·数据库·mysql
沃达德软件5 小时前
警务大数据实战模型解析
大数据·人工智能
Leon-Ning Liu5 小时前
19C Oracle 集群(RAC)软件 与数据库软件 PSU 补丁部署流程
数据库·oracle
invicinble5 小时前
mysql建立存数据的表(一)
android·数据库·mysql
清风6666665 小时前
基于单片机的8路抢答器设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
点灯小铭5 小时前
基于单片机的智能污水有害气体电子鼻检测系统
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
Slaughter信仰6 小时前
图解大模型_生成式AI原理与实战学习笔记前四张问答(7题)
人工智能·笔记·学习
龙腾亚太6 小时前
大模型十大高频问题之五:如何低成本部署大模型?有哪些开源框架推荐?
人工智能·langchain·llm·智能体·大模型培训