你有没有想过,当你问一个AI助手:“推荐一部像《凡人修仙传》的小说”,你有没有想过,它是怎么理解“像”这个字的?
它并没有“看过”这部小说,也不会“感受”玄幻、修仙的氛围,但它却能推荐出《仙逆》《大梦主》——
这背后,靠的不是关键词匹配,而是一种全新的数据库:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">向量数据库(Vector Database)。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);">🌌 一、AI看世界的方式:一切皆向量ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在传统计算机眼中,数据是文字、数字或表格。
但在人工智能(AI)眼中,万物都可以被转换成一种数学表达:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">向量(Vector)。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 8px;color: rgb(63, 63, 63);">🔍 什么是向量?ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">向量就是一个ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">数字数组,比如:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14.4px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;padding: 0px !important;">[0.85,-0.23,0.67,0.11,...,0.42]ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">这个数组有128维、512维甚至上千维,每一维代表某种抽象特征。在数学中,向量是一个有方向和大小的量,比如一个箭头。但在计算机科学中,向量更像是数据的“数字指纹”。任何东西——文字、图片、音频、视频,甚至用户行为——都可以被转化为一个高维向量。例如,一张猫的照片可能被表示为一个包含数百个数字的数组:[0.12, 0.45, -0.23, ...],这些数字捕捉了图像的颜色、形状和纹理特征。
✅ AI如何“理解”内容?
这个过程由嵌入模型(Embedding Model)完成,例如:
- • 文本:BERT、Sentence-BERT、OpenAI embeddings
🎯关键思想:
语义相似的内容,它们的向量在空间中也靠得近。
比如:
- • “running - run + eat ≈ eating”(向量运算可体现语义关系)
💾 二、为什么需要向量数据库?
既然有了向量,就需要一个地方来存储和查找它们。
但传统数据库(如MySQL)根本无法高效处理这种高维向量的“相似性搜索”。它擅长存储结构化数据,比如表格中的姓名、年龄或价格,它们通过精确匹配来查询。但当数据变得非结构化(如海量的图片或文本)时,传统数据库就力不从心了。
❌ 传统数据库的困境:
| |
|---|
| 无法计算“相似度” | SQL 没有SELECT * FROM 文本 WHERE 相似 '太空冒险' |
| 查询效率极低 | |
| 不支持向量索引 | |
于是,向量数据库应运而生。它专门设计用于存储、索引和管理这些向量数据,并支持基于“相似性”的高效搜索。简单说,它不是找“完全相同”的东西,而是找“最像”的东西。
我们先来直观的感受一下Milvus数据库(一种向量数据库)的向量数据展示
🧩 三、向量数据库:专为“相似性搜索”而生
向量数据库是一种专门存储、索引和查询向量的数据库,核心能力是:
🔍快速找出“最像”的数据
比如:
✅ 向量数据库的三大核心能力:
| |
|---|
| |
| |
| 支持“向量相似 + 属性过滤”,如“找语义相关且发布时间<2024年的文章” |
| |
| 轻松对接 OpenAI、Hugging Face、LangChain 等 |
🔎 四、它是怎么做到“快速找相似”的?
关键在于一种叫近似最近邻(Approximate Nearest Neighbor, ANN)的算法。
常见的向量索引技术:
| |
|---|
| HNSW(Hierarchical Navigable Small World) | |
| IVF | |
| LSH(Locality Sensitive Hashing) | |
| PQ | |
💡 这些技术让搜索速度提升百倍,牺牲一点点精度,换来巨大性能提升。
🏆 五、主流向量数据库有哪些?
| | |
|---|
| Pinecone | | |
| Weaviate | | |
| Milvus | | |
| Qdrant | | |
| Chroma | | |
| RedisVector | | |
| Faiss | | |
🌐 六、向量数据库用在哪些地方?
1.AI问答与知识库(RAG)
你问:“公司年假政策是什么?”
系统将问题转为向量,在知识库中找到最相关的条款,交给大模型回答。
🔧 技术:检索增强生成(RAG)
2.智能推荐系统
用户看了《流浪地球》,系统找出语义相似的电影向量,推荐《火星救援》。
比“标签推荐”更智能。
3.图像与视频搜索
上传一张猫的照片,搜索“所有类似的宠物图片”。
用于电商平台、安防系统。
4.语音与音乐识别
听一段旋律,找出风格相近的歌曲。
QQ音乐、网易云音乐都在用类似技术。
5.反欺诈与去重
比较两段文本是否“换汤不换药”的抄袭?
比较两个账户行为是否高度相似(可疑)?
🔄 七、它是如何工作的?(以RAG为例)
相似性搜索结合上下文生成用户提问问题转为向量向量数据库找到最相关的知识片段大模型自然语言回答知识库文档文本分块+向量化
✅ 这就是当前最火的RAG(Retrieval-Augmented Generation)架构,让大模型“有据可依”,避免胡说八道。
🎯 八、如何选择合适的向量数据库?
📚 九、总结:向量数据库是AI的“外接大脑”
🌟如果说传统数据库是AI的“硬盘”,那么向量数据库就是它的“短期记忆”。
它让AI能够: