import sys
import os
import time

# Add script directory to path
sys.path.append('/var/www/html/PEPCVSON/scripts')

os.environ["OPENAI_API_KEY"] = "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"

from smart_search import SmartSearchService

def debug_vector_search(query):
    print(f"🔍 Vektör Arama Başlatılıyor: '{query}'")
    
    service = SmartSearchService()
    
    # 1. Embedding oluştur
    print("1️⃣ Embedding oluşturuluyor (text-embedding-3-small)...")
    vector = service._get_embedding(query)
    
    if not vector:
        print("❌ Embedding oluşturulamadı!")
        return

    print("✅ Vektör oluşturuldu.")

    # 2. Qdrant Araması
    print(f"2️⃣ Qdrant'ta aranıyor (Limit: 5)...")
    try:
        # Internal metodu kullan (Daha güvenli)
        results = service._search_qdrant(
            query_vector=vector,
            filter_obj=None,
            limit=5
        )
        
        print(f"\n✅ {len(results)} sonuç bulundu.\n")
        print("-" * 80)
        print(f"{'SKOR':<10} | {'DOSYA':<35} | {'İÇERİK ÖZETİ'}")
        print("-" * 80)
        
        for hit in results:
            score = f"%{int(hit['score'] * 100)}"
            payload = hit['payload']
            filename = payload.get('pdf_filename', 'Bilinmiyor')[:35]
            text = payload.get('text', '')[:100].replace('\n', ' ') + "..."
            
            print(f"{score:<10} | {filename:<35} | {text}")
            
    except Exception as e:
        print(f"❌ Qdrant Hatası: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    debug_vector_search("Hydraulic Tank")
