youtube-summarizer/test_gemini.py

51 lines
2.0 KiB
Python

#!/usr/bin/env python3
"""Test Gemini integration directly."""
import os
import sys
sys.path.insert(0, '/Users/enias/projects/my-ai-projects/apps/youtube-summarizer')
# Test environment variables
print("=== Environment Variables ===")
print(f"GOOGLE_API_KEY: {os.getenv('GOOGLE_API_KEY', 'NOT_FOUND')[:10]}...")
print(f"ANTHROPIC_API_KEY: {os.getenv('ANTHROPIC_API_KEY', 'NOT_FOUND')[:10]}...")
# Test Gemini service directly
from backend.services.gemini_summarizer import GeminiSummarizer
from backend.services.ai_service import SummaryRequest, SummaryLength
async def test_gemini():
api_key = os.getenv('GOOGLE_API_KEY')
if not api_key:
print("❌ No GOOGLE_API_KEY found")
return
print("✅ GOOGLE_API_KEY found")
# Initialize Gemini service
gemini = GeminiSummarizer(api_key=api_key)
print(f"✅ GeminiSummarizer initialized with model: {gemini.model}")
print(f"✅ Max context: {gemini.max_tokens_input:,} tokens (2M context!)")
# Test with sample transcript
request = SummaryRequest(
transcript="This is a test video about artificial intelligence and machine learning. It covers neural networks, deep learning, and AI applications in various industries including healthcare, finance, and education.",
length=SummaryLength.BRIEF,
focus_areas=["AI", "technology"]
)
print("🚀 Testing Gemini summarization...")
try:
result = await gemini.generate_summary(request)
print("✅ Gemini summarization successful!")
print(f"📄 Summary: {result.summary[:100]}...")
print(f"🔑 Key points: {len(result.key_points)} points")
print(f"🎯 Themes: {result.main_themes}")
print(f"💰 Cost: ${result.cost_data['total_cost_usd']:.4f}")
print(f"⚡ Context advantage: {result.processing_metadata.get('large_context_advantage', 'N/A')}")
except Exception as e:
print(f"❌ Error: {e}")
if __name__ == "__main__":
import asyncio
asyncio.run(test_gemini())