File size: 2,829 Bytes
db7c1e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import os
import sys
from dotenv import load_dotenv
from qdrant_client import QdrantClient

# Load environment variables from parent directory
load_dotenv(os.path.join(os.path.dirname(__file__), '..', '.env'))

def debug_qdrant():
    # Get environment variables
    qdrant_url = os.getenv("QDRANT_URL")
    qdrant_api_key = os.getenv("QDRANT_API_KEY")
    collection_name = os.getenv("QDRANT_COLLECTION", "project_documents")

    print(f"QDRANT_URL: {qdrant_url}")
    print(f"Collection: {collection_name}")

    # Initialize Qdrant client for cloud
    if qdrant_url and qdrant_api_key and "qdrant.io" in qdrant_url:
        qdrant_client = QdrantClient(
            url=qdrant_url.replace(":6333", ""),  # Remove port from URL for cloud
            api_key=qdrant_api_key,
            prefer_grpc=False
        )
    else:
        # Use local Qdrant if cloud not configured
        qdrant_client = QdrantClient(
            host=os.getenv("QDRANT_HOST", "localhost"),
            port=int(os.getenv("QDRANT_PORT", 6333))
        )

    # 1. Check collections
    print("\n1. Available collections:")
    try:
        collections = qdrant_client.get_collections()
        for collection in collections.collections:
            print(f"  - {collection.name}")
    except Exception as e:
        print(f"  Error getting collections: {e}")

    # 2. Try to search for content to verify it exists
    print(f"\n2. Testing search functionality:")
    try:
        # Try to create a simple embedding to test if connection works
        from openai import OpenAI
        openrouter_api_key = os.getenv("OPENAI_API_KEY")
        client = OpenAI(
            api_key=openrouter_api_key,
            base_url="https://openrouter.ai/api/v1"
        )

        response = client.embeddings.create(
            model="text-embedding-3-small",
            input="Artificial Intelligence"
        )
        vector = response.data[0].embedding

        # Now search in Qdrant
        hits = qdrant_client.search(
            collection_name=collection_name,
            query_vector=vector,
            limit=2
        )

        print(f"  Search successful! Found {len(hits)} results")
        if hits:
            for i, hit in enumerate(hits):
                print(f"  Result {i+1}:")
                print(f"    ID: {hit.id}")
                print(f"    Payload keys: {list(hit.payload.keys()) if hit.payload else 'None'}")
                if hit.payload and 'content' in hit.payload:
                    print(f"    Content preview: {hit.payload['content'][:100]}...")
                else:
                    print(f"    Payload content: {hit.payload}")
    except Exception as e:
        print(f"  Error during search test: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    debug_qdrant()