Skip to content

Commit 6a70513

Browse files
feat(inference): default to DeepSeek-V4-Pro model (#435)
Change the default selected model on page load from DeepSeek-R1-0528 to DeepSeek-V4-Pro. Updates the GlobalFilterContext initial state and the PARAM_DEFAULTS used to omit redundant g_model from share URLs. - GlobalFilterContext: default selectedModel → Model.DeepSeek_V4_Pro - url-state PARAM_DEFAULTS.g_model → 'DeepSeek-V4-Pro' (so the new default is omitted from share links) - url-state tests: assert the new default and swap the omit/preserve fixtures accordingly - model-architecture e2e: pin to ?g_model=DeepSeek-R1-0528 explicitly, since R1 (not the new default DSv4-Pro, which has no architecture diagram entry) is what those tests exercise Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent bc2890e commit 6a70513

4 files changed

Lines changed: 12 additions & 9 deletions

File tree

packages/app/cypress/e2e/model-architecture.cy.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ describe('Model Architecture Diagram', () => {
22
before(() => {
33
// Use desktop viewport to ensure all UI elements are visible
44
cy.viewport(1280, 800);
5-
cy.visit('/inference', {
5+
// Pin to DeepSeek R1 — it has a rich architecture diagram (MoE + dense blocks)
6+
// that the tests below exercise. The app's default model is DeepSeek V4 Pro,
7+
// which has no architecture entry, so we select R1 explicitly via URL.
8+
cy.visit('/inference?g_model=DeepSeek-R1-0528', {
69
onBeforeLoad(win) {
710
win.localStorage.setItem('inferencex-star-modal-dismissed', String(Date.now()));
811
},
@@ -11,7 +14,7 @@ describe('Model Architecture Diagram', () => {
1114
cy.get('[data-testid="inference-chart-display"]').should('be.visible');
1215
});
1316

14-
it('architecture toggle renders for default model (DeepSeek R1) with MoE badges', () => {
17+
it('architecture toggle renders for DeepSeek R1 with MoE badges', () => {
1518
cy.get('[data-testid="model-architecture-toggle"]').should('be.visible');
1619
cy.get('[data-testid="model-architecture-toggle"]').should(
1720
'contain.text',

packages/app/src/components/GlobalFilterContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ export function GlobalFilterProvider({
141141

142142
// ── Core filter state ─────────────────────────────────────────────────────
143143
const [selectedModel, setSelectedModel] = useState<Model>(
144-
() => initialModel ?? Model.DeepSeek_R1,
144+
() => initialModel ?? Model.DeepSeek_V4_Pro,
145145
);
146146

147147
const [selectedSequence, setSelectedSequence] = useState<Sequence>(() => {

packages/app/src/lib/url-state.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('PARAM_DEFAULTS', () => {
2727

2828
it('has expected default for g_model', async () => {
2929
const { PARAM_DEFAULTS } = await import('@/lib/url-state');
30-
expect(PARAM_DEFAULTS.g_model).toBe('DeepSeek-R1-0528');
30+
expect(PARAM_DEFAULTS.g_model).toBe('DeepSeek-V4-Pro');
3131
});
3232

3333
it('has expected default for i_seq', async () => {
@@ -164,7 +164,7 @@ describe('writeUrlParams + buildShareUrl', () => {
164164
const { writeUrlParams, buildShareUrl } = await import('@/lib/url-state');
165165

166166
// write default value, should be omitted
167-
writeUrlParams({ g_model: 'DeepSeek-R1-0528' });
167+
writeUrlParams({ g_model: 'DeepSeek-V4-Pro' });
168168
await vi.advanceTimersByTimeAsync(200);
169169

170170
const url = buildShareUrl();
@@ -375,14 +375,14 @@ describe('buildShareUrl unofficialrun handling', () => {
375375
});
376376

377377
it('preserves unofficialruns alongside other in-memory share params', async () => {
378-
setupWindow('?unofficialruns=111&g_model=DeepSeek-R1-0528', '/inference');
378+
setupWindow('?unofficialruns=111&g_model=DeepSeek-V4-Pro', '/inference');
379379
const { writeUrlParams, buildShareUrl } = await import('@/lib/url-state');
380380

381-
writeUrlParams({ g_model: 'DeepSeek-V4-Pro' });
381+
writeUrlParams({ g_model: 'DeepSeek-R1-0528' });
382382
await vi.advanceTimersByTimeAsync(200);
383383

384384
const url = buildShareUrl();
385-
expect(url).toContain('g_model=DeepSeek-V4-Pro');
385+
expect(url).toContain('g_model=DeepSeek-R1-0528');
386386
expect(url).toContain('unofficialruns=111');
387387
});
388388

packages/app/src/lib/url-state.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export type UrlStateParams = Partial<Record<UrlStateKey, string>>;
6060

6161
/** Default values for each parameter. Params matching their default are omitted from share URLs. */
6262
export const PARAM_DEFAULTS: Record<UrlStateKey, string> = {
63-
g_model: 'DeepSeek-R1-0528',
63+
g_model: 'DeepSeek-V4-Pro',
6464
g_rundate: '',
6565
g_runid: '',
6666
i_seq: '8k/1k',

0 commit comments

Comments
 (0)