FireBird-Tech commited on
Commit
d7a1094
·
verified ·
1 Parent(s): 0b14a8b

Update src/routes/analytics_routes.py

Browse files
Files changed (1) hide show
  1. src/routes/analytics_routes.py +3 -66
src/routes/analytics_routes.py CHANGED
@@ -18,6 +18,7 @@ from src.managers.chat_manager import ChatManager
18
 
19
  from typing import Any, Dict, List, Optional
20
  from src.utils.logger import Logger
 
21
 
22
  # Initialize logger with console logging disabled
23
  logger = Logger("analytics_routes", see_time=True, console_log=False)
@@ -30,7 +31,7 @@ if os.getenv("ENVIRONMENT") == "production":
30
  logger.disable_logging()
31
 
32
  # Initialize chat manager
33
- chat_manager = ChatManager()
34
 
35
  # API Key security
36
  ADMIN_API_KEY = os.getenv("ADMIN_API_KEY", "default-admin-key-change-me")
@@ -64,74 +65,10 @@ async def verify_admin_api_key(
64
  active_dashboard_connections = set()
65
  active_user_connections = set()
66
 
67
- # Model tier definitions
68
- MODEL_TIERS = {
69
- "tier1": {
70
- "name": "Basic",
71
- "credits": 1,
72
- "models": [
73
- "llama3-8b-8192",
74
- "llama-3.2-1b-preview",
75
- "llama-3.2-3b-preview",
76
- "llama-3.2-11b-text-preview",
77
- "llama-3.2-11b-vision-preview",
78
- "llama-3.1-8b-instant",
79
- "mixtral-8x7b-32768",
80
- "gemma-7b-it",
81
- "gemma2-9b-it",
82
- "llama3-groq-8b-8192-tool-use-preview"
83
- ]
84
- },
85
- "tier2": {
86
- "name": "Standard",
87
- "credits": 3,
88
- "models": [
89
- "gpt-4o-mini",
90
- "o1-mini",
91
- "o3-mini"
92
- ]
93
- },
94
- "tier3": {
95
- "name": "Premium",
96
- "credits": 5,
97
- "models": [
98
- "gpt-3.5-turbo",
99
- "gpt-4.5-preview",
100
- "gpt-4",
101
- "gpt-4o",
102
- "o1",
103
- "claude-3-opus-latest",
104
- "claude-3-7-sonnet-latest",
105
- "claude-3-5-sonnet-latest",
106
- "claude-3-5-haiku-latest",
107
- "deepseek-r1-distill-qwen-32b",
108
- "deepseek-r1-distill-llama-70b",
109
- "llama-3.3-70b-versatile",
110
- "llama-3.3-70b-specdec",
111
- "llama2-70b-4096",
112
- "llama-3.2-90b-text-preview",
113
- "llama-3.2-90b-vision-preview",
114
- "llama3-70b-8192",
115
- "llama-3.1-70b-versatile",
116
- "llama-3.1-405b-reasoning",
117
- "llama3-groq-70b-8192-tool-use-preview"
118
- ]
119
- }
120
- }
121
-
122
  # Helper function to determine model tier
123
  def get_model_tier(model_name):
124
  """Determine which tier a model belongs to based on its name"""
125
- model_name = model_name.lower()
126
-
127
- for tier_id, tier_info in MODEL_TIERS.items():
128
- # Check if the model name matches or starts with any of the models in this tier
129
- if any(model_name == model.lower() or model_name.startswith(model.lower())
130
- for model in tier_info["models"]):
131
- return tier_id
132
-
133
- # Default to tier 1 if no match is found
134
- return "tier1"
135
 
136
  # Helper function to parse period parameter
137
  def get_date_range(period: str):
 
18
 
19
  from typing import Any, Dict, List, Optional
20
  from src.utils.logger import Logger
21
+ from src.utils.model_registry import MODEL_TIERS, get_model_tier as get_model_tier_from_registry
22
 
23
  # Initialize logger with console logging disabled
24
  logger = Logger("analytics_routes", see_time=True, console_log=False)
 
31
  logger.disable_logging()
32
 
33
  # Initialize chat manager
34
+ chat_manager = ChatManager(db_url=os.getenv("DATABASE_URL"))
35
 
36
  # API Key security
37
  ADMIN_API_KEY = os.getenv("ADMIN_API_KEY", "default-admin-key-change-me")
 
65
  active_dashboard_connections = set()
66
  active_user_connections = set()
67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  # Helper function to determine model tier
69
  def get_model_tier(model_name):
70
  """Determine which tier a model belongs to based on its name"""
71
+ return get_model_tier_from_registry(model_name)
 
 
 
 
 
 
 
 
 
72
 
73
  # Helper function to parse period parameter
74
  def get_date_range(period: str):