fix: Qdrant edge creation — use UUID string IDs and empty vectors for payload-only points

This commit is contained in:
Apunkt 2026-05-15 10:29:23 +02:00
parent 7173a446a6
commit 6bd479b137
No known key found for this signature in database

View file

@ -32,7 +32,7 @@ import threading
from datetime import datetime, timezone from datetime import datetime, timezone
from pathlib import Path from pathlib import Path
from typing import Callable from typing import Callable
from uuid import UUID from uuid import UUID, uuid4
from qdrant_client import QdrantClient, models from qdrant_client import QdrantClient, models
from qdrant_client.models import ( from qdrant_client.models import (
@ -953,10 +953,10 @@ class QdrantStore:
else: else:
nw = accum_delta nw = accum_delta
# Create payload-only point # Create payload-only point (use UUID string for Qdrant compatibility)
points_to_upsert.append(PointStruct( points_to_upsert.append(PointStruct(
id=f"{src_str}:{dst_str}:{edge_type}", id=str(uuid4()),
vector=None, vector={},
payload={ payload={
"table": EDGES_TABLE, "table": EDGES_TABLE,
"group_id": self._group_id, "group_id": self._group_id,
@ -996,8 +996,8 @@ class QdrantStore:
self._client.upsert( self._client.upsert(
collection_name=METADATA_TABLE, collection_name=METADATA_TABLE,
points=[PointStruct( points=[PointStruct(
id=f"{original}:{new_id}:contradicts", id=str(uuid4()),
vector=None, vector={},
payload={ payload={
"table": EDGES_TABLE, "table": EDGES_TABLE,
"group_id": self._group_id, "group_id": self._group_id,