fazeel007's picture
initial commit
7c012de
#!/usr/bin/env python3
"""
Quick test for Knowledge Base Browser component
"""
import os
import sys
import time
from pathlib import Path
# Add kb_browser to path
sys.path.insert(0, str(Path(__file__).parent / "kb_browser"))
try:
from kb_browser.retriever import KnowledgeRetriever
from kb_browser import KnowledgeBrowser
print("βœ“ Successfully imported components")
# Test 1: Basic retriever functionality
print("\n1. Testing basic retriever...")
retriever = KnowledgeRetriever()
print(f"βœ“ Retriever initialized with {len(retriever.documents)} sample documents")
# Test 2: Text search
print("\n2. Testing text search...")
results = retriever.search("retrieval augmented generation", search_type="keyword", k=2)
print(f"βœ“ Text search found {results['total_count']} results in {results['search_time']:.3f}s")
if results['documents']:
doc = results['documents'][0]
print(f" - First result: '{doc['title'][:50]}...'")
print(f" - Relevance: {doc['relevance_score']:.2f}")
# Test 3: Gradio component
print("\n3. Testing Gradio component...")
kb_browser = KnowledgeBrowser()
component_results = kb_browser.search("vector databases", max_results=1)
print(f"βœ“ Component search returned {len(component_results.get('results', []))} results")
# Test 4: API info
print("\n4. Testing API structure...")
api_info = kb_browser.api_info()
properties = api_info['info']['properties']
print(f"βœ“ API has {len(properties)} properties: {list(properties.keys())}")
# Test 5: Check OpenAI integration
print("\n5. Checking OpenAI integration...")
openai_key = os.getenv('OPENAI_API_KEY')
if openai_key:
print("βœ“ OpenAI API key is available")
try:
# Try semantic search
semantic_results = retriever.search("LlamaIndex", search_type="semantic", k=1)
print(f"βœ“ Semantic search completed in {semantic_results['search_time']:.3f}s")
except Exception as e:
print(f"⚠ Semantic search fell back to text search: {str(e)[:50]}...")
else:
print("⚠ OpenAI API key not found, using text search fallback")
print("\nπŸŽ‰ All tests completed successfully!")
print("\nComponent is ready for:")
print("- Human interactive search")
print("- AI agent integration")
print("- Citation tracking")
print("- Multi-modal search (semantic, keyword, hybrid)")
except ImportError as e:
print(f"❌ Import error: {e}")
except Exception as e:
print(f"❌ Test error: {e}")
import traceback
traceback.print_exc()