File size: 3,136 Bytes
6accb61
 
b36ff59
6accb61
 
 
b36ff59
 
 
 
 
6accb61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
82
83
84
85
86
87
88
89
"""
Example usage of the GAIA agent with database search integration.
This shows how the system works with the Supabase database.
"""

import os
import sys

# Add parent directory to path for imports
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from agent import answer_gaia_question
from tools.database_tools import get_retriever

def test_database_integration():
    """Test the database search functionality."""
    
    # Test questions similar to your database examples
    test_questions = [
        # Similar to your Nature/statistical significance question
        "How many papers published by Science in 2020 would be incorrect if they used p-value of 0.03?",
        
        # Similar to your fish/invasive species question  
        "What species from Finding Nemo has been found as invasive in Florida waters?",
        
        # Similar to your AI regulation question
        "What paper about AI ethics was submitted to arXiv in 2022?",
        
        # A completely different question
        "What is the capital of France?"
    ]
    
    print("πŸ§ͺ Testing Database Integration\n")
    
    for i, question in enumerate(test_questions, 1):
        print(f"Test {i}: {question}")
        print("-" * 60)
        
        # Test similarity search directly
        try:
            retriever = get_retriever()
            similar_questions = retriever.search_similar_questions_manual(question, top_k=2, similarity_threshold=0.7)
            
            if similar_questions:
                print(f"βœ… Found {len(similar_questions)} similar questions:")
                for j, sim_q in enumerate(similar_questions, 1):
                    print(f"  {j}. Similarity: {sim_q['similarity']:.3f}")
                    print(f"     Q: {sim_q['question'][:100]}...")
                    print(f"     A: {sim_q['answer']}")
                print()
            else:
                print("❌ No similar questions found")
                print()
            
            # Test full agent processing
            print("πŸ€– Agent Processing:")
            answer = answer_gaia_question(question)
            print(f"Agent Answer: {answer}")
            
        except Exception as e:
            print(f"❌ Error: {e}")
        
        print("=" * 80)
        print()

def setup_environment():
    """Check if all required environment variables are set."""
    required_vars = ["OPENAI_API_KEY", "SUPABASE_URL", "SUPABASE_SERVICE_KEY"]
    missing_vars = [var for var in required_vars if not os.getenv(var)]
    
    if missing_vars:
        print(f"❌ Missing environment variables: {', '.join(missing_vars)}")
        print("Please add them to your .env file:")
        for var in missing_vars:
            print(f"  {var}=your_value_here")
        return False
    
    print("βœ… All environment variables are set")
    return True

if __name__ == "__main__":
    print("πŸš€ GAIA Agent Database Integration Test")
    print("=" * 50)
    
    if setup_environment():
        test_database_integration()
    else:
        print("Please set up your environment variables first.")