前言
我们正处于人工智能变革之中,AI正在颠覆所有涉及的行业,带来巨大的创新,但也带来了新的挑战。对于涉及大模型、生成式人工智能和语义搜索的应用而言,高效的数据处理比以往任何时候都更加重要。所有这些新应用都依赖于向量嵌入,这是一种向量数据表示,它包含语义信息,对于人工智能理解并保持在执行复杂任务时可以利用的长期记忆至关重要。这就是我们今天介绍的主角——向量数据库。
向量数据库**(Vector Database),也称为矢量数据库,被认为是AI时代的“知识地图”引擎**。它能够有效地组织、存储和检索大量的非结构化数据,把相似的内容存储到距离更近的区域,并将其转化为可供机器学习模型理解和使用的格式。这种能力使得它成为连接原始数据与智能应用之间的桥梁。
什么是向量数据库?
基本定义
简单定义
向量数据库是一种专门用于高效存储、索引和检索高维向量数据的数据库系统。
通俗易懂定义
向量数据库是一种专门用来存储和快速查找非结构化数据(如图片、文本、音频等)的“数字指纹”(即向量),以便找到相似内容的智能搜索引擎。
技术语言定义
向量数据库(Vector Database)是一种专为高效存储、索引和检索高维向量数据而设计的数据库管理系统,其核心目标是支持对非结构化数据(如文本、图像、音频等)通过嵌入模型(Embedding)生成的向量表示进行快速相似性搜索与复杂分析。与传统关系型数据库以表结构存储结构化数据不同,向量数据库通过向量空间模型(Vector Space Model)将多维特征编码为数值向量(如512维浮点数数组),并利用近似最近邻搜索(Approximate Nearest Neighbor, ANN)算法(如HNSW、IVF-PQ)实现高效率的相似性匹配。其关键技术包括高效索引结构(如R树、网格索引)、分布式存储优化及向量量化压缩,以应对高维数据的“维度灾难”问题。
下面的例子,能够帮助我们理解什么是向****量数据库。
想象一下你有一堆照片、文章或者音频文件,你想快速找到与某一张特定照片相似的所有照片,或者是找到与某篇文章内容最接近的文章。传统的方法可能是通过关键词或标签来搜索,但这往往不够精确,尤其是当你要处理的是像图像和声音这样的非文字多媒体信息时。
向量数据库就是为了解决这个问题而生的一种特殊类型的数据库。它的工作原理是将这些不同类型的数据(如图片、文本、音频等)转换成一组数字(我们称之为“向量”),这组数字就像是每个数据对象的独特指纹,能够捕捉到该对象的核心特征。
向量数据库在具体工作过程中,例如:你输入“猫”,模型输出一个长度为 768 的向量 [0.2, -0.1, …, 0.5]。当你输入“狗”,另一个向量 [0.18, -0.12, …, 0.49],两者距离很近,说明它们语义上接近。
多维空间的向量表示
向量数据库与我们现实中的超市空间布局非常类似,超市一般会把同一品类,相同功用、或关联的商品放在相邻的区域,以方便消费者在特定的区域快速找到需要的商品。
向量数据库VS超市商品陈列
相关概念
向量(Vector)
一组数字表示某个对象的特征,例如一张图片、一段文本、一个音频片段通过深度学习模型转换成的一组浮点数。
向量嵌入(Embedding)
使用预训练模型(如BERT、ResNet等)将非结构化数据转化为向量的过程。
相似性检索
基于向量之间的距离(如余弦相似度)进行快速查找。
技术特性
向量数据库具备一系列独特的技术特性,使其在处理非结构化数据和执行相似性搜索方面表现出色。以下是向量数据库的主要技术特性:
高效存储与索引
- 高维向量存储:能够高效地存储由非结构化数据(如图像、文本、音频等)转换而来的高维向量。
- 索引机制:采用先进的索引算法(如HNSW、IVF-PQ),支持快速检索,即使面对大规模数据集也能实现亚秒级响应。
近似最近邻(ANN)搜索
- 高效查询性能:通过近似最近邻搜索算法,能够在海量数据中迅速找到与给定向量最接近的其他向量集合,而不是执行耗时的精确匹配。
- 召回率与查询速度平衡:在保证一定召回率的同时,显著提升查询速度,适用于实时应用场景。
多模态数据支持
- 跨类型数据处理:可以处理多种类型的非结构化数据,包括但不限于图像、视频、音频、文本等,并将它们统一映射到向量空间进行比较和检索。
- 统一语义空间:不同模态的数据被编码到同一个向量空间中,便于联合检索和分析。
混合检索能力
- 结合结构化字段:不仅支持基于向量的相似性搜索,还可以结合标签、时间戳等结构化字段进行过滤查询,提供更精准的结果。
- 复杂逻辑运算:允许使用复杂的逻辑条件组合来细化查询结果。
分布式架构
- 水平扩展性:设计上支持分布式部署,易于扩展以应对PB级别的数据增长,确保系统在大规模数据环境下的稳定性和性能。
- 容错机制:通常包含故障转移和数据冗余策略,提高系统的可靠性和可用性。
实时更新与增量同步
- 动态数据管理:支持数据的实时写入、删除和更新操作,满足不断变化的数据需求。
- 增量索引:能够对新增或修改的数据进行增量索引,避免全量重建索引带来的性能开销。
可视化与工具支持
- 数据分析工具:提供内置或第三方工具(如Milvus的Attu)用于数据探索、监控和管理,帮助用户更好地理解和利用数据。
- API接口丰富:支持RESTful API、gRPC等多种接口形式,方便与其他系统集成。
企业级功能
- 权限控制:提供细粒度的访问控制机制,确保数据安全。
- 日志审计:记录所有重要操作日志,便于追踪和审查。
- 安全性保障:包括加密传输、身份验证等功能,保护敏感信息不被泄露。
向量数据库的发展
实事上,向量数据库已经存在相当长一段时间了,从早期的向量空间模型,到深度学习时代的高维数据处理工具,再到生成式AI驱动的基础设施,其发展始终围绕高效存储、快速检索与多模态融合展开。未来,随着算法优化与行业落地的深化,向量数据库将成为AI时代的核心数据枢纽。
萌芽阶段(20世纪60年代-2010年代初)
理论基础
向量数据库的起源可追溯至20世纪60年代的向量空间模型(Vector Space Model),用于文本检索(如早期的Lucene)。此时,向量主要用于表示文档或关键词的语义关系。
早期工具
2000年代初,随着深度学习的兴起,图像、音频等非结构化数据的向量化需求增加,但缺乏高效存储和检索工具。Facebook于2017年开源的FAISS(Facebook AI Similarity Search)成为早期代表性项目,专注于高维向量的相似性搜索。
技术突破(2012-2019年)
深度学习推动需求
2012年深度神经网络的突破性进展(如AlexNet)催生了大规模高维向量数据(如图像嵌入、文本Embedding),传统数据库难以处理此类数据的存储与相似性检索。
算法与索引优化
近似最近邻(ANN)算法(如HNSW、IVFPQ、LSH)的提出,显著提升了高维向量搜索效率。
开源项目(如FAISS、Annoy)和标准化数据库(如Elasticsearch、PostgreSQL)逐步集成向量特性,但性能和适用场景仍有局限。
独立产品出现
2019年起,Milvus、Pinecone等独立向量数据库开始发展,专注于高维向量的存储与检索优化。
AI驱动应用普及(2020-2023年)
生成式AI引爆市场
2022年ChatGPT的横空出世,使向量数据库从幕后走向台前。其作为RAG(检索增强生成)的核心组件,为大模型提供外部知识库支持,解决“幻觉”问题并提升生成质量。
云厂商入场
云服务商(如腾讯云、阿里云、AWS)推出原生向量数据库(如Tencent Cloud VectorDB),结合分布式架构与AI算法优化,推动规模化应用。
多模态融合
向量数据库开始支持文本、图像、音频等多模态数据的统一处理,满足复杂场景需求(如智能推荐、安防监控)。
发展趋势与挑战
技术演进
- 混合查询能力:支持标量-向量混合检索(如结合精确匹配与相似度搜索)。
- 索引结构优化:HNSW、KD-Tree等索引结合分布式架构,提升亿级向量的处理效率。
- 实时性增强:动态索引更新与分布式事务管理成为研究热点。
市场格局
- 开源与商业化并行:开源项目(如FAISS)推动技术普及,企业级全托管服务(如腾讯云VectorDB)降低部署门槛。
- 渗透传统行业:从AI领域扩展至金融(风控)、医疗(影像诊断)、制造(质检)等场景。
挑战与瓶颈
- 存储成本高:高维向量数据存储需求大,需平衡精度与成本。
- 实时更新难题:动态数据场景下,索引构建与一致性维护仍需突破。
为什么需要向量数据库?
回答这个问题,我们需要了解向量数据库的主要优势有哪些,他解决了传统数库的哪些痛点,以及与传统数据库的主要差异。
向量数据库的优势
- 性能:针对相似性搜索进行了优化,即使在高维空间中也能快速检索相关数据。
- 灵活性:能够有效管理图像、视频和文本等非结构化和半结构化数据。
- 可扩展性:旨在有效处理大型且不断增长的数据集。
- 集成:与机器学习和人工智能工作流程无缝集成,增强现代数据驱动应用程序的功能。
1. 非结构化数据支持
- 突破传统限制:能够处理图像、文本、音频、视频等非结构化数据。
- 语义理解能力:基于向量化表示,可实现语义层面的相似性搜索,不再依赖关键词匹配。
2. 搜索性能突出
- 大规模数据友好:在百万级甚至亿级数据中也能实现毫秒级响应。
- 空间效率高:通过索引结构(如 HNSW、IVF-PQ)压缩存储并加速查询。
3. 多模态统检索能力
- 跨模态搜索:例如输入一张图片,返回语义相关的文本描述;或输入一句话,返回视觉相似的图像。
- 统一语义空间:不同模态的数据被编码到同一向量空间中,便于联合检索。
4. 与AI模型天然契合
- 无缝对接深度学习流程:模型输出的嵌入向量可以直接用于入库和查询。
- 作为LLM的“记忆”扩展:大语言模型可通过向量数据库增强知识检索能力,减少幻觉。
5. 灵活的混合检索能力
- 结合结构化字段:支持在向量检索基础上加入标签、时间、价格等结构化过滤条件。
- 提升业务精度:例如“找相似商品且价格低于100元”。
6. 可扩展性强
- 分布式架构支持:主流产品如 Milvus、Pinecone 支持水平扩展,适应海量数据增长。
这里我们也有必要了解一下向量数据库有哪些缺点,以便我们更加高效合理地评估与使用向量数据库。
1. 依赖高质量的嵌入模型
- 结果质量受限于编码器:如果使用的模型不够准确,生成的向量不能很好地表达原始内容,最终检索效果会大打折扣。
- 模型调优成本高:针对特定领域可能需要微调模型,增加开发复杂度。
2. 存在一定的误差率
- 近似算法带来误差:为了提升查询速度,通常使用 ANN(近似最近邻)而非精确最近邻(Exact NN),导致召回结果并非绝对最优。
- 精度 vs 速度权衡:在性能敏感场景中需权衡精准度与响应时间。
3. 构建与维护成本较高
- 技术门槛较高:需要熟悉机器学习、向量索引、分布式系统等多方面知识。
- 资源消耗大:向量数据库通常占用较多内存和计算资源,尤其在实时更新场景下。
4. 冷启动问题
- 新数据难以快速融入:当有新样本插入时,索引可能需要重建或增量更新,影响检索时效性。
- 推荐系统中的冷启动困境:没有用户历史行为数据时,难以生成有效的向量进行个性化推荐。
5. 缺乏统一标准
- 接口不统一:各厂商/开源项目的 API 和使用方式差异较大,迁移成本高。
- 评估指标不一致:不同产品的性能测试方式、精度衡量标准不统一,难做横向比较。
6. 安全与隐私风险
- 数据泄露隐患:向量本身可能包含原始数据的语义信息,若未加密传输或访问控制不当,存在泄露风险。
- 合规要求高:在金融、医疗等行业应用时,需满足更严格的数据保护法规(如 GDPR)。
突破传统数据库的瓶颈
1. 关键词匹配 vs 语义理解
- 传统搜索引擎依赖关键词匹配,无法处理同义词、上下文含义。
- 向量数据库通过语义向量实现“理解式搜索”。
2. 结构化 vs 非结构化数据
- 传统数据库擅长处理表格数据(SQL),但对图片、视频、文档等非结构化数据无能为力。
- 向量数据库则专为此设计。
3. 效率问题
如果用传统数据库的方案做相似性检索(比如计算所有向量之间的距离),时间复杂度是 O(n),当 n 达到百万级时,根本不可行。
向量数据库VS传统数据库
传统数据库是结构化数据管理的基石,例如关系型数据库(SQL Server、Postgres),以表格格式存储标量值,而非关系型数据库(MongoDB、Cassandra DB)则以基于文档/集合的格式存储标量值,适用于事务处理和精确查询。向量数据库是AI时代的核心基础设施,专注于非结构化数据的语义检索,以多维向量化存储,解决高维向量的存储与相似性搜索难题,在具体应用中,两者具有很强的互补性。
向量数据库VS传统数据库
具体来说,两者****在数据模型、处理方式、应用场景等方面存在显著差异,以下是两者的主要区别:
1. 数据模型
传统数据库
-
结构化数据:以表格形式存储数据(行和列),强调严格的模式(Schema)和数据类型约束(如整数、字符串、日期)。
-
核心特点:通过主键、外键维护数据关系,支持事务处理(ACID属性)。
-
典型示例:关系型数据库(如MySQL、Oracle)或NoSQL数据库(如MongoDB)。
向量数据库
- 非结构化/半结构化数据:将文本、图像、音频等非结构化数据通过嵌入模型(Embedding)转化为高维向量(如512-1536维浮点数数组)。
- 核心特点:不依赖传统表格结构,专注于向量空间中的相似性计算。
- 典型示例:Milvus、Pinecone、Faiss、openGauss DataVec。
2. 查询方式
传统数据库
- 精确匹配与条件过滤:基于SQL查询语言,支持等值匹配(如WHERE id = 100)、范围查询(如WHERE price > 1000)和复杂关联查询。
- 索引优化:使用B树、哈希表等索引加速查询,但难以处理高维向量的相似性搜索。
向量数据库
- 相似性搜索:通过计算向量之间的距离(如欧氏距离、余弦相似度)查找最相似的数据点(近似最近邻搜索,ANN)。
- 索引结构:采用HNSW、IVF-PQ、LSH等高效索引算法,支持大规模高维向量的快速检索。
- 混合查询:部分系统支持结合标量字段(如时间戳)与向量查询(如SELECT * FROM vectors WHERE timestamp > ‘2023-01-01’ AND similarity > 0.8)。
3. 核心功能与性能
传统数据库
- 事务处理(OLTP):适用于高并发的事务性操作(如金融交易、订单管理),强调数据一致性与实时性。
- 数据规模:通常处理千万级结构化数据,但面对高维向量时效率低下。
- 扩展性:垂直扩展(增加硬件资源)较易,水平扩展(分布式架构)复杂,需解决数据一致性问题。
向量数据库
- 高维向量处理:专为大规模高维数据设计,支持百亿级向量的存储与快速检索(毫秒级响应)。
- 计算密集型:查询依赖大量向量运算(如余弦相似度计算),需优化GPU/TPU加速。
- 扩展性:天然支持分布式架构(如Milvus、Transwarp Hippo),可水平扩展至千节点集群。
4. 应用场景
传统数据库
- 企业核心业务系统:ERP、CRM、供应链管理等需要高事务一致性的场景。
- 数据分析:数据仓库(OLAP)中的报表生成、历史数据分析。
- 典型场景:订单管理、库存追踪、用户账户系统。
向量数据库
- 推荐系统:基于用户行为向量的个性化推荐(如视频、商品)。
- 语义搜索:文本、图像的语义相似性检索(如搜索引擎、知识库问答)。
- RAG(检索增强生成):为大模型提供外部知识库支持,解决“幻觉”问题。
- 计算机视觉:图像/视频特征匹配(如人脸识别、目标检测)。
- 多模态融合:跨模态检索(如“查找包含猫的图片”)。
5. 技术实现差异
存储结构
- 传统数据库:行存储(Row-based)或列存储(Column-based),强调数据压缩与索引效率。
- 向量数据库:向量量化压缩(如IVF-PQ)减少存储开销,支持分布式存储(如HDFS、对象存储)。
索引与算法
- 传统数据库:B树、哈希索引。
- 向量数据库:HNSW(分层导航小世界图)、IVF-PQ(倒排文件+乘积量化)、LSH(局部敏感哈希)等,针对高维向量优化。
事务与一致性
- 传统数据库:严格遵循ACID原则,支持多版本并发控制(MVCC)。
- 向量数据库:通常弱化事务一致性,优先保证查询性能(如最终一致性)。
向量数据库的工作原理
向量数据库的工作原理主要围绕高维向量数据的嵌入存储、索引构建和高效检索展开,其核心目标是通过优化数据结构和算法,在大规模高维数据场景下实现快速的相似性搜索。向量数据库通过向量索引技术(如HNSW、IVF-PQ)和近似最近邻搜索(ANN),解决了传统数据库无法高效处理高维向量数据的问题。其核心在于将非结构化数据转化为向量表示,并通过优化索引和算法实现快速相似性检索
向量数据库的工作流程
向量嵌入
向量嵌入是捕捉非结构化数据(文本、图像、音频等)语义的高维数字表示法。向量数据库以向量嵌入的形式存储非结构化数据,每个数据点,无论是单词、文档、图像还是任何其他实体,都使用嵌入模型技术转换为数字向量。这个数值向量被称为嵌入,模型经过训练后,这些向量可以捕捉到底层数据的基本特征和特性。
每个向量嵌入之间的距离使得向量数据库或向量搜索引擎能够确定向量之间的相似性。距离可以代表数据对象的多个维度,从而支持机器学习和人工智能理解模式、关系和底层结构。
数据嵌入到向量数据库的过程
数据存储
向量数据库的存储机制与传统数据库显著不同,主要针对高维向量的特性进行优化:
- 向量化表示:非结构化数据(如文本、图像、音频)通过嵌入模型(如Word2Vec、BERT、ResNet)转换为高维向量(如512-1536维浮点数数组)。
- 存储结构:采用列式存储或特定向量格式(如二进制编码),支持压缩技术(如量化、PQ编码)以减少存储开销。例如,IVF-PQ(倒排文件+乘积量化)通过将向量拆分为子向量并量化,显著降低存储需求。
- 分布式存储:支持水平扩展,通过分布式架构(如HDFS、对象存储)管理海量向量数据。
图片文件向量化示意
音频文件向量化示意
索引构建
向量数据库中的索引对于提升高维数据空间中搜索操作的效率和速度至关重要。鉴于向量数据库中存储的数据的复杂性和海量性,索引机制对于快速定位和检索与查询最相关的向量至关重要。以下是向量数据库中索引的主要功能和优势:
- 高效的搜索操作:索引结构(例如 KD 树、VP 树或倒排索引)通过以减少在整个数据集中执行详尽搜索的需要的方式组织数据,从而实现更快的搜索操作。
- 可扩展性:随着数据量的增长,索引可确保搜索操作能够随着数据库的大小有效扩展,从而帮助维持性能水平。
- 减少延迟:通过促进更快的搜索,索引显著减少了查询与其相应结果之间的延迟,这对于需要实时或近实时响应的应用程序至关重要。
- 支持复杂查询:高级索引技术通过高效导航高维空间来支持更复杂的查询,包括最近邻搜索、范围查询和相似性搜索。
- 优化资源使用:有效的索引可以最大限度地减少搜索所需的计算资源,从而节省成本并提高系统可持续性,尤其是在基于云或分布式的环境中。
向量数据库常见索引方法包括:
平坦索引(FLAT)
- 向量以原始形式存储,无压缩或结构化处理。
- 查询时需遍历所有向量计算相似度(如余弦相似度或欧氏距离),适合小规模数据,但效率低。
树形索引(KD-Tree、Ball-Tree)
- 将向量空间递归分割为子空间,通过树结构加速搜索。
- 适用于低维(<20维)数据,但在高维场景下性能下降(如“维度灾难”)。
哈希索引(LSH)
- 利用局部敏感哈希(Locality-Sensitive Hashing)将相似向量映射到同一桶中。
- 通过牺牲部分召回率换取速度,适合大规模数据的粗粒度筛选。
图索引(HNSW)
- 构建分层导航小世界图(Hierarchical Navigable Small World Graph),通过多层图结构加速搜索。
- 支持高维数据(>1000维)的近似最近邻搜索(ANN),在精度和效率间取得平衡。
倒排索引(IVF系列)
- 将向量空间划分为多个聚类中心(如k-means),每个聚类对应一个倒排列表。
- 查询时先定位目标聚类,再在局部范围内搜索,显著减少计算量。常见变体包括IVF-PQ(结合乘积量化)和IVF-HNSW(结合图索引)。
查询处理
向量数据库的查询流程通常包括以下步骤:
- 向量映射:将输入数据(如用户查询文本、图像)转换为向量表示。
- 索引定位:利用索引结构快速缩小搜索范围(如定位到特定聚类或图节点)。
- 相似性计算:在候选集中计算查询向量与目标向量的相似度(如余弦相似度、欧氏距离)。
- 结果排序:按相似度对结果排序,返回Top-K个最相似向量。
关键技术
- 近似最近邻搜索(ANN):通过牺牲少量精度(召回率<100%)实现高效检索,是大规模向量数据库的核心策略。
- 混合查询:支持结合向量相似性搜索与标量过滤(如时间戳、类别标签),例如:
SELECT * FROM vectors WHERE category = 'cat' AND similarity > 0.8
数据预处理与优化
- 归一化:对向量进行标准化(如L2归一化)以消除尺度差异。
- 降维:通过PCA(主成分分析)或t-SNE降低向量维度,减少计算复杂度。
- 去噪:过滤冗余或异常向量,提升检索质量。
- 并行计算:利用GPU/TPU加速向量运算,或通过分布式框架(如Spark)处理大规模数据。
向量数据库的主要功能
针对高维数据和相似性搜索,向量数据库提供了一组独特的功能,主要包括:K最近邻搜索、相似性搜索、向量算术运算、向量转换,以解决不同场景的应用要求。
核心功能 | 功能描述 | 应用场景 |
---|---|---|
向量转换 | 使用转换器将各种数据类型(文本、图像、音频)转换为高维向量 | 数据管理:高效管理和检索复杂数据类型 |
向量算术运算 | 对整个向量执行计算以进行深度分析 | 自然语言处理(NLP):组合词嵌入创建文档嵌入,发现相似语义含义 |
K最近邻搜索 (KNN) | 检索与查询点最接近的k个数据点 | 推荐系统:电商平台根据用户交互行为推荐相似商品 |
相似性搜索 | 使用先进算法查找与给定查询最匹配的向量 | 搜索引擎:基于用户偏好和历史搜索行为的个性化搜索结果 |
向量转换
向量转换(Vector Transformation) 是向量数据库的核心预处理过程,指通过预训练的深度学习模型(如BERT、ResNet、Whisper)将非结构化数据(文本、图像、音频等)转化为高维数值向量的技术。
这些向量本质上是数据的数学表征,捕获了语义、视觉或声学特征,使计算机能够通过计算向量间的距离(如余弦相似度)来量化数据间的关联性。例如,一句“夏日海滩”文本可被转换为512维向量 [0.24, -0.17, …, 0.82] ,与“阳光沙滩”的向量距离近,而与“冬季雪山”的向量距离远,从而实现对语义相似性的精准建模。
向量算术运算
与针对单个数据元素进行操作的传统数据库不同,向量数据库能够对整个向量进行计算,以进行更深入的分析。这允许进行向量加、减、乘等运算,可用于在高维数据中查找聚类中心等任务。
举个例子:在自然语言处理中,向量加法可以用来组合词向量,从而创建文档向量。这样,我们就可以基于组合后的向量表征,找到语义相似的文档。例如,“国王”和“王后”的向量表征之和,可能与“君主”的向量表征相似。
K最近邻(KNN)搜索
K最近邻是一种简单的算法,它存储所有可用案例,并根据相似性度量对新数据或案例进行分类。它主要用于根据邻居的分类方式对数据点进行分类。此功能检索距离查询点最近的 k 个数据点。KNN 通常用于推荐系统,系统会推荐与用户过去交互过的项目类似的项目。
假设一个使用 KNN 进行产品推荐的电商平台。当用户浏览某个产品(基于其特征以向量表示)时,系统会检索 k 个最相似的商品(基于产品特征向量),并将其作为推荐对象。
相似性搜索
相似性搜索,也称为向量搜索、向量相似性或语义搜索,相似性搜索通过数学方法在高维向量空间中快速查找与目标向量最接近的数据对象。其本质是将数据(如图片、文本、音频)转化为特征向量后,计算向量间的距离或相似度(如余弦相似度、欧氏距离、曼哈顿距离),并高效检索出相似度最高的结果。
- 欧氏距离:测量点之间的直接距离。对于整体差异重要的密集特征集的聚类或分类非常有用。
- 余弦相似度:关注向量之间的角度。非常适合文本处理和信息检索,它基于方向而非传统的距离来捕捉语义相似度。
- 曼哈顿距离:计算笛卡尔坐标系中绝对差的和。适用于网格结构中的寻路和优化问题。适用于稀疏数据。
这种搜索突破传统关键词匹配的局限,实现“以图搜图”“语义找文本”等智能匹配场景,在亿级数据中可达毫秒级响应,成为AI时代处理非结构化数据的基石。
这些功能使向量数据库在需要高效相似性搜索和高维数据分析的各种应用中表现出色。
向量数据库的组件化能力
性能和容错能力
分片和复制过程确保向量数据库具有高性能和容错能力。分片涉及跨多个节点对数据进行分区,而复制涉及跨不同节点创建多个数据副本。即使某个节点发生故障,这也能实现容错能力并保持良好的性能。
监控能力
为了保证性能和容错能力,向量数据库需要监控资源使用情况、查询性能和整体系统健康状况。
访问控制功能
向量数据库也需要数据安全管理。访问控制规则确保合规性、可追溯性以及审计数据库使用情况的能力。这也意味着数据受到保护:只有拥有权限的用户才能访问数据,并且用户活动记录会被保存。
可扩展性和可调整性
良好的访问控制能力影响着向量数据库的可扩展性和可调整性。随着存储数据量的增加,水平扩展能力变得至关重要。不同的插入和查询速率以及底层硬件的差异都会影响应用程序的需求。
多用户和数据隔离
向量数据库除了具备可扩展性和访问控制功能外,还应支持多用户或多租户。与此同时,向量数据库应支持数据隔离,以便任何用户活动(例如插入、删除或查询)对其他用户保密——除非另有要求。
备份
向量数据库会定期创建数据备份。这是向量数据库在系统发生故障时的关键组成部分——如果发生数据丢失或损坏,备份可以帮助将数据库恢复到之前的状态。这最大限度地减少了停机时间。
API 和 SDK
向量数据库使用 API 来实现用户友好的界面。API 是一种应用程序编程接口,或者说是一种软件,它使应用程序能够通过请求和响应相互“对话”。API 层简化了向量搜索体验。SDK(软件开发工具包)通常封装了 API。它们是数据库用于通信和管理的编程语言。SDK 有助于开发人员更友好地使用向量数据库,因为在开发特定用例(语义搜索、推荐系统等)时,开发人员无需担心底层结构。
全球主流开源向量数据库
开源向量数据库正逐渐成为AI应用领域的主要基础设施,而且兼具社区支持与生态构建能力,大部分开源向量数据库通常包含以下特点:
- 高效索引:近似最近邻 (ANN) 搜索等索引机制减少了查找相似向量表示所需的时间,这对于涉及实时数据分析的应用很有用。
- 相似性搜索:此功能基于欧氏距离和余弦相似度等度量,在高维空间中查找与给定查询向量接近的向量。对于推荐引擎等应用而言,相似性搜索至关重要,因为系统需要识别与用户偏好相似的项目。开源向量数据库通常使用算法来准确执行这些搜索。
- 可扩展性:随着组织收集越来越多的高维数据,数据库必须在不影响性能的情况下有效管理这种增长。开源解决方案通常提供分布式架构,有助于扩展,即使数据量增加也能确保一致的响应时间。
- 与机器学习库集成:开源向量数据库通常与流行的机器学习框架兼容,允许直接在数据库上轻松部署机器学习模型。这使得学习到的模型能够直接应用于存储的数据,进行实时分析和预测。
- 社区和支持:开源社区可以通过论坛、文档或代码库贡献提供帮助。这些数据库通常受益于活跃的社区,这些社区可以帮助排除故障、增强功能并提供全面的使用指南。
以下整理了部分目前市场主流开源的向量数据库。
OpenSearch
OpenSearch 作为向量数据库, 将传统搜索、分析和向量搜索的强大功能融为一体。OpenSearch 的向量数据库功能可以减少开发者操作、管理和集成 AI 生成资产的工作量,从而加速人工智能 (AI) 应用的开发。
仓库: https://github.com/opensearch-project/OpenSearch
许可: Apache-2.0 许可证
OpenSearch 的主要特点
- GPU 加速: OpenSearch 3.0 与 1.3 版本相比,性能提升高达 9.5 倍,使其成为向量数据库工作负载的强大引擎。基于 GPU 加速的引入,由 NVIDIA cuVS 提供支持,将索引时间显著缩短高达 9.3 倍,同时将运营成本降低 3.75 倍。其性能专为满足从推荐引擎到混合搜索等 AI 驱动型应用的需求而量身定制。
- 语义句子突出显示:通过使用机器学习来识别和突出显示基于含义(而不仅仅是关键字匹配)的相关句子,从而增强搜索结果的相关性。
- 与 gRPC 和 MCP 无缝集成: OpenSearch 3.0 简化了与 gRPC 支持的集成,以实现更快的数据通信,并支持 MCP 实现轻松的 AI 代理交互,从而支持下一代 AI 解决方案。
- 可扩展性:得益于读写分离等功能,即使在资源密集型任务中,也能隔离工作负载,确保高效率。此外,基于拉取的提取功能允许用户按需从 Apache Kafka 等来源检索数据,从而实现对大规模数据流的自适应控制。这些改进使企业能够应对向量数据的指数级增长,同时优化资源。
Faiss
Faiss 是一个用于密集向量相似性搜索和聚类的库。Faiss 主要由 Meta 的基础人工智能研究小组开发,支持搜索任意大小的向量集,包括那些太大而无法放入 RAM 的向量集。它还提供了评估和参数调整工具。Faiss 使用 C++ 编写,包含完整的 Python/numpy 封装器。
- 仓库: https://github.com/facebookresearch/faiss
- 许可: MIT 许可证
Faiss 的主要特点
- 相似性搜索方法:支持多种相似性搜索方法,假设实例表示为由整数标识的向量。允许使用 L2(欧几里得)距离或点积比较向量,并支持对归一化向量进行余弦相似性计算。
- 压缩向量表示: Faiss 中的某些方法使用二进制向量和紧凑量化码,允许对向量进行压缩表示而不保留原始向量。
- 索引结构:通过在原始向量之上添加索引结构(例如 HNSW 和 NSG)来提高搜索效率。这些结构有助于管理大型数据集并加快搜索过程。
- GPU 实现:支持可从 CPU 或 GPU 内存获取输入的 GPU 实现。GPU 索引可以替代 CPU 索引(例如,用 GpuIndexFlatL2 替代 IndexFlatL2),并自动处理内存传输。
Chrome
Chroma 是一个 AI 原生开源向量数据库,用于简化 LLM(大型语言模型)应用程序的开发。它通过使知识、事实和技能轻松插入 LLM 来支持这些应用程序的构建。
- 仓库: https://github.com/chroma-core/chroma
- 许可: Apache-2.0 许可证
Chroma 的主要特点
- 嵌入和元数据的存储:允许高效存储和管理嵌入及其相关元数据,确保轻松检索和组织高维数据。
- 文档和查询嵌入:提供嵌入文档和查询的工具,实现相似性搜索并确保相关结果。
- 搜索嵌入:支持在嵌入内搜索以快速找到相关数据点,增强依赖于快速数据检索的应用程序的性能。
- 速度:提供高性能和快速的数据处理能力,确保应用程序可以处理大量数据而不会出现延迟问题。
Milvus
Milvus 是一个用于嵌入相似性搜索和 AI 应用的开源向量数据库。它旨在使非结构化数据搜索更易于访问,并在不同的部署环境(包括笔记本电脑、本地集群和云端)中提供一致的用户体验。
- 仓库: https://github.com/milvus-io/milvus
- 许可: Apache-2.0 许可证
Milvus 的主要特点
- 在万亿向量数据集上进行毫秒级搜索:即使在万亿向量数据集上也能够以毫秒级的平均延迟进行搜索。
- 简化非结构化数据管理:为数据科学工作流提供丰富的 API,简化非结构化数据的管理和查询。
- 一致的用户体验:在各种部署环境中提供无缝的用户体验。
- 始终在线的数据库:具有内置复制和故障转移/故障恢复机制,可保持业务连续性。这些功能可确保即使在发生中断的情况下,数据和应用程序也能保持可用和可靠。
Qdrant
Qdrant是一个向量相似度搜索引擎和向量数据库,提供生产级服务,并配有易于使用的 API,用于存储、搜索和管理向量以及其他有效载荷数据。它提供扩展的过滤支持,使其适用于神经网络或基于语义的匹配、分面搜索和其他应用。
- 仓库: https://github.com/qdrant/qdrant
- 许可: Apache-2.0 许可证
Qdrant 的主要特点
- 过滤和负载:允许将任何 JSON 负载附加到向量,支持各种数据类型和查询条件。支持基于这些负载中的值进行存储和过滤,包括关键字匹配、全文过滤、数值范围和地理位置。
- 稀疏向量混合搜索:为了增强向量嵌入的功能,除了常规密集向量外,还支持稀疏向量。稀疏向量扩展了传统 BM25 或 TF-IDF 排序方法的功能,允许使用基于 Transformer 的神经网络进行有效的 token 加权。
- 向量量化和磁盘存储:提供多种选项,使向量搜索更具成本效益和资源效率。内置向量量化功能可将 RAM 占用率降低高达 97%,并动态平衡搜索速度和精度。
- 分布式部署:通过分片和复制支持水平扩展,从而实现规模扩展和吞吐量提升。提供零停机滚动更新和集合的动态扩展。
Weaviate
Weaviate 是一个云原生开源向量数据库,注重速度和可扩展性。它利用机器学习模型,将各种类型的数据(文本、图像等)转换为高度可搜索的向量数据库。
- 仓库: https://github.com/weaviate/weaviate
- 许可: BSD-3-Clause 许可证
Weaviate 的主要特点
- 速度:拥有一个核心引擎,能够在几毫秒内对数百万个对象执行 10-NN 最近邻搜索。
- 灵活性:可以在导入过程中向量化数据,或允许用户上传预先向量化的数据。该系统的模块化架构提供了二十多个模块,可连接到流行的服务和模型中心,包括 OpenAI、Cohere、VoyageAI 和 HuggingFace。
- 生产级支持:专注于扩展、复制和安全性。可从快速原型设计平稳过渡到全面生产。这确保应用程序在扩展时不会影响性能或可靠性。
- 超越搜索:其功能扩展到推荐、总结以及与神经搜索框架的集成。
以下是一些支持向量数据的通用数据库。
Elasticsearch
Elasticsearch Vector Search 是 Elasticsearch(ES)内置的向量检索能力,通过将向量数据与传统文本、数值字段结合,实现混合检索(Hybrid Search)。
- 仓库: https://github.com/elastic/elasticsearch
- 许可: SSPL(Server Side Public License) + Elastic License 双协议,自 7.11 版本起,部分高级向量功能需商业订阅(如 NLP 集成、安全特性)
Elasticsearch 用于向量数据的主要特点
- 原生多模态支持:集成BERT/SentenceTransformers,支持 CLIP/ViT图像嵌入,支持同一文档内可同时包含向量、文本、地理数据。
- 混合查询(Hybrid Query):同时利用 BM25(关键词权重)和余弦相似度算法综合排序。
- 高性能索引:支持dense_vector、ivf等索引类型,实现高召回率实时搜索,小数据集精确匹配,超大规模数据压缩存储
- 企业级生态整合:RBAC 权限 + TLS 加密,与 Kibana 深度集成,可视化向量检索性能,通过 Ingest Pipeline 实现自动化向量生成。
- 部署灵活性:支持云服务、本地部署与硬件加速。
PostgreSQL
PostgreSQL 是一个开源关系数据库,通过 pgvector 等扩展程序支持向量数据。此扩展程序能够对向量数据进行高效的相似性搜索,并与 PostgreSQL 生态系统集成。
- 仓库: https://github.com/postgres/postgres
- 许可: PostgreSQL 许可证
PostgreSQL 用于向量数据的主要特点
- pgvector 扩展:允许存储和查询向量嵌入,促进 PostgreSQL 环境中的相似性搜索。
- 索引:支持各种索引方法,例如ivfflat,以优化向量搜索性能。
- 可扩展性:提供可扩展性和对大型数据集的支持,使其适用于向量数据应用。
- 灵活性:支持将向量搜索与传统SQL操作相结合的复杂查询,为多种数据类型提供统一的平台。
Cassandra
Cassandra 是一个可扩展的 NoSQL 数据库,用于处理跨多台商用服务器的海量数据,提供高可用性,且无单点故障。随着向量搜索功能的引入,Cassandra 可以高效地管理向量数据。
- 仓库: https://github.com/apache/cassandra
- 许可: Apache-2.0 许可证
Cassandra 用于向量数据的主要特点
- 可扩展性:能够处理 PB 级数据,适用于需要大规模向量存储和检索的应用程序。
- 高可用性:通过分布式架构确保数据可用性,即使在节点发生故障时也是如此。
- 向量搜索:支持向量搜索功能,可在分布式数据库框架内进行相似性搜索。
- 集成:可以与各种机器学习框架集成,利用其数据存储功能用于人工智能应用。
Valkey
Valkey 是一个专门的向量数据库,旨在高效管理和搜索高维向量数据。它提供了一套专门用于向量数据管理和检索的工具和 API。
- 仓库: https://github.com/valkey-io/valkey
- 许可: BSD 3-Clause 许可证
Valkey 用于向量数据的主要特点
- 优化存储:使用先进的数据结构和索引方法来有效地存储和检索向量数据。
- 高性能:专为快速向量相似性搜索而设计,即使在大型数据集下也能确保低延迟。
- 丰富的 API:提供用于管理向量数据的 API,支持从 AI 到搜索引擎的一系列用例。
- 可扩展性:支持分布式部署,允许随着数据和查询负载的增加而扩展。
CockroachDB
CockroachDB 是一款云原生分布式 SQL 数据库,专为高弹性的全球应用而设计。它最近新增了对向量数据的支持,使其成为管理传统数据和向量数据的多功能选择。
- 仓库: https://github.com/cockroachdb/cockroach
- 许可: BSL 1.1、MIT 许可证、CockroachDB 社区许可证 (CCL)
CockroachDB 用于向量数据的主要特点
- 分布式架构:确保跨多个地理位置的数据弹性和可用性。
- 向量搜索支持:实现向量数据的高效存储和检索,支持相似性搜索操作。
- SQL兼容性:将向量数据处理与传统SQL查询相结合,提供统一的数据管理解决方案。
- 可扩展性和弹性:构建为水平扩展,具有强大的一致性保证,确保向量数据应用程序的可靠性能。
如何选择开源数据库?
不同厂商的向量数据库基于其产品定位与发展阶段,都有各自的优劣,我们在具体项目中选择向量数据库时,需要结合应用场景、性能要求、技术适配性等各方面综合考虑选型方案,以期取得最佳应用效果。
选型前需要明确的关键问题
1. 数据规模有多大?
- 是百万级、千万级还是亿级数据?
- 是否需要支持实时写入或批量导入?
2. 是否需要开源?
- 是否希望拥有源码控制权?
- 是否有团队具备定制开发能力?
3. 查询性能要求有多高?
- 是否需要毫秒级响应?
- 对召回准确率是否有严格要求?
4. 是否需要混合检索能力?
- 是否需要结合结构化字段(如标签、时间、价格)做联合过滤?
5. 部署环境和运维能力如何?
- 是否支持本地部署?
- 是否有 DevOps 团队维护复杂架构?
6. 成本预算是否有限制?
- 能否承担商业产品的订阅费用?
- 是否愿意投入人力进行自建与优化?
选型最关键的3个因素
选型过程中,最关键的几个因素可能是以下几方面:可扩展性、性能表现和集成能力。这些因素确保数据库能够处理不断增长的数据量,提供所需的速度和效率,并与现有数据基础设施无缝集成,从而为管理和查询高维数据提供强大的解决方案。
1. 可扩展性
可扩展性是评估向量数据库时的一个关键考虑因素。随着数据量的增长,数据库必须高效地处理不断增长的向量数据,同时又不影响性能。向量数据库的设计旨在水平扩展,这意味着它们可以将数据和工作负载分布到多个服务器或节点上。这种方法确保了随着数据量的增加,系统可以通过添加更多资源来适应增长。
Milvus 和 Pinecone 等现代向量数据库在构建时就充分考虑了可扩展性。它们采用分布式架构和分片技术来有效地管理大型数据集。
2. 性能表现
性能至关重要,尤其对于需要实时或近实时响应的应用程序而言。高性能向量数据库采用优化的索引技术和内存处理来加速查询执行。
例如,由 Facebook AI Research 开发的 Faiss 以其高速向量搜索功能而闻名,尤其是对于大规模数据集。
3. 集成能力
向量数据库应该与各种数据源、数据管道和分析工具无缝集成。这确保向量数据库能够与现有生态系统协调工作,促进数据提取、处理和分析。
向量数据库通常提供多种编程语言的 API 和 SDK,方便开发者将其集成到应用程序中。例如,Milvus 提供 Python、Java 和 Go 等丰富的 API,方便开发者轻松将数据库连接到数据管道和分析框架。此外,许多向量数据库支持与 TensorFlow 和 PyTorch 等热门机器学习库集成,从而实现高效的模型部署和推理。
不同业务场景下的选型建议
场景一:企业级推荐系统
- 推荐产品:Milvus / Pinecone
- 推荐理由:Milvus 支持 PB 级数据、分布式架构,适合大规模商品/用户画像管理。Pinecone 提供全托管服务,适合快速上线,无需运维。
场景二:科研实验或算法验证
- 推荐产品:Faiss
- 推荐理由:极致性能优化,适合小规模实验;社区活跃,文档丰富,便于调参。
场景三:知识图谱 + 语义搜索
- 推荐产品:Weaviate
- 推荐理由:支持知识图谱建模,可将实体关系与向量空间结合;适合法律、医疗、教育等领域的内容语义分析。
场景四:图像检索、电商推荐
- 推荐产品:Qdrant / Milvus
- 推荐****理由:Qdrant 支持动态过滤,适合带元数据的检索;Milvus 适合大规模图像库管理。
场景五:无运维资源的小型项目
- 推荐产品:Pinecone
- 推荐理由:全托管服务,开箱即用;API 接口简洁,集成门槛低。
选型总结
选择一款合适的向量数据库,不仅关乎当前项目的成败,也会影响未来系统的扩展性与迭代效率。无论是选择开源自主可控,还是选择商业快速部署,都应基于业务目标、团队能力与技术路线综合判断。
一句永远正确的选型建议:没有最好的产品,只有最合适的方案。
此外,我们也可以通过技术细节对比与优劣势对比的方法获得选型的参考决策支撑。
附:部分向量数据库技术细节对比
特性 | Milvus | Pinecone | Faiss | Weaviate | Qdrant |
---|---|---|---|---|---|
开源状态 | 开源 | 商业 | 开源 | 开源 | 开源 |
编程语言支持 | 多种语言 | REST API, Python SDK | C++, Python | GraphQL, REST API | REST API, gRPC, Python SDK |
索引机制 | IVF-PQ, HNSW, Flat | 自定义高效索引 | IVF, PQ | HNSW | HNSW, Filterable HNSW |
查询性能 | 高效ANN搜索 | 极高查询速度 | 适合中小规模数据集 | 良好,尤其适合知识图谱查询 | 优秀,尤其是带过滤条件查询 |
支持的数据类型 | 向量,多模态 | 向量 | 向量 | 向量+结构化 | 向量+JSON元数据 |
扩展性 | 分布式架构 | 自动扩展 | 不太容易扩展至PB级 | 支持分布式部署 | 支持集群模式 |
混合检索能力 | 支持 | 支持 | 基础版不支持 | 强大 | 强调动态过滤 |
适用场景 | 推荐系统、图像检索 | 实时推荐、个性化搜索 | 科研、原型开发 | 语义搜索、知识图谱 | 图像检索、推荐系统 |
社区活跃度 | 高度活跃 | N/A | 活跃 | 活跃 | 活跃 |
附:部分向量数据库总优劣势对比
产品 | 优势 | 劣势 |
---|---|---|
Milvus | 多模态支持、分布式架构、企业级功能强 | 部署复杂、学习曲线陡、文档偏英文 |
Pinecone | 易用性强、托管服务、实时性能好 | 闭源、费用高、无法本地部署 |
Faiss | 极致性能、适合科研、轻量级 | 不支持分布式、无持久化、功能单一 |
Weaviate | 支持知识图谱、语义能力强、模块化好 | 查询性能一般、文档不完善 |
Qdrant | 轻量、支持 JSON 过滤、接口丰富 | 企业功能待完善、文档较少 |
选型简要说明:
- 是否开源:决定你是否有权限查看源码、进行本地定制。
- 支持语言:影响开发效率与技术栈适配度。
- 索引类型:决定了查询精度与速度之间的平衡。
- 查询性能:反映在毫秒级响应能力、近似召回率等方面。
- 混合检索:是否支持“向量 + 结构化字段”联合查询。
- 扩展性:能否支撑 PB 级数据增长及分布式部署。
- 部署难度:对运维人员的技术门槛要求。
- 适用场景:根据产品特性推荐的最佳使用方向。
选型建议参考:
- 需要完全自主可控? → 选择 Milvus 或 Qdrant
- 希望快速上线且不想运维? → 选择 Pinecone
- 用于科研或算法验证? → 选择 Faiss
- 构建知识图谱类应用? → 选择 Weaviate
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。