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