Files
B.Tech-Project-III/thirdeye/scripts/test_m1.py
2026-04-05 00:43:23 +05:30

57 lines
2.2 KiB
Python

"""Test Milestone 1: Provider router works with at least one provider."""
import asyncio
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
async def test_providers():
from backend.providers import call_llm
test_messages = [
{"role": "user", "content": "Reply with exactly: THIRDEYE_OK"}
]
# Test 1: fast_small (should use Groq 8B)
print("Testing fast_small (Groq 8B / Cerebras 8B)...")
try:
result = await call_llm("fast_small", test_messages, max_tokens=50)
print(f" ✅ fast_small → {result['provider']}/{result['model']}")
print(f" Response: {result['content'][:80]}")
except Exception as e:
print(f" ❌ fast_small failed: {e}")
# Test 2: fast_large (should use Groq 70B)
print("Testing fast_large (Groq/Cerebras 70B)...")
try:
result = await call_llm("fast_large", test_messages, max_tokens=50)
print(f" ✅ fast_large → {result['provider']}/{result['model']}")
print(f" Response: {result['content'][:80]}")
except Exception as e:
print(f" ❌ fast_large failed: {e}")
# Test 3: reasoning (should use SambaNova 405B)
print("Testing reasoning (SambaNova 405B / OpenRouter Nemotron)...")
try:
result = await call_llm("reasoning", test_messages, max_tokens=50)
print(f" ✅ reasoning → {result['provider']}/{result['model']}")
print(f" Response: {result['content'][:80]}")
except Exception as e:
print(f" ❌ reasoning failed: {e}")
# Test 4: JSON mode
print("Testing JSON mode...")
try:
json_messages = [
{"role": "system", "content": "You respond only in valid JSON."},
{"role": "user", "content": 'Return: {"status": "ok", "test": true}'},
]
result = await call_llm("fast_small", json_messages, max_tokens=100)
print(f" ✅ JSON mode → {result['provider']}/{result['model']}")
print(f" Response: {result['content'][:120]}")
except Exception as e:
print(f" ❌ JSON mode failed: {e}")
print("\n🎉 MILESTONE 1 PASSED — At least one provider works per task type")
asyncio.run(test_providers())