`insert_chunks` 应使用 upsert 语义 — 提供程序在重复的块 ID 上会默默地进行复制或发生错误
作者: jakub-walaszczyk创建于 2026年7月8日更新于 2026年9月7日
标签bugstale
Milvus — 最简单且最有影响的修复方案
Milvus 提供程序 (src/ogx/providers/remote/vector_io/milvus/milvus.py:150) 调用 client.insert(),在重复的 chunk_id 值上默认创建重复项。Milvus 本身支持 client.upsert(),具有相同的签名和语义 — 它会检查主键并替换现有实体。修复方案仅需更换一个方法:
# 当前(第 150 行):
await asyncio.to_thread(self.client.insert, self.collection_name, data=data)内容来源: ogx-ai/ogx