list-vectors 操作允许您使用分页请求枚举 Vectorize 索引中的所有向量标识符。本指南介绍高效使用此操作的最佳实践。
在以下场景使用 list-vectors:
- 批量操作:处理索引中的所有向量
- 审计:验证索引内容或生成报告
- 数据迁移:在索引或系统之间迁移向量
- 清理操作:识别并删除过时的向量
list-vectors 操作使用基于游标的分页,并具有重要的 consistency 保证:
返回的向量标识符属于首次 list-vectors 请求时捕获的索引快照。这确保了即使在迭代过程中索引被修改,分页仍然一致:
- 新向量:首次请求后插入的向量不会出现在后续分页结果中
- 已删除向量:首次请求后删除的向量会继续出现在剩余响应中,直到分页完成
要查看最近添加或删除的向量,您必须开始新的 list-vectors 请求序列(不带 cursor)。这将捕获索引的新快照。
每个响应包括:
count:此响应中返回的向量数totalCount:索引中的向量总数isTruncated:是否还有更多向量可用nextCursor:下一页的游标(如果没有更多结果则为 null)cursorExpirationTimestamp:游标过期的时间戳vectors:向量标识符数组
游标有过期时间戳。如果游标过期,您需要开始新的 list-vectors 请求序列以继续分页。
请注意在连续请求之间保持足够的间隔,以避免触发速率限制。
以下是处理索引中所有向量的典型模式:
# Start iteration
wrangler vectorize list-vectors my-index --count=1000
# Continue with cursor from response
wrangler vectorize list-vectors my-index --count=1000 --cursor="<cursor-from-response>"
# Repeat until no more results