news 2026/8/4 12:40:26

AI入门教程(二十):

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI入门教程(二十):

前言:为什么要向量数据库?

在AI时代,我们处理的数据形态发生了根本变化:

  • 传统数据库存储的是结构化数据:数字、字符串、日期

  • AI应用处理的是语义:一段文本的含义、一张图片的内容、一段语音的意思

这些语义信息被表示成向量(Vector)——一串浮点数,比如 [0.123, -0.456, 0.789, ...]

向量数据库就是专门用来存储、索引、查询这些向量的数据库。它的核心价值是:在百万级甚至十亿级向量中,毫秒级找出与查询向量最相似的前K个结果。


一、向量相似度搜索的挑战

理解为什么需要专门的算法,先看暴力搜索的问题。

1.1 暴力搜索的复杂度

最简单的思路:计算查询向量与库中每个向量的相似度,排序取前K个。

python

复制

下载

import numpy as np from typing import List, Tuple def brute_force_search(query: np.ndarray, vectors: List[np.ndarray], top_k: int = 5): """暴力搜索:计算与所有向量的距离,排序返回Top K""" distances = [(idx, np.sqrt(np.sum((query - vec) ** 2))) for idx, vec in enumerate(vectors)] distances.sort(key=lambda x: x[1]) return distances[:top_k] # 10000个128维向量 np.random.seed(42) vectors = [np.random.randn(128) for _ in range(10000)] query = np.random.randn(128) results = brute_force_search(query, vectors, top_k=5) print("搜索结果:", results)

问题很明显:100万向量要算100万次距离,10亿向量要算10亿次——生产环境完全不可接受。

数据规模暴力搜索耗时能否接受?
1万~1ms✅ 可以
100万~100ms⚠️ 有点慢
1000万~1s❌ 太慢
1亿~10s❌ 不可用

1.2 维度诅咒

向量通常是高维的。OpenAI的text-embedding-3-small是1536维,large是3072维。高维空间里,传统空间索引(如KD-Tree)效率急剧下降,甚至比暴力搜索还慢。

这就是为什么需要近似最近邻(ANN)算法:放弃100%准确率,换取100倍甚至1000倍的速度提升。


二、主流ANN算法

2.1 HNSW:分层小世界图

HNSW(Hierarchical Navigable Small World)是目前最流行的算法,灵感来自六度分隔理论。

核心思想:构建多层图结构,高层稀疏节点作为"高速通道",快速定位大致区域;底层全量数据精细搜索。

分层结构

  • Layer 0:存全部向量

  • 层数越高,节点越少,充当高速通道

    <
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/4 12:36:55

控制限和规格限混用:新人最常犯的致命错误

一、背景故事&#xff1a;那个被误报警折磨的新工程师去年秋天&#xff0c;我们部门来了一位刚从学校毕业的工程师&#xff0c;专业是测控技术与仪器&#xff0c;理论基础扎实&#xff0c;做事也认真。入职第三周&#xff0c;主管让他负责一条封装产线的 SPC 监控&#xff0c;主…

作者头像 李华
网站建设 2026/8/4 12:34:47

基于Qt框架解析与复现FNF高难度谱面的游戏开发实践

在实际游戏开发或音游爱好者社区中&#xff0c;经常会遇到需要解析、修改甚至复现特定游戏玩法的需求。以《Friday Night Funkin》&#xff08;FNF&#xff09;这款开源节奏游戏为例&#xff0c;其社区创作了大量高难度模组&#xff0c;例如“Night”难度。对于开发者或技术爱好…

作者头像 李华
网站建设 2026/8/4 12:34:41

大数据转大模型:Demo能跑只是开始,权限日志才是真正的分水岭

2024年下半年&#xff0c;我所在的团队决定把内部知识库从传统检索升级成大模型问答系统。我当时想的是&#xff0c;大数据工程师做这个有什么难的&#xff1f;数据清洗、特征工程、模型训练&#xff0c;哪样没干过&#xff1f;结果上线第一周&#xff0c;系统就崩了三次。不是…

作者头像 李华
网站建设 2026/8/4 12:28:27

SuperTiled2Unity终极指南:高效导入Tiled地图到Unity的完整工作流

1. 项目概述&#xff1a;为什么你需要这份SuperTiled2Unity终极指南&#xff1f;如果你正在Unity里捣鼓2D游戏&#xff0c;尤其是那种需要复杂地图、多层关卡或者像素风精致场景的&#xff0c;那你大概率听说过Tiled这个地图编辑器。它免费、开源、功能强大&#xff0c;几乎是独…

作者头像 李华