70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
"""Test script to verify Google API connectivity and model availability."""
|
|
|
|
import os
|
|
from dotenv import load_dotenv
|
|
from langchain_openai import ChatOpenAI
|
|
|
|
# Load environment variables
|
|
load_dotenv()
|
|
|
|
def test_google_api():
|
|
"""Test Google API with different models via local proxy."""
|
|
|
|
# Use local proxy
|
|
proxy_url = "http://localhost:10909"
|
|
|
|
print(f"🔧 Using proxy: {proxy_url}")
|
|
|
|
# Test models
|
|
test_models = [
|
|
"gemini-1.5-pro",
|
|
"gemini-1.5-flash",
|
|
"gemini-2.0-flash-exp",
|
|
"gemini-2.5-flash",
|
|
"gemini-3-flash-preview",
|
|
"gemini-3-pro-preview",
|
|
]
|
|
|
|
for model_name in test_models:
|
|
print(f"\n{'='*60}")
|
|
print(f"Testing model: {model_name}")
|
|
print(f"{'='*60}")
|
|
|
|
try:
|
|
# Initialize client
|
|
print(f"🔧 Initializing {model_name}...")
|
|
llm = ChatGoogleGenerativeAI(
|
|
model=model_name,
|
|
max_retries=3,
|
|
request_timeout=30
|
|
)
|
|
|
|
# Test simple query
|
|
print(f"📤 Sending test query...")
|
|
response = llm.invoke("Say 'Hello, I am working!' in exactly 5 words.")
|
|
|
|
print(f"✅ SUCCESS!")
|
|
print(f"📥 Response: {response.content}")
|
|
|
|
except Exception as e:
|
|
print(f"❌ FAILED: {type(e).__name__}")
|
|
print(f" Error: {str(e)[:200]}")
|
|
|
|
# Check for specific error types
|
|
if "404" in str(e):
|
|
print(f" → Model '{model_name}' not found or not available")
|
|
elif "403" in str(e) or "401" in str(e):
|
|
print(f" → Authentication error - check API key permissions")
|
|
elif "429" in str(e):
|
|
print(f" → Rate limit exceeded")
|
|
elif "timeout" in str(e).lower():
|
|
print(f" → Request timed out")
|
|
|
|
if __name__ == "__main__":
|
|
print("🚀 Google API Test Script")
|
|
print("="*60)
|
|
test_google_api()
|
|
print("\n" + "="*60)
|
|
print("✅ Test complete!")
|