import { HUGGINGFACE_MODELS } from '@/lib/huggingface';
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { ArrowLeft, Cpu, Code, Zap, Brain } from 'lucide-react';
import Link from 'next/link';
export default function ModelsPage() {
const modelsByCategory = {
general: Object.entries(HUGGINGFACE_MODELS).filter(([_, m]) => m.category === 'general'),
code: Object.entries(HUGGINGFACE_MODELS).filter(([_, m]) => m.category === 'code'),
quick: Object.entries(HUGGINGFACE_MODELS).filter(([_, m]) => m.category === 'quick'),
};
const getCategoryIcon = (category: string) => {
switch (category) {
case 'general': return ;
case 'code': return ;
case 'quick': return ;
default: return ;
}
};
const getCategoryTitle = (category: string) => {
switch (category) {
case 'general': return 'General Purpose Models';
case 'code': return 'Code Generation Models';
case 'quick': return 'Fast Response Models';
default: return 'Models';
}
};
return (
Available Models
Lucidia intelligently routes your requests to the best open-source model for each task.
GPT-4o, GPT-3.5 Turbo
Best for: General tasks, code
Claude 3 Sonnet, Claude 3 Haiku
Best for: Writing, analysis
{Object.keys(HUGGINGFACE_MODELS).length} open-source models
Best for: Cost-effective inference
{Object.entries(modelsByCategory).map(([category, models]) => (
{getCategoryIcon(category)}
{getCategoryTitle(category)}
{models.map(([key, model]) => (
{model.name}
{model.category}
{model.id}
{model.description}
{model.contextWindow.toLocaleString()} tokens
•
Free to use
))}
))}
Intelligent Routing
Lucidia automatically selects the best model for your task
Code Tasks
Routes to GPT-4o or Code Llama for structured output
Writing Tasks
Routes to Claude for nuanced, creative content
Quick Tasks
Routes to GPT-3.5 or Phi-3 Mini for fast responses
);
}