跳到主要内容

操作Milvus数据库

核心操作示例

from pymilvus import MilvusClient
import numpy as np

# 初始化客户端
client = MilvusClient("./milvus_demo.db") # 本地
# client = MilvusClient(uri="http://host:19530") # 远程

# 创建集合
client.create_collection(
collection_name="demo_collection",
dimension=384
)

# 准备数据
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
"Born in Maida Vale, London, Turing was raised in southern England.",
]

# 生成随机向量
vectors = [[np.random.uniform(-1, 1) for _ in range(384)] for _ in range(len(docs))]

# 插入数据
data = [
{"id": i, "vector": vectors[i], "text": docs[i], "subject": "history"}
for i in range(len(vectors))
]
client.insert(collection_name="demo_collection", data=data)

# 相似性搜索
res = client.search(
collection_name="demo_collection",
data=[vectors[0]],
filter="subject == 'history'",
limit=2,
output_fields=["text", "subject"]
)

# 条件查询
res = client.query(
collection_name="demo_collection",
filter="subject == 'history'",
output_fields=["text", "subject"]
)

# 删除数据
client.delete(collection_name="demo_collection", filter="subject == 'history'")

常用 API

操作方法
创建集合create_collection(name, dimension)
插入数据insert(collection, data)
向量搜索search(collection, data, filter, limit)
条件查询query(collection, filter, output_fields)
删除数据delete(collection, filter)
查看集合describe_collection(name)
删除集合drop_collection(name)