redesign fully scaffolded and web login works
This commit is contained in:
@@ -108,11 +108,11 @@ export class ModelRouter {
|
||||
// Pro users get good models
|
||||
return isComplex
|
||||
? { provider: LLMProvider.ANTHROPIC, model: 'claude-3-5-sonnet-20241022' }
|
||||
: { provider: LLMProvider.OPENAI, model: 'gpt-4o-mini' };
|
||||
: { provider: LLMProvider.ANTHROPIC, model: 'claude-3-5-haiku-20241022' };
|
||||
}
|
||||
|
||||
// Free users get efficient models
|
||||
return { provider: LLMProvider.GOOGLE, model: 'gemini-2.0-flash-exp' };
|
||||
return { provider: LLMProvider.ANTHROPIC, model: 'claude-3-5-haiku-20241022' };
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -124,10 +124,10 @@ export class ModelRouter {
|
||||
return { provider: LLMProvider.ANTHROPIC, model: 'claude-3-5-sonnet-20241022' };
|
||||
|
||||
case 'pro':
|
||||
return { provider: LLMProvider.OPENAI, model: 'gpt-4o' };
|
||||
return { provider: LLMProvider.ANTHROPIC, model: 'claude-3-5-sonnet-20241022' };
|
||||
|
||||
case 'free':
|
||||
return { provider: LLMProvider.GOOGLE, model: 'gemini-2.0-flash-exp' };
|
||||
return { provider: LLMProvider.ANTHROPIC, model: 'claude-3-5-haiku-20241022' };
|
||||
|
||||
default:
|
||||
return this.defaultModel;
|
||||
@@ -137,23 +137,18 @@ export class ModelRouter {
|
||||
/**
|
||||
* Route to cheapest available model
|
||||
*/
|
||||
private routeByCost(license: UserLicense): ModelConfig {
|
||||
// Free tier: use cheapest
|
||||
if (license.licenseType === 'free') {
|
||||
return { provider: LLMProvider.GOOGLE, model: 'gemini-2.0-flash-exp' };
|
||||
}
|
||||
|
||||
// Paid tiers: use GPT-4o-mini for cost efficiency
|
||||
return { provider: LLMProvider.OPENAI, model: 'gpt-4o-mini' };
|
||||
private routeByCost(_license: UserLicense): ModelConfig {
|
||||
// All tiers: use Haiku for cost efficiency
|
||||
return { provider: LLMProvider.ANTHROPIC, model: 'claude-3-5-haiku-20241022' };
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if model is allowed for user's license
|
||||
*/
|
||||
private isModelAllowed(model: ModelConfig, license: UserLicense): boolean {
|
||||
// Free tier: only cheap models
|
||||
// Free tier: only Haiku
|
||||
if (license.licenseType === 'free') {
|
||||
const allowedModels = ['gemini-2.0-flash-exp', 'gpt-4o-mini', 'claude-3-5-haiku-20241022'];
|
||||
const allowedModels = ['claude-3-5-haiku-20241022'];
|
||||
return allowedModels.includes(model.model);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user