""" Debug script to see what signals were extracted for a specific group. Shows the actual text stored in ChromaDB to help debug search issues. """ import sys import os sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) from backend.db.chroma import get_all_signals import json # Your Telegram group ID from the logs GROUP_ID = "-5180781849" # Binary_hacks_dev print("=" * 80) print(f"Signals for group: {GROUP_ID} (Binary_hacks_dev)") print("=" * 80) signals = get_all_signals(GROUP_ID) if not signals: print("\n⚠️ No signals found for this group") print(" Either no messages processed yet, or wrong group ID") else: print(f"\nFound {len(signals)} total signals\n") # Show last 10 signals (most recent) for i, sig in enumerate(signals[-10:], 1): meta = sig.get("metadata", {}) doc = sig.get("document", "") print(f"\n{'─' * 80}") print(f"Signal {i}/{len(signals)}") print(f"{'─' * 80}") print(f"Type: {meta.get('type', 'unknown')}") print(f"Severity: {meta.get('severity', 'unknown')}") print(f"Timestamp: {meta.get('timestamp', 'unknown')}") print(f"Entities: {meta.get('entities', '[]')}") print(f"Keywords: {meta.get('keywords', '[]')}") # Parse entities and keywords from JSON try: entities = json.loads(meta.get('entities', '[]')) keywords = json.loads(meta.get('keywords', '[]')) print(f"\nEntities list: {entities}") print(f"Keywords list: {keywords}") except Exception: pass print(f"\nDocument text:") print(f"{doc[:300]}...") raw_quote = meta.get('raw_quote', '') if raw_quote: print(f"\nRaw quote:") print(f"{raw_quote[:300]}...") print("\n" + "=" * 80) print("\nTo search for specific terms:") print(" from backend.db.chroma import query_signals") print(f" results = query_signals('{GROUP_ID}', 'your search query', n_results=5)") print("=" * 80)