Repository navigation
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Two fixtures still use type instead of size, breaking frontend type-checking, and replacing the Type chip with Size removes the required LLM/embedding indicator.
2 open issues
What changed in this PR
Renames the model size field from type to size across the catalog, backend, and frontend, distinguishing Small/Medium/Large labels from model capabilities such as LLM or embeddings.
Changes:
- Updates model interfaces, schemas, synchronization, and API mappings to use
size. - Adds a data-preserving database column rename with migration metadata.
- Replaces the model-card Type chip with a Size chip and updates backend fixtures and the changelog.
| File | Description |
|---|---|
frontend/lib/models/types.ts |
Uses shared ModelSize for ModelInfo.size. |
frontend/lib/db/schema.ts |
Renames the catalog column mapping to size. |
frontend/lib/db/migrations/meta/0005_snapshot.json |
Records the renamed column in the schema snapshot. |
frontend/lib/db/migrations/meta/_journal.json |
Registers the new migration. |
frontend/lib/db/migrations/0005_rename_model_type_to_size.sql |
Renames the column without discarding data. |
frontend/hooks/use-models.ts |
Updates the client model interface. |
frontend/components/model-card/model-metadata-chips.tsx |
Displays size labels with size-based colors. |
frontend/app/api/models/route.ts |
Updates catalog response mappings and size inference variables. |
frontend/app/api/models/[modelId]/route.ts |
Returns size in individual model responses. |
frontend/app/(dashboard)/active-models/page.tsx |
Updates fallback model metadata. |
CHANGELOG.md |
Documents the rename and chip change. |
backend/tests/test_model_service_launch.py |
Updates launch-test catalog fixtures. |
backend/tests/test_model_eviction.py |
Updates eviction-test catalog fixtures. |
backend/app/services/model_service.py |
Uses size in catalog synchronization. |
backend/app/schemas/available_model.py |
Renames Pydantic model fields. |
backend/app/models/available_model.py |
Renames the SQLAlchemy column mapping. |
Review effort: Balanced
| description: string; | ||
| status: 'warm' | 'cold'; | ||
| type: 'Small' | 'Medium' | 'Large'; | ||
| size: ModelSize; |
There was a problem hiding this comment.
🟡 Changes recommended
The metadata-chip change removes the existing LLM fallback for models without modelType and displays the internal Text_Embedding value instead of the formatted Text Embedding label.
2 open issues
1 resolved since last review
Review effort: Balanced
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
joshfactorial
left a comment
There was a problem hiding this comment.
A couple recommended changes to the changelog. Otherwise looks really good!



refactor: rename model type to size uniformly
there was ModelInfo.type that was essentially looking at the model size / num gpus needed. Since we use modelType to denote embeddings/llm/vlm, changed the ModelInfo.type to ModelInfo.size to better reflect things.
This involves db table "availableModel" schema change
Need to run db:migrate to test this PR.