.NET 使用 Qdrant.Client 连接向量数据库 Qdrant 的完整指南
2025-05-18 2426 0
随着向量数据库在 AI、搜索、推荐系统等领域的广泛应用,越来越多的开发者开始将 Qdrant 集成到自己的项目中。对于 .NET 开发者而言,使用 Qdrant.Client 实现与 Qdrant 的高效连接和数据操作,是构建语义搜索和嵌入式检索系统的关键步骤。本文将为你介绍如何在 .NET 中使用 Qdrant.Client 连接并操作 Qdrant 向量数据库。

什么是 Qdrant?
Qdrant 是一个开源的、专为高性能向量搜索设计的向量数据库,支持基于向量的最近邻搜索(ANN),并提供 REST 和 gRPC 接口,适用于文本、图像、音频等多种嵌入向量数据的检索。
其主要特性包括:
- 高性能向量索引(如 HNSW)
- 支持过滤条件的向量检索
- 多种客户端语言支持
- 向量数据持久化存储
Qdrant.Client 是什么?
Qdrant.Client 是一个为 .NET 平台开发的 Qdrant 客户端库,支持通过 gRPC 或 REST 与 Qdrant 实例交互,实现创建集合、插入向量、查询向量等功能。它为 C# 和 F# 开发者提供了一个简单易用的 SDK。
GitHub 项目地址:https://github.com/qdrant/qdrant-dotnet
NuGet 安装命令:
dotnet add package Qdrant.Client
如何在 .NET 中使用 Qdrant.Client 连接 Qdrant
1. 安装 Qdrant 实例(本地或云端)
你可以使用 Docker 快速启动一个 Qdrant 服务:
docker run -p 6333:6333 qdrant/qdrant
2. 初始化客户端
以下是一个基本的客户端初始化示例(使用 REST):
using Qdrant.Client;
using Qdrant.Client.Grpc;
var client = new QdrantGrpcClient("localhost", 6334);
如果你使用的是 REST 接口,也可以使用 QdrantRestClient:
var client = new QdrantRestClient("http://localhost:6333");
3. 创建集合
await client.CreateCollectionAsync("my-collection", vectorSize: 128);
4. 插入向量数据
var points = new List<PointStruct>
{
new PointStruct(id: 1, vector: new[] {0.1f, 0.2f, 0.3f}, payload: null),
new PointStruct(id: 2, vector: new[] {0.4f, 0.5f, 0.6f}, payload: null)
};
await client.UpsertAsync("my-collection", points);
5. 查询向量
var searchResult = await client.SearchAsync(
"my-collection",
vector: new[] {0.1f, 0.2f, 0.3f},
top: 5
);
Qdrant 使用场景
- 语义搜索引擎:基于文本向量实现更智能的搜索功能
- 推荐系统:通过向量计算相似度实现个性化推荐
- 图像检索:用向量表达图片特征并快速搜索相似图像
- 聊天机器人嵌入管理:存储和检索大语言模型的上下文嵌入
注意事项
- Qdrant 支持嵌入 Payload(例如类别、标签),可实现带过滤条件的向量搜索
- 可与 OpenAI、Sentence Transformers 等嵌入模型搭配使用
- 推荐使用 gRPC 接口以获得更高性能的吞吐率
借助 Qdrant.Client,.NET 开发者可以轻松接入 Qdrant 向量数据库,构建高效、智能的向量检索系统。无论是搜索、推荐还是 AI 应用,Qdrant 都是一个强大的工具,而 Qdrant.Client 为其在 .NET 生态中的落地提供了便捷通道。