feat: multi-model Compare view#8367
Open
caezium wants to merge 1 commit into
Open
Conversation
Run one prompt across several models side by side, across any configured providers (local + cloud together). - New /compare route + sidebar nav entry. - Execution modes: By backend (parallel across backends, sequential within each so a single local server that serializes generation doesn't drop a column), Concurrent, and Sequential. - Per-model generation stats: tokens/sec (live while streaming, exact on completion from provider usage), time-to-first-token, output tokens, total time; fastest model highlighted. - Streams via fullStream so reasoning models surface reasoning_content in a collapsible block instead of rendering blank.
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.
Describe Your Changes
Adds a multi-model Compare view (
/compare): send one prompt to several models and watch their answers stream side by side — across any configured providers at once (local + cloud).What it does
usage), time-to-first-token, output tokens, and total time; the fastest model is highlighted.fullStream, so reasoning models (which return emptycontent) surface theirreasoning_contentin a collapsible block instead of rendering blank:Adds a
/compareroute and a sidebar nav entry. No existing flows are modified — the diff is additive only.Fixes Issues
Self Checklist
web-app/src/routes/__tests__/compare.test.tsx)Verified end-to-end against LM Studio over an OpenAI-compatible provider (both instruct and reasoning models): execution modes, live + exact stats, fastest highlighting, and reasoning rendering all confirmed.
yarn build:web, ESLint, and the new vitest suite all pass.