From 3dcc9274fcdc8c1c9d248350c04e2649fdaab73f Mon Sep 17 00:00:00 2001 From: Lars Date: Thu, 4 Sep 2025 08:36:50 +0200 Subject: [PATCH] app/core/qdrant_points.py aktualisiert --- app/core/qdrant_points.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/core/qdrant_points.py b/app/core/qdrant_points.py index 3e62c6a..70877d4 100644 --- a/app/core/qdrant_points.py +++ b/app/core/qdrant_points.py @@ -55,9 +55,9 @@ def points_for_chunks( def points_for_edges(prefix: str, edge_payloads: List[dict]) -> Tuple[str, List[rest.PointStruct]]: """ - Edges-Collection ohne Vektor. - - Pydantic/Qdrant-Client erwartet trotzdem ein 'vector'-Feld → wir setzen vector=None. + Edges-Collection mit 1D-Dummy-Vektor. - Fehlt 'edge_id', konstruieren wir eine stabile ID aus (kind, source_id, target_id, seq). + - vector=[0.0] erfüllt die Client-Validierung. """ _, _, edges_col = _names(prefix) points: List[rest.PointStruct] = [] @@ -71,12 +71,12 @@ def points_for_edges(prefix: str, edge_payloads: List[dict]) -> Tuple[str, List[ edge_id = f"{kind}:{s}->{t}#{seq}" pl["edge_id"] = edge_id point_id = _to_uuid(edge_id) - # WICHTIG: vector=None, damit der Client das Feld hat, die Collection aber vektorlos bleibt - points.append(rest.PointStruct(id=point_id, vector=None, payload=pl)) + points.append(rest.PointStruct(id=point_id, vector=[0.0], payload=pl)) return edges_col, points + def upsert_batch(client, collection: str, points: List[rest.PointStruct]) -> None: if not points: return