mirror of
https://github.com/arkorty/B.Tech-Project-III.git
synced 2026-04-19 12:41:48 +00:00
57 lines
2.2 KiB
Python
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())
|