Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
from src.utils.model_registry import MODEL_COSTS, MODEL_TIERS | |
# divide models in 3 tiers based on cost per 1k tokens | |
# tier 1: < $0.0005 | |
# tier 2: < $0.001 | |
# tier 3: > $0.05 | |
# tier 4: > $0.1 | |
TIERS_COST = { | |
"tier1": 0.0005, | |
"tier2": 0.001, | |
"tier3": 0.05, | |
"tier4": 0.1 | |
} | |
def get_tier(model_name): | |
for provider, models in MODEL_COSTS.items(): | |
for model, cost in models.items(): | |
if model == model_name: | |
return cost | |
return None | |
def get_tier_1(): | |
tier_1 = [] | |
for provider, models in MODEL_COSTS.items(): | |
for model, cost in models.items(): | |
if cost["input"] + cost["output"] < TIERS_COST["tier1"]: | |
tier_1.append(model) | |
return tier_1 | |
def get_tier_2(): | |
tier_2 = [] | |
for provider, models in MODEL_COSTS.items(): | |
for model, cost in models.items(): | |
if cost["input"] + cost["output"] >= TIERS_COST["tier1"] and cost["input"] + cost["output"] < TIERS_COST["tier2"]: | |
tier_2.append(model) | |
return tier_2 | |
def get_tier_3(): | |
tier_3 = [] | |
for provider, models in MODEL_COSTS.items(): | |
for model, cost in models.items(): | |
if cost["input"] + cost["output"] >= TIERS_COST["tier2"] and cost["input"] + cost["output"] < TIERS_COST["tier3"]: | |
tier_3.append(model) | |
return tier_3 | |
def get_tier_4(): | |
tier_4 = [] | |
for provider, models in MODEL_COSTS.items(): | |
for model, cost in models.items(): | |
if cost["input"] + cost["output"] >= TIERS_COST["tier3"]: | |
tier_4.append(model) | |
return tier_4 | |
# Print current tier definitions from registry | |
import json | |
print("Current tier definitions from registry:") | |
print(json.dumps(MODEL_TIERS, indent=4)) | |
print("\n") | |
# Generate new tier assignments based on cost | |
model_tiers = { | |
"tier1": { | |
"name": "Basic", | |
"credits": 1, | |
"models": get_tier_1() | |
}, | |
"tier2": { | |
"name": "Standard", | |
"credits": 3, | |
"models": get_tier_2() | |
}, | |
"tier3": { | |
"name": "Premium", | |
"credits": 5, | |
"models": get_tier_3() | |
}, | |
"tier4": { | |
"name": "Premium Plus", | |
"credits": 10, | |
"models": get_tier_4() | |
} | |
} | |
print("Suggested tier definitions based on cost:") | |
print(json.dumps(model_tiers, indent=4)) |