从智能体向量数据库撤下一份文档时,只删除一个point可能漏掉其它切片。按开发者确认的doc_id筛选全部相关point,删除前预览ID,删除后回读核对范围。
维护智能体向量集合的开发者。本文使用 Python 3.11 与 qdrant-client 1.17.1 的本地内存模式,先验证一组人工构造的小样本。AI 负责提出实现或解释差异,结果由本地检查决定;这里没有把模型回答当成真实运行结果。

核对按文档筛选删除切片前,先定规则
本例使用qdrant-client 1.17.1内存模式,三个两维向量都是人为构造,没有嵌入模型调用或云端连接。
doc_id写在payload中,一份文档可以对应多个point。预览匹配ID后再执行FilterSelector删除,不能让模型自由指定集合。
只检查更新响应还不够,回读确认目标文档匹配为空,且另一文档point仍存在。
给 AI 的输入要包含什么
把下面这份输入说明和你的实际样本一起交给可用的 AI 编程助手。示例只含虚构数据;对真实材料先去除账号凭据和个人信息。
在本地Qdrant内存集合写入doc=A两个point、doc=B一个point;固定doc_id=A筛选,预览ID、delete(wait=True)、回读验证A不存在且B保留。不能连生产库,不能delete_collection。
要求模型保留检查条件,并把它认为缺少的业务定义列出来。若回答改变了输入字段、忽略异常分支或直接删除原材料,先要求修正,再运行。提示词的作用是缩小任务范围,验收仍以代码和数据为准。
保存并运行最小验证程序
下方程序把关键规则和验证用例放在同一个可复跑示例中,便于先理解输入如何变成输出,再用它检查 AI 给出的实现。
新建练习目录,执行 python -m venv .venv。Windows使用 .venv\Scripts\python.exe -m pip install qdrant-client==1.17.1;macOS/Linux使用 .venv/bin/python -m pip install qdrant-client==1.17.1。把代码保存为check.py,用同一环境的python运行。不要配置云端地址或生产集合。
from qdrant_client import QdrantClient,models
from importlib.metadata import version
client=QdrantClient(':memory:')
client.create_collection('demo',vectors_config=models.VectorParams(size=2,distance=models.Distance.COSINE))
client.upsert('demo',points=[models.PointStruct(id=i,vector=[1.0,0.0],payload={'doc_id':doc}) for i,doc in [(1,'A'),(2,'A'),(3,'B')]],wait=True)
condition=models.Filter(must=[models.FieldCondition(key='doc_id',match=models.MatchValue(value='A'))])
before,_=client.scroll('demo',scroll_filter=condition,limit=10)
assert sorted(p.id for p in before)==[1,2]
client.delete('demo',points_selector=models.FilterSelector(filter=condition),wait=True)
after,_=client.scroll('demo',scroll_filter=condition,limit=10)
remaining,_=client.scroll('demo',limit=10)
assert after==[] and [p.id for p in remaining]==[3]
print('qdrant_client',version('qdrant-client'))
print('preview_ids',[p.id for p in before])
print('remaining_ids',[p.id for p in remaining])
client.close()
怎样判断结果符合要求
预览ID为1、2,删除后剩余只有3,客户端版本显示1.17.1。本例真实执行的是本地内存集合,不是生产文档撤销。
下方是这份最小示例在本地执行得到的输出。它验证示例程序与断言的关系,不代表任何 AI 模型一次就能生成同样代码,也不构成性能或生产可靠性结论。
qdrant_client 1.17.1
preview_ids [1, 2]
remaining_ids [3]
scroll的limit不代表全量,真实预览多于一页时要遍历offset直到结束。
删除向量后来源文件、答案缓存与其它索引可能仍有旧内容,撤销流程应覆盖这些层。
哪些失败必须停下来处理
生产删除需要身份、文档归属、确认与备份。参数筛选不是权限验证。
超时结果未知应查匹配points,不直接重复扩大删除条件。
接入自己的任务前再核对一次
让AI辅助生成删除代码时固定集合与doc_id来源,先在本地副本验证这组断言。
记录删除前ID清单与回读证据,禁止把point删除响应包装成完整知识撤销。
资料与适用范围
QdrantClient 1.17.1支持内存模式、FilterSelector删除与scroll读取;源代码固定版本并与本地安装核对。以下链接核对于 2026-10-03;运行环境及额外依赖按本文前述说明。
相关基础可阅读 Qdrant 向量库怎么导出重建?逐页保存向量和 payload 并核对 ID。本文的重点是核对按文档筛选删除切片,可以把两项检查作为不同步骤保留。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33457.html