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

贵阳建立网站上海网站建设制作百橙

贵阳建立网站,上海网站建设制作百橙,整站多关键词优化,linux wordpress 空白以下是根据 Milvus 官方文档整理的详细 PyMilvus 使用教程,基于 Milvus 2.5.x 版本: PyMilvus 使用教程 目录 安装与环境准备连接 Milvus 服务数据模型基础概念创建集合(Collection)插入数据创建索引向量搜索删除操作完整示例注…

以下是根据 Milvus 官方文档整理的详细 PyMilvus 使用教程,基于 Milvus 2.5.x 版本:


PyMilvus 使用教程

目录

  1. 安装与环境准备
  2. 连接 Milvus 服务
  3. 数据模型基础概念
  4. 创建集合(Collection)
  5. 插入数据
  6. 创建索引
  7. 向量搜索
  8. 删除操作
  9. 完整示例
  10. 注意事项

安装与环境准备

pip install pymilvus

要求

  • Python 3.10+
  • Milvus 2.5.x 服务(单机版或集群)

连接 Milvus 服务

from pymilvus import connections# 连接单机版
connections.connect(alias="default",host="localhost",port="19530"
)# 连接集群或云服务(如Zilliz Cloud)
# connections.connect(
#     alias="cloud",
#     uri="https://xxx.api.region.zillizcloud.com",
#     token="your_api_key"
# )

数据模型基础概念

  • Collection: 类似数据库的表,包含多个字段
  • Schema: 定义字段类型和约束
  • Partition: 数据分区,用于优化查询性能
  • Index: 加速向量搜索的索引结构

创建集合(Collection)

from pymilvus import (FieldSchema, CollectionSchema, DataType,Collection
)# 定义字段
fields = [FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=True),FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128),FieldSchema(name="age", dtype=DataType.INT32)
]# 创建Schema
schema = CollectionSchema(fields, description="人脸特征向量库")# 创建Collection
collection = Collection(name="face_db", schema=schema)

参数说明

  • auto_id: 是否自动生成主键
  • dim: 向量维度(必须与后续插入数据维度一致)

插入数据

import random# 生成随机数据
num_entities = 1000
vectors = [[random.random() for _ in range(128)] for _ in range(num_entities)]
ages = [random.randint(18, 65) for _ in range(num_entities)]# 构造插入数据
data = [vectors,  # 对应embedding字段ages       # 对应age字段
]# 插入数据
insert_result = collection.insert(data)# 获取自动生成的ID
print(insert_result.primary_keys)

创建索引

index_params = {"index_type": "IVF_FLAT","metric_type": "L2","params": {"nlist": 128}
}collection.create_index(field_name="embedding",index_params=index_params
)

常用索引类型

  • FLAT: 精确搜索
  • IVF_FLAT: 平衡型
  • HNSW: 高召回率
  • DISKANN: 磁盘存储优化

向量搜索

# 加载集合到内存
collection.load()# 准备搜索向量
search_vector = [random.random() for _ in range(128)]# 构建搜索参数
search_params = {"metric_type": "L2","params": {"nprobe": 10}
}# 执行搜索
results = collection.search(data=[search_vector],anns_field="embedding",param=search_params,limit=5,output_fields=["age"]  # 返回的额外字段
)# 解析结果
for hits in results:for hit in hits:print(f"ID: {hit.id}, 距离: {hit.distance}, Age: {hit.entity.get('age')}")

删除操作

# 删除实体
expr = "age >= 60"
collection.delete(expr)# 删除集合
collection.drop()

完整示例

from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection# 连接服务
connections.connect(host='localhost', port='19530')# 创建集合
fields = [FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=True),FieldSchema(name="vector", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields)
collection = Collection("test_collection", schema)# 插入数据
data = [[[random.random() for _ in range(128)] for _ in range(1000)]]
collection.insert(data)# 创建索引
index_params = {"index_type": "IVF_FLAT", "metric_type": "L2", "params": {"nlist": 100}}
collection.create_index("vector", index_params)
collection.load()# 搜索
search_params = {"metric_type": "L2", "params": {"nprobe": 10}}
results = collection.search(data=[[0.5]*128],anns_field="vector",param=search_params,limit=3
)# 输出结果
print("搜索结果:")
for hits in results:for hit in hits:print(f"ID: {hit.id}, 距离: {hit.distance}")# 清理
collection.drop()

注意事项

  1. 版本兼容性:确保 PyMilvus 版本与 Milvus 服务端版本匹配
  2. 资源管理
    • 搜索前必须调用 load() 加载集合
    • 大数据量时注意内存使用
  3. 索引选择:根据数据规模和性能需求选择合适索引类型
  4. 数据预处理:确保向量维度与 schema 定义一致
  5. 分页查询:大数据量查询使用 offset + limit 分页

官方文档参考:

  • Milvus Documentation
  • PyMilvus API Reference

建议结合具体业务需求调整参数,并针对实际数据量进行性能测试。

http://www.yayakq.cn/news/610020/

相关文章:

  • 免费字体下载网站东莞公司网站做优化
  • 手机网站加速器王烨森
  • 视频投票网站怎么做的百度网站权重排名
  • 网站后台不能编辑门店管理系统软件排行
  • 还有河北城乡和住房建设厅网站吗搜索引擎是软件还是网站
  • 大型网站设计网站襄阳头条新闻
  • 网站建设选哪家公司好网站素材 按钮
  • 网站改版对网站优化影响最大的问题有哪些太原网站建设哪家效益快
  • 广州互邦物流网络优化建站中国免费网站服务器下载地址
  • 工程建设项目网站找不到WordPress
  • 钟祥网站开发下载搭建网站软件
  • 智慧建设网站涨口碑说做的网站
  • 双语网站代码广州市门户网站建设品牌
  • 如何与老板谈网站建设济南网站设计报价
  • 大中型网站开发流程平泉县住房和城乡建设局网站
  • 网站建设行业标准电子商务网站的优点有那些
  • 许昌市建设信息网站西语网站域名
  • 丽水 网站建设做茶叶网站的公司
  • 广州建设网站制作企业网站备案网地址
  • 聊城网站建设设计实力公司临淄辛店今天招聘信息
  • 网站安全架构重庆网站APP
  • 蒙文网站建设的意义网站开发类优惠及服务承诺
  • 网站死链处理设计师培训机构有哪些
  • 唐山玉田网站建设安居客做网站
  • 网站建设安全性南宁网站建设公司哪个好
  • 做地产的设计网站c 网站开发人员工具
  • html5在线网站腾讯云云服务器官网
  • 轻松推广网seo优化托管
  • 网站开发如何学习随州网站seo多少钱
  • vps做网站用什么系统微信网站平台建设