feat: model types — type-aware proxy, UI badges, playground tabs#24
Merged
christianromeni merged 2 commits intomainfrom Mar 24, 2026
Merged
feat: model types — type-aware proxy, UI badges, playground tabs#24christianromeni merged 2 commits intomainfrom
christianromeni merged 2 commits intomainfrom
Conversation
- Add model_type field across full stack (DB, config, registry, API, UI) - New migration 0002_model_type.up.sql (ALTER TABLE for upgrades) - Type badge on Models page (chat/embedding/reranking/image/etc.) - Type selector in Create Model dialog - Playground filters non-chat models from selector - Available-models API returns objects with name + type - Health checker: type-aware functional probe (skip reranking/image/audio) - YAML config type validation - Valid types: chat, embedding, reranking, completion, image, audio_transcription, tts
- Add TabSwitcher component (state-based, accessible with role=tablist) - Playground: type-based tabs (Chat/Embedding/Completion), shown dynamically - Playground: embedding interface with text→vector and similarity comparison - EditModelDialog: add type selector - Fix stale model cache on page navigation (refetchOnMount: always)
a6ec14d to
139544e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
model_typeacross the full stack so VoidLLM can distinguish chat, embedding, reranking, completion, image, audio, and TTS models.Phase 1 — Backend + UI basics:
model_typecolumn via migration 0002/me/available-modelsreturns{name, type}objectsPhase 2 — Playground:
Test plan
go test ./... -racepassescd ui && npx tsc --noEmit && npm run lint