| from src.utils.model_registry import MODEL_COSTS, MODEL_TIERS |
|
|
| |
| |
| |
| |
| |
|
|
| 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 |
|
|
| |
| import json |
| print("Current tier definitions from registry:") |
| print(json.dumps(MODEL_TIERS, indent=4)) |
| print("\n") |
|
|
| |
| 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)) |