Appearance
Python:增删改查
写入(Upsert)
python
from qdrant_client.models import PointStruct
def upsert_docs(client, collection, ids, vectors, payloads):
client.upsert(
collection_name=collection,
points=[
PointStruct(id=i, vector=v, payload=p)
for i, v, p in zip(ids, vectors, payloads)
],
)
# 示例:3 条 384 维(请换成真实 embedding)
import random
DIM = 384
ids = [1, 2, 3]
vectors = [[random.random() for _ in range(DIM)] for _ in ids]
payloads = [
{"text": "Qdrant 是向量数据库", "doc": "a"},
{"text": "Python 客户端简单易用", "doc": "b"},
{"text": "Embedding 维度要一致", "doc": "c"},
]
upsert_docs(client, "kb_zh", ids, vectors, payloads)按 ID 查询
python
pts = client.retrieve(
collection_name="kb_zh",
ids=[1, 2],
with_payload=True,
with_vectors=False,
)
for p in pts:
print(p.id, p.payload)更新 Payload(不改动向量)
python
from qdrant_client.models import PointIdsList
client.set_payload(
collection_name="kb_zh",
payload={"reviewed": True},
points=PointIdsList(points=[1]),
)删除点
python
from qdrant_client.models import PointIdsList
client.delete(
collection_name="kb_zh",
points_selector=PointIdsList(points=[3]),
)删除集合
python
client.delete_collection("kb_zh")下一节:搜索与过滤。