向量数据库原理

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 向量压缩 大规模场景
相关推荐
转转技术团队7 分钟前
从 PRD 到可验证代码:AI 需求开发闭环实践
人工智能
机器之心15 分钟前
飞书让表格变成「AI同事」加入群聊,不打开表就能用表
人工智能·openai
Bigfish_coding1 小时前
前端转agent-【python】-15 AI Agent 可观测性入门:LangFuse 链路追踪、Token 监控与 LLM 质量评估
人工智能
我唔知啊1 小时前
我把 Claude Code 拆成了一间餐厅:从一句话到一次回复,中间到底发生了什么
人工智能
Harry技术1 小时前
02 · Codex 核心概念:代理、沙箱、审批和项目说明书
人工智能
SelectDB1 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
阿里云大数据AI技术2 小时前
Agentic Memory Extension 支持对接主流Agent - 适用于 Claude Code、CodeX等
人工智能·agent
我唔知啊2 小时前
不是让 AI 写代码,我是在指挥 AI 干活:一套打磨出来的 AI 编程工作流
人工智能
ZzT2 小时前
在 GitHub 上 @一下 claude,它自己把 issue 改成 PR
人工智能·开源
不加辣椒2 小时前
第15章 上下文窗口管理与长文本策略
人工智能