当前位置: 首页 > news >正文

Qdrant 的基础教程

目录

      • 安装Qdrant
      • 安装Qdrant客户端
      • 初始化Qdrant客户端
      • 创建集合(Collection)
      • 插入向量数据
      • 创建索引
      • 搜索向量
      • 清理资源

Qdrant是一个开源的向量数据库,它专注于高维向量的快速相似性搜索。以下是一个基础的Qdrant教程,帮助你开始使用Qdrant进行向量数据的存储和搜索。

安装Qdrant

首先,你需要安装Qdrant服务。Qdrant提供了Docker镜像,使得安装和运行非常简单。

# 使用Docker拉取Qdrant镜像并运行
docker pull qdrant/qdrant:latest
docker run -p 6333:6333 qdrant/qdrant:latest

安装Qdrant客户端

Qdrant提供了Python客户端,你可以通过pip安装它。

pip install qdrant-client

初始化Qdrant客户端

在Python中,你可以初始化Qdrant客户端并连接到Qdrant服务。

from qdrant_client import QdrantClient
# 初始化客户端
client = QdrantClient(host='localhost', port=6333)

创建集合(Collection)

在Qdrant中,你需要创建一个集合来存储向量数据。

# 创建集合的schema
collection_schema = {"name": "my_collection","vector_size": 128,"distance": "Cosine"
}
# 创建集合
client.create_collection(collection_schema)

插入向量数据

接下来,你可以向集合中插入向量数据。

# 准备向量数据
vectors = [[random.random() for _ in range(128)] for _ in range(1000)]
ids = list(range(1000))
# 插入向量
client.upsert_points(collection_name="my_collection", points={"ids": ids, "vectors": vectors})

创建索引

为了加速搜索,你需要为集合创建索引。

# 创建索引
client.create_index(collection_name="my_collection", index_params={"metric": "Cosine", "hnsw_config": {"m": 16, "ef_construction": 200}})

搜索向量

现在你可以使用Qdrant进行向量搜索了。

# 准备查询向量
query_vector = [random.random() for _ in range(128)]
query_result = client.search(collection_name="my_collection", query_vector=query_vector, limit=10)
# 打印搜索结果
for hit in query_result:print(f"ID: {hit.id}, Score: {hit.score}")

清理资源

如果你不再需要集合,可以删除它。

client.delete_collection(collection_name="my_collection")

以上是Qdrant的基础使用流程。你可以根据具体的应用需求调整集合的配置、索引参数和搜索逻辑。Qdrant的官方文档提供了更详细的指南和高级功能,你可以查阅官方文档以获取更多信息。

http://www.lryc.cn/news/378538.html

相关文章:

  • 任务4.8.3 利用SparkSQL统计每日新增用户
  • DS知识点总结--线性表定义及顺序表示
  • 百度文库AI产品“橙篇”:支持10万字长文生成,开启AI创作新篇章
  • wsl子系统ubuntu20.04 设置docker服务开机自启动
  • SAP ScreenPersonas
  • 充电学习—3、Uevent机制和其在android层的实现
  • “河南省勘察设计资质整合趋势与企业应对“
  • 简单了解雪花算法
  • 决策树算法详细介绍原理和实现
  • vue:vue2与vue3如何全局注册公共组件(包括涉及到的相关方法函数的讲解)
  • LoRa126X系列LoRa模块:专为物联网设计而生
  • 个人职业规划(含前端职业线路、前端技术线路、前端核心竞争力、大龄程序员的出路)
  • 【设计模式深度剖析】【10】【行为型】【状态模式】
  • API低代码平台介绍5-数据库记录修改功能
  • git commit撤销修改
  • 深入理解RunLoop
  • Elasticsearch term 查询:精确值搜索
  • IntelliJ IDEA调试技巧
  • NGINX_六 nginx 日志文件详解
  • 第6章 工程项目融资 作业
  • 网站安全防护怎么做?
  • 泵设备的监测控制和智慧运维
  • 【智能算法应用】基于混合粒子群-蚁群算法的多机器人多点送餐路径规划问题
  • Java中的JVM调优技巧
  • 软件工程-第4章结构化编码和测试
  • MMDetection 目标检测 —— 环境搭建和基础使用
  • C# 实现draw一个简单的温度计
  • 解放双手,让流程自动化软件助你一臂之力
  • 邀请函 | 桥田智能出席AMTS展会 家族新成员正式发布
  • 安卓开发使用proxyman监控真机