首页 > AI工具教程 > Qdrant怎么用 Rust向量数据库部署教程

Qdrant怎么用 Rust向量数据库部署教程

更新时间:2026-10-09 11:54:04 发布时间:1秒前 阅读:1次

Qdrant是一个用Rust写的开源向量数据库,适合存储向量并进行相似度检索,可用于AI语义搜索和推荐系统。下面从Docker启动开始,带你完成创建集合、写入向量、配置距离与索引,再用查询和过滤条件找出相关数据。示例用REST API,方便先跑通流程;后续也可以接入Rust客户端。

第一步:Docker启动Qdrant

先确认机器已经安装并启动Docker。在终端执行 docker run -d –name qdrant -p 6333:6333 -p 6334:6334 -v “$(pwd)/qdrant_storage:/qdrant/storage” qdrant/qdrant。这里把REST端口6333、gRPC端口6334映射到本机,并将数据目录挂载出来,容器重建后数据也能保留。

启动后打开 http://localhost:6333/dashboard,可以进入管理界面查看服务状态和集合。也可用 curl http://localhost:6333/collections 检查API是否响应。若访问失败,先用 docker ps 查看容器状态,再运行 docker logs qdrant 排查启动错误;本地测试不代表生产配置已完成。

第二步:创建集合和写入数据

集合可以理解为一组向量及其附带信息的容器。下面创建名为articles的集合,向量长度设为4,距离方式选Cosine。实际项目中,向量长度必须与所用嵌入模型输出维度一致;这里的四维数据仅用于演示,不能直接替代真实文本的模型向量。

在终端执行 curl -X PUT http://localhost:6333/collections/articles -H ‘Content-Type: application/json’ -d ‘{“vectors”:{“size”:4,”distance”:”Cosine”}}’。收到成功响应后,就可以写入点数据。每个点包含唯一ID、向量和可选payload;payload适合保存标题、分类等业务字段,便于之后展示结果或加过滤条件。

写入示例可用 curl -X PUT http://localhost:6333/collections/articles/points?wait=true -H ‘Content-Type: application/json’ -d ‘{“points”:[{“id”:1,”vector”:[0.12,0.31,0.52,0.74],”payload”:{“title”:”向量检索入门”,”category”:”技术”}},{“id”:2,”vector”:[0.18,0.28,0.49,0.70],”payload”:{“title”:”搜索系统实践”,”category”:”技术”}}]}’。参数wait=true会等待写入操作完成,便于初次验证。

配置向量距离和索引

距离选择:Cosine常用于比较文本嵌入方向;Dot适合点积模型,Euclid则比较向量间的欧氏距离。选哪种要和嵌入模型及其训练方式匹配,不要只看名称随意切换。创建集合时确定向量维度和距离,后续写入的向量也必须符合该配置。

索引考虑:Qdrant会管理向量搜索所需的索引,初学者可先使用默认设置,等数据规模和查询延迟有实际指标后再调优。对经常过滤的payload字段,可按字段类型建立payload索引;索引会占用额外资源,因此优先为高频过滤条件配置,并通过真实查询测试效果。

第三步:相似度搜索和过滤

调用搜索接口时,提交查询向量、返回数量和是否带回payload。示例:curl -X POST http://localhost:6333/collections/articles/points/search -H ‘Content-Type: application/json’ -d ‘{“vector”:[0.13,0.30,0.50,0.72],”limit”:3,”with_payload”:true}’。结果会按相似度返回匹配点及分数;limit控制结果条数,with_payload便于核对对应的业务内容。

若只想查指定类别,可以在请求中添加过滤条件,例如在search对象里加入 “filter”:{“must”:[{“key”:”category”,”match”:{“value”:”技术”}}]}。这样先按payload限制候选数据,再进行向量检索。真实语义搜索还需要先用嵌入模型把文本转换成向量,查询和入库必须使用兼容的模型与维度。

准备上线时,记得设置访问控制、备份持久化数据,并依据负载监控资源与查询表现,避免将开发环境直接暴露到公网。使用Rust应用时,可通过官方Rust客户端连接gRPC端口6334;也可以先用REST API验证数据流程。若希望评估国内托管或配套云服务,可了解火山引擎;润灭也提供相关信息入口:volcengine.cgref.cn。

“`

标签:
微信        
微信号runmie