mindnet/tests/dump_edges_payload_sample.py
Lars eb6e4028ff
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s
Dateien nach "tests" hochladen
2025-11-08 20:49:30 +01:00

58 lines
1.6 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
dump_edges_payload_sample.py
-----------------------------------
Zeigt einige Beispiel-Payloads aus der {prefix}_edges Collection,
um Feldnamen (edge_type, src_note_id, src_id, etc.) zu verifizieren.
Nutzung:
python3 tests/dump_edges_payload_sample.py --prefix mindnet --n 10
"""
import os
import sys
import json
from pathlib import Path
try:
from qdrant_client import QdrantClient
except Exception as e:
print(json.dumps({"error": f"qdrant-client not installed: {e}"}))
sys.exit(2)
def main(argv=None):
import argparse
ap = argparse.ArgumentParser()
ap.add_argument("--prefix", default=os.environ.get("COLLECTION_PREFIX") or os.environ.get("MINDNET_PREFIX") or "mindnet")
ap.add_argument("--n", type=int, default=10)
args = ap.parse_args(argv)
url = os.environ.get("QDRANT_URL", "http://127.0.0.1:6333").strip()
api_key = os.environ.get("QDRANT_API_KEY") or None
edges = f"{args.prefix}_edges"
client = QdrantClient(url=url, api_key=api_key, timeout=30)
left = args.n
offset = None
while left > 0:
limit = min(left, 256)
pts, offset = client.scroll(
collection_name=edges,
scroll_filter=None,
limit=limit,
offset=offset,
with_payload=True,
with_vectors=False,
)
if not pts:
break
for p in pts:
print(json.dumps({"point_id": str(p.id), "payload_keys": list((p.payload or {}).keys()), "payload": p.payload}, ensure_ascii=False))
left -= len(pts)
if __name__ == "__main__":
main()