Skip to main content
PromptQuorum
主页/本地LLM进阶/Qdrant评测2026:面向RAG的自托管向量数据库
RAG & Document Chat

Qdrant评测2026:面向RAG的自托管向量数据库

·阅读约11分钟·Hans Kuepper 作者 · PromptQuorum创始人,多模型AI调度工具 · PromptQuorum

Qdrant是一款免费、开源(Apache-2.0)的向量数据库与搜索引擎,用Rust编写,你可以通过Docker、可下载的二进制文件或Rust crate自托管,也可以使用Qdrant Cloud——一项独立的、可选的托管服务。 它将向量embedding与JSON payload元数据一起存储,支持稠密、稀疏及混合搜索,并内置Web控制台(本地Docker安装通常位于http://localhost:6333/dashboard),无需编写代码即可浏览集合。Qdrant最常与本地embedding模型以及LangChainLlamaIndex等RAG框架搭配使用,让本地LLM能够检索你自己的文档。

Qdrant(qdrant.tech,源码见github.com/qdrant/qdrant)是一款免费、开源的向量数据库与搜索引擎,用Rust编写,专为存储embedding及其元数据并对其执行快速相似度搜索而设计。它提供兼容OpenAPI的REST API、gRPC API,以及Python、JavaScript/TypeScript、Go、Rust、.NET/C#和Java的官方客户端库,还内置了用于浏览集合(collection)的Web控制台。本文将介绍Qdrant实际能做什么、如何运行它、如何与本地embedding模型一起接入本地RAG流水线,以及它与其他向量数据库相比处于什么位置。

关键要点

  • Qdrant在Apache License 2.0下免费开源——自托管服务器没有付费层级
  • 用Rust编写;可通过Docker(docker run -p 6333:6333 qdrant/qdrant)、可下载的二进制文件或Rust crate运行
  • 官方客户端库:Python(pip install qdrant-client)、JavaScript/TypeScript(npm install @qdrant/js-client-rest)、Go、Rust、.NET/C#和Java,均来自Qdrant自己的客户端文档
  • 支持稠密向量、稀疏向量和混合搜索,以及基于JSON的payload过滤(嵌套字段、文本、地理位置和存在性条件)
  • 内置Web控制台,用于浏览集合和运行测试查询,本地安装通常可通过http://localhost:6333/dashboard访问
  • 支持向量量化;Qdrant自己的文档表示,在有利的配置下内存占用最多可降低约97%——实际节省效果取决于你的数据和量化方法,因此应对自己的工作负载进行基准测试,而不是假设这一数字普遍适用
  • GitHub仓库(github.com/qdrant/qdrant)截至2026年9月显示约34,655颗星
  • Qdrant Cloud是同一家公司在AWS、GCP或Azure上提供的独立、可选托管服务——使用开源软件并非必须使用它

📍 简单一句话

Qdrant是一款免费、开源(Apache-2.0)的向量数据库与搜索引擎,用Rust编写,可通过Docker自托管,内置Web控制台,除了自己的基础设施外没有任何费用。

💬 简单来说

与其为托管的向量搜索API付费,不如自己在Docker容器中运行Qdrant——它会存储代表你文档的数字"embedding"向量,以及你附加的任何标签或元数据,这样你的本地LLM就能快速找到最相关的文本片段来回答问题。

📌: 本文是本地LLM软件目录中Qdrant条目的深度补充——该页面可让你一目了然地看到Qdrant与其他数十种本地AI工具的对比。

Qdrant是什么?

Qdrant是一款向量数据库与相似度搜索引擎,将高维embedding向量与称为"payload"的结构化JSON元数据一起存储,并可同时对两者进行搜索。 其自身的GitHub描述将其定位为具有REST和gRPC API的"vector similarity search engine and vector database",专为存储、搜索和管理向量及其payload数据而构建,用于语义匹配、分面搜索以及其他需要比较embedding的应用。

  • 核心功能:一个专为存储embedding向量及任意JSON payload元数据而构建的数据库,可根据该元数据进行过滤,并执行快速的近似最近邻搜索
  • 实现方式:根据项目自己的仓库和文档,使用Rust编写
  • 访问方式:REST API、gRPC API,以及Python、JavaScript/TypeScript、Go、Rust、.NET/C#和Java的官方客户端库(社区还为Kotlin和PHP提供了客户端)
  • 与这类用户相关的接口:通过curl/客户端SDK进行命令行使用、通过任一官方客户端嵌入应用中的库使用,以及无需编写代码即可浏览集合的内置Web控制台
  • 部署模式:在Apache License 2.0下完全可自托管,对于不想运维自己集群的团队,也可使用独立、可选的托管服务Qdrant Cloud(AWS、GCP或Azure)
  • 规范仓库:github.com/qdrant/qdrant——该项目的源代码、issue跟踪器和发布历史

Qdrant的项目历史

Qdrant由Qdrant公司开发,该公司是这个开源项目及其qdrant.tech网站的背后团队。代码库已在GitHub上公开多年,截至2026年9月已增长到约34,655颗星,并拥有活跃的贡献者群体。该项目已从单节点的向量搜索引擎扩展为一个平台,还支持分布式部署(分片与副本)、用于降低内存占用的向量量化、密集/稀疏混合搜索,以及一个名为Qdrant Edge的更轻量、进程内运行的变体。

  • GitHub仓库(github.com/qdrant/qdrant)是该项目源代码和发布说明的规范、持续维护的所在地
  • Qdrant Cloud这一独立托管产品是与开源引擎一同推出的,作为该公司的商业化产品
  • Qdrant Edge在qdrant.tech上被描述为面向资源受限环境的轻量级、进程内运行的数据库变体,是产品线中较新的补充,在本文撰写时仍处于测试版

Qdrant能做什么?

Qdrant的功能集以大规模存储和搜索向量embedding为核心,并在此之上叠加了元数据过滤和多种搜索模式。根据Qdrant自己的文档GitHub README,以下是各部分的实际作用。

  • 稠密向量搜索 — 为每个point存储一个或多个稠密embedding向量,并对其执行近似最近邻搜索,这是语义搜索和RAG检索背后的核心工作负载
  • 稀疏向量与混合搜索 — 在单次查询中将稠密embedding与稀疏向量(一种类似关键词的表示)结合,当纯语义相似度会漏掉用户输入的确切词语时非常有用
  • Payload过滤 — 为每个向量附加任意JSON元数据(即"payload"),并据此过滤搜索结果,包括嵌套字段、文本匹配、地理条件和字段存在性检查
  • 向量量化 — 应用标量、乘积或二值量化以降低内存占用;Qdrant自己的文档表示,在有利的配置下最多可降低约97%,但实际效果取决于你的向量和配置
  • 多向量支持 — 为每个point存储多个向量(例如每个文档分块或图像区域一个),实现更细粒度的相关性评分
  • 内置Web控制台 — 一个可视化界面,用于浏览集合、检查point并运行测试查询,本地安装通常可通过http://localhost:6333/dashboard访问,无需编写任何客户端代码
  • 分布式部署 — 通过分片和副本实现超出单节点的扩展,当自托管部署超出单机规模时会用到
  • 实时索引 — 根据Qdrant文档,新增和更新的point无需完整重建索引即可被搜索到

本地RAG流水线中的使用示例

以下是基于上文所述Qdrant已记录功能构建的具体工作流——这是自托管的"embedding模型+向量数据库"式RAG搭建通常采用的形态。

安装Qdrant

Qdrant可通过Docker、可下载的二进制文件或Rust crate免费安装,其源代码托管在GitHub上。 以下链接来自Qdrant自己的文档GitHub仓库——由于确切的命令可能在不同版本间变化,请始终以这些页面为准直接核实。

来源
链接
官方网站与文档qdrant.tech
GitHub仓库(源代码,Apache-2.0)github.com/qdrant/qdrant
Docker镜像hub.docker.com/r/qdrant/qdrantdocker run -p 6333:6333 qdrant/qdrant
Python客户端(PyPI)pypi.org/project/qdrant-clientpip install qdrant-client
JavaScript/TypeScript客户端(npm)npmjs.com/package/@qdrant/js-client-restnpm install @qdrant/js-client-rest
Rust cratecargo add qdrant-client,见客户端文档
Qdrant Cloud(托管,可选)cloud.qdrant.io

Qdrant没有图形化安装程序——它以服务器进程的形式运行(通过Docker、二进制文件或从源代码构建),你通过客户端库或Web控制台连接到它。Qdrant自身没有公布固定的硬件最低要求;所需的内存和磁盘空间随向量数量、维度以及是否使用量化而变化。

Qdrant定价:开源版 vs. Qdrant Cloud

自托管的Qdrant服务器是免费的,开源软件本身没有付费层级。 GitHub LICENSE文件适用于整个自托管代码库,是标准的Apache License, Version 2.0。Qdrant Cloud是同一家公司提供的独立托管产品,单独计费,使用Qdrant完全不需要它。

  • 自托管Qdrant:免费开源(Apache-2.0),无订阅费,软件本身不设使用限制——唯一的成本是你自己的基础设施(计算、内存、磁盘)
  • 运行开源服务器无需账户或注册
  • Qdrant Cloud是在AWS、GCP或Azure上提供的独立、可选托管服务;最新的层级和费率请直接查看qdrant.tech/pricing,本文不重复可能变动的价格数字
  • Qdrant Edge是一款轻量级进程内运行的变体,本文撰写时仍处于测试版——在依赖它之前,请在qdrant.tech上核实其当前的许可和可用性

Qdrant vs. Milvus

Qdrant和Milvus是两个较为成熟的开源、可自托管向量数据库,它们经常被拿来比较,因为两者都瞄准生产级规模的相似度搜索并支持元数据过滤。最明显的区别在于实现语言、部署复杂度,以及各自如何定位其托管云服务。

方面
Qdrant
Milvus
实现语言RustGo和C++
单节点部署单个Docker容器(qdrant/qdrant除非使用Milvus Lite变体,否则通常需要更多组件(etcd、对象存储)
内置Web控制台有,随服务器一同提供需要单独的工具(Attu)进行GUI管理
混合搜索在单次查询中支持稠密+稀疏+多向量通过自己的混合搜索API支持
许可证Apache License 2.0Apache License 2.0
托管云服务Qdrant Cloud(AWS/GCP/Azure)Zilliz Cloud,由Milvus的主要商业支持方运营

如果你的首要目标是尽可能简单的单容器自托管方案并内置控制台,那么对大多数本地和小团队场景而言,Qdrant的部署足迹更轻量。如果你已经在更大规模上运维基于Kubernetes的原生基础设施,请直接评估Milvus——两者都是免费开源的Apache-2.0软件,且都频繁发布更新,因此在决定之前请在各自的官方网站上核实最新的功能细节。

谁适合使用Qdrant?

Qdrant是否适合你,取决于你是否需要一个具备payload过滤和混合搜索能力的专用、可自托管向量数据库,而不是更简单的嵌入式或内存中选项。

Qdrant vs. 其他向量数据库和RAG工具

Qdrant是向量数据库和RAG基础设施领域众多工具之一。以下是它与其他选项相比的定位——完整目录请见本地LLM软件目录,最接近的正面对比请见上文的Qdrant vs. Milvus对比

  • Milvus — 另一款用Go和C++构建的开源、可自托管向量数据库,面向大规模生产部署;详见上文的专门对比部分。
  • txtai — 一款以进程内方式运行、而非作为独立服务器运行的嵌入式向量搜索与RAG工具包,是面向较小数据集的更轻量选项。
  • LangChain — 一个编排框架,本身并非向量数据库,常用于将Qdrant与文档加载器及LLM一起接入完整的RAG流水线。
  • LlamaIndex — 构建RAG流水线时可替代LangChain的数据框架,通过其自有的向量存储连接器可与Qdrant集成。
  • Haystack(deepset) — 一款与LangChain和LlamaIndex类似、位于向量数据库层之上的RAG与搜索框架,可将Qdrant用作后端存储。
  • 另见PromptQuorum自己的Pinecone vs. Weaviate vs. Qdrant vs. Chroma对比,从更广的四方视角审视向量数据库格局。

评估Qdrant时的常见误区

关于Qdrant的大多数困惑,都源于将它与完整的RAG框架混为一谈、误解它与Qdrant Cloud的关系,或者假设它自己会生成embedding。

常见问题

Qdrant是什么?

Qdrant(qdrant.tech,源码见github.com/qdrant/qdrant)是一款免费、开源的向量数据库与搜索引擎,用Rust编写。它将向量embedding与JSON payload元数据一起存储,支持稠密、稀疏和混合相似度搜索。

Qdrant是免费的吗?

是的,自托管的Qdrant服务器免费开源,采用Apache License 2.0,没有付费层级。Qdrant Cloud是一项独立的托管服务,单独计费——如果你选择这条路径,最新价格请查看qdrant.tech/pricing

Qdrant是开源的吗?使用什么许可证?

是的。Qdrant的GitHub LICENSE文件是标准的Apache License, Version 2.0,适用于整个自托管代码库。

Qdrant能否完全在本地运行,不依赖云?

可以。Qdrant可通过Docker(docker run -p 6333:6333 qdrant/qdrant)、可下载的二进制文件或Rust crate完全自托管。Qdrant Cloud是可选且独立的——运行该软件并不需要它。

Qdrant有Web控制台吗?

有。Qdrant内置Web控制台,本地安装通常可通过http://localhost:6333/dashboard访问,用于浏览集合、检查point并运行测试查询,无需编写客户端代码。

Qdrant支持混合搜索吗?

支持。根据其自身文档,Qdrant支持在单次查询中结合稠密向量(语义)搜索与稀疏向量(关键词式)搜索,并支持多向量。

如何将Qdrant与本地embedding模型搭配使用?

Qdrant本身不生成embedding。运行一个本地embedding模型(例如通过Ollama或Python中的sentence-transformers模型)将文本转换为向量,然后使用Qdrant的官方客户端之一(Python、JavaScript/TypeScript、Go、Rust、.NET/C#或Java)来存储和查询这些向量。

Qdrant和Qdrant Cloud有什么区别?

Qdrant是开源的向量数据库软件,可在任何地方免费自托管。Qdrant Cloud是同一家公司提供的独立、可选托管产品,运行在AWS、GCP或Azure上,与开源软件独立计费。

Qdrant能与LangChain或LlamaIndex集成吗?

可以。LangChainLlamaIndex都为Qdrant提供了向量存储连接器,让你可以在用任一框架构建的更大RAG流水线中,将其用作检索后端。

Qdrant支持哪些编程语言?

根据Qdrant自己的客户端文档,它提供Python、JavaScript/TypeScript、Go、Rust、.NET/C#和Java的官方客户端库,此外还有REST API和gRPC API,任何语言都可以直接调用。

资料来源

← 返回 本地LLM进阶