-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathdebug_model_routing.py
More file actions
74 lines (63 loc) · 2.39 KB
/
debug_model_routing.py
File metadata and controls
74 lines (63 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env python3
"""
Debug model routing
"""
import os
from cellforge.llm import LLMInterface
def debug_model_routing():
"""Debug model routing logic"""
print("=== Model Routing Debug ===\n")
# Set environment variables
os.environ["DEEPSEEK_API_KEY"] = "sk-a54605f6118b48dab8b6e5b83faec86e"
os.environ["MODEL_NAME"] = "deepseek-reasoner"
print("Environment variables:")
print(f"DEEPSEEK_API_KEY: {os.getenv('DEEPSEEK_API_KEY')[:8]}...")
print(f"MODEL_NAME: {os.getenv('MODEL_NAME')}")
# Create LLM interface
llm = LLMInterface()
print(f"\nLLM Interface Configuration:")
print(f"Model name: {llm.model_name}")
print(f"DeepSeek configured: {llm.deepseek_api_key is not None}")
# Test model routing logic
test_models = [
"deepseek-r1",
"deepseek-reasoner",
"deepseek-chat",
"deepseek-v3",
"gpt-4",
"claude-3"
]
print(f"\nModel Routing Test:")
for model in test_models:
print(f"\nTesting model: {model}")
# Simulate the routing logic
if model.startswith("gpt"):
print(f" -> Would route to OpenAI")
elif model.startswith("claude"):
print(f" -> Would route to Anthropic")
elif model.startswith("deepseek"):
if model == "deepseek-r1":
mapped_model = "deepseek-reasoner"
elif model == "deepseek-chat" or model == "deepseek-v3":
mapped_model = "deepseek-chat"
else:
mapped_model = model
print(f" -> Would route to DeepSeek with model: {mapped_model}")
elif model.startswith("llama"):
print(f" -> Would route to Llama")
elif model.startswith("qwen"):
print(f" -> Would route to Qwen")
else:
print(f" -> Would fallback to OpenAI")
# Test actual generation
print(f"\nActual Generation Test:")
try:
response = llm.generate("Hello", "You are a helpful assistant.")
print(f"✅ Generation successful!")
print(f"Provider: {response.get('provider', 'Unknown')}")
print(f"Model: {response.get('model', 'Unknown')}")
print(f"Content: {response.get('content', 'No content')[:100]}...")
except Exception as e:
print(f"❌ Generation failed: {e}")
if __name__ == "__main__":
debug_model_routing()