[PR #317] [MERGED] fix(deepseek): update default model names to DeepSeek V4 #314

Closed
opened 2026-06-06 22:10:11 -04:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/vxcontrol/pentagi/pull/317
Author: @mason5052
Created: 5/21/2026
Status: Merged
Merged: 5/27/2026
Merged by: @asdek

Base: feature/next-releaseHead: codex/issue-314-deepseek-v4-models


📝 Commits (4)

  • 3113ff3 fix(deepseek): update default model names to DeepSeek V4
  • 20b0633 docs(deepseek): address Copilot review feedback
  • 67bf765 docs(deepseek): align V4 model metadata with official pricing and context
  • 24176c2 fix(deepseek): explicitly disable thinking mode for non-thinking Flash roles

📊 Changes

8 files changed (+166 additions, -131 deletions)

View changed files

📝 README.md (+16 -11)
📝 backend/cmd/installer/wizard/locale/locale.go (+3 -3)
📝 backend/docs/config.md (+1 -1)
📝 backend/docs/llms_how_to.md (+1 -1)
📝 backend/pkg/providers/deepseek/config.yml (+67 -52)
📝 backend/pkg/providers/deepseek/deepseek.go (+1 -1)
📝 backend/pkg/providers/deepseek/models.yml (+10 -10)
📝 examples/configs/deepseek.provider.yml (+67 -52)

📄 Description

Summary

Closes #314.

Update the DeepSeek provider's default model names from the legacy
deepseek-chat / deepseek-reasoner pair to the current
deepseek-v4-flash / deepseek-v4-pro pair, plus the documentation
and installer help strings that referenced the legacy names. LiteLLM
prefix behavior is unchanged.

Problem

The embedded DeepSeek config at
backend/pkg/providers/deepseek/{config.yml,models.yml}, the
DeepSeekAgentModel fallback constant in deepseek.go, and the
example file examples/configs/deepseek.provider.yml all default to
the legacy DeepSeek model names. DeepSeek has announced that these
legacy aliases are deprecated and scheduled for removal on
2026-07-24. After that date a first-run PentAGI install that
accepts the bundled defaults will fail because DeepSeek will reject
the legacy model names on the wire.

Solution

Swap every default model name in the DeepSeek provider config (and
the matching example file) to the V4 family, mapped by the role's
intent:

  • non-thinking roles (simple, simple_json, adviser,
    searcher, enricher) -> deepseek-v4-flash
  • reasoning-heavy roles (primary_agent, assistant, generator,
    refiner, reflector, coder, installer, pentester) ->
    deepseek-v4-pro

Update models.yml to declare those two models with the V4 Flash /
V4 Pro descriptions and thinking: false / thinking: true
respectively. Update the DeepSeekAgentModel fallback constant in
deepseek.go to deepseek-v4-flash.

Update the three documentation references that mention the legacy
names in user-facing examples (README LiteLLM prefix example,
backend/docs/config.md LiteLLM example, backend/docs/llms_how_to.md
Go snippet) and the one installer wizard help string in
backend/cmd/installer/wizard/locale/locale.go. Add a short
deprecation notice in the README pointing at the 2026-07-24 cut-off
date, so users who hit older docs understand why the names changed.

The LiteLLM prefix mechanism itself (DEEPSEEK_PROVIDER env var,
provider.ApplyModelPrefix / provider.StripModelPrefix,
backend/pkg/providers/provider/litellm_test.go) is untouched.

Note on the mapping in the issue body

Issue #314 lists the mapping as deepseek-chat -> deepseek-v4-pro
and deepseek-reasoner -> deepseek-v4-flash. The official DeepSeek
docs (api-docs.deepseek.com/quick_start/pricing and .../updates)
show both legacy aliases now point at a single deepseek-v4-flash
endpoint under different modes, so the issue's mapping is not a
direct 1:1 rename. This PR picks the mapping by role intent
inside PentAGI's config instead: thinking-heavy roles get
deepseek-v4-pro, non-thinking roles get deepseek-v4-flash. That
preserves the existing per-role behavior (a reasoning role keeps
extended thinking enabled, a fast role keeps a fast model) while
moving everyone to a non-deprecated name.

User Impact

  • A fresh PentAGI install using the bundled DeepSeek config will
    continue to work after the 2026-07-24 DeepSeek deprecation date.
  • Users on existing installs are unaffected unless they were
    pinning their config to the bundled defaults; in that case they
    see the same behavior, just routed to a non-deprecated name.
  • LiteLLM users see the prefixed name change from
    deepseek/deepseek-chat to deepseek/deepseek-v4-flash only if
    they use the bundled config; the prefix mechanism itself is
    unchanged.
  • No GraphQL schema, no migrations, no lifecycle/queue changes.

Test Plan

  • git diff --check (no whitespace errors)
  • go test ./pkg/providers/deepseek/... (PASS, 0.189s)
  • go test ./pkg/providers/provider/... -run 'TestApplyModelPrefix|TestStripModelPrefix|TestLoadModels' (PASS, 0.240s)
  • go build ./pkg/providers/deepseek/... ./pkg/providers/provider/... ./cmd/installer/wizard/... (clean)
  • rg 'deepseek-chat|deepseek-reasoner' across the edited
    paths only matches the intentional deprecation notice in the
    README; no other stale references remain
  • Verified no AI co-author trailer and no Signed-off-by; commit
    authored as mason5052 <ehehwnwjs5052@gmail.com>

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/vxcontrol/pentagi/pull/317 **Author:** [@mason5052](https://github.com/mason5052) **Created:** 5/21/2026 **Status:** ✅ Merged **Merged:** 5/27/2026 **Merged by:** [@asdek](https://github.com/asdek) **Base:** `feature/next-release` ← **Head:** `codex/issue-314-deepseek-v4-models` --- ### 📝 Commits (4) - [`3113ff3`](https://github.com/vxcontrol/pentagi/commit/3113ff3aa330be6bbcd2c686d55cd5c61e56303c) fix(deepseek): update default model names to DeepSeek V4 - [`20b0633`](https://github.com/vxcontrol/pentagi/commit/20b0633521f0436006e1cf5100ccb436390506ec) docs(deepseek): address Copilot review feedback - [`67bf765`](https://github.com/vxcontrol/pentagi/commit/67bf76514b1559892ccef2f47fea77901ecbcfa4) docs(deepseek): align V4 model metadata with official pricing and context - [`24176c2`](https://github.com/vxcontrol/pentagi/commit/24176c2805f6f577169c139ef538b78934985375) fix(deepseek): explicitly disable thinking mode for non-thinking Flash roles ### 📊 Changes **8 files changed** (+166 additions, -131 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+16 -11) 📝 `backend/cmd/installer/wizard/locale/locale.go` (+3 -3) 📝 `backend/docs/config.md` (+1 -1) 📝 `backend/docs/llms_how_to.md` (+1 -1) 📝 `backend/pkg/providers/deepseek/config.yml` (+67 -52) 📝 `backend/pkg/providers/deepseek/deepseek.go` (+1 -1) 📝 `backend/pkg/providers/deepseek/models.yml` (+10 -10) 📝 `examples/configs/deepseek.provider.yml` (+67 -52) </details> ### 📄 Description ## Summary Closes #314. Update the DeepSeek provider's default model names from the legacy `deepseek-chat` / `deepseek-reasoner` pair to the current `deepseek-v4-flash` / `deepseek-v4-pro` pair, plus the documentation and installer help strings that referenced the legacy names. LiteLLM prefix behavior is unchanged. ## Problem The embedded DeepSeek config at `backend/pkg/providers/deepseek/{config.yml,models.yml}`, the `DeepSeekAgentModel` fallback constant in `deepseek.go`, and the example file `examples/configs/deepseek.provider.yml` all default to the legacy DeepSeek model names. DeepSeek has announced that these legacy aliases are deprecated and scheduled for removal on 2026-07-24. After that date a first-run PentAGI install that accepts the bundled defaults will fail because DeepSeek will reject the legacy model names on the wire. ## Solution Swap every default model name in the DeepSeek provider config (and the matching example file) to the V4 family, mapped by the role's intent: - non-thinking roles (`simple`, `simple_json`, `adviser`, `searcher`, `enricher`) -> `deepseek-v4-flash` - reasoning-heavy roles (`primary_agent`, `assistant`, `generator`, `refiner`, `reflector`, `coder`, `installer`, `pentester`) -> `deepseek-v4-pro` Update `models.yml` to declare those two models with the V4 Flash / V4 Pro descriptions and `thinking: false` / `thinking: true` respectively. Update the `DeepSeekAgentModel` fallback constant in `deepseek.go` to `deepseek-v4-flash`. Update the three documentation references that mention the legacy names in user-facing examples (README LiteLLM prefix example, `backend/docs/config.md` LiteLLM example, `backend/docs/llms_how_to.md` Go snippet) and the one installer wizard help string in `backend/cmd/installer/wizard/locale/locale.go`. Add a short deprecation notice in the README pointing at the 2026-07-24 cut-off date, so users who hit older docs understand why the names changed. The LiteLLM prefix mechanism itself (`DEEPSEEK_PROVIDER` env var, `provider.ApplyModelPrefix` / `provider.StripModelPrefix`, `backend/pkg/providers/provider/litellm_test.go`) is untouched. ### Note on the mapping in the issue body Issue #314 lists the mapping as `deepseek-chat -> deepseek-v4-pro` and `deepseek-reasoner -> deepseek-v4-flash`. The official DeepSeek docs (`api-docs.deepseek.com/quick_start/pricing` and `.../updates`) show both legacy aliases now point at a single `deepseek-v4-flash` endpoint under different modes, so the issue's mapping is not a direct 1:1 rename. This PR picks the mapping by *role intent* inside PentAGI's config instead: thinking-heavy roles get `deepseek-v4-pro`, non-thinking roles get `deepseek-v4-flash`. That preserves the existing per-role behavior (a reasoning role keeps extended thinking enabled, a fast role keeps a fast model) while moving everyone to a non-deprecated name. ## User Impact - A fresh PentAGI install using the bundled DeepSeek config will continue to work after the 2026-07-24 DeepSeek deprecation date. - Users on existing installs are unaffected unless they were pinning their config to the bundled defaults; in that case they see the same behavior, just routed to a non-deprecated name. - LiteLLM users see the prefixed name change from `deepseek/deepseek-chat` to `deepseek/deepseek-v4-flash` only if they use the bundled config; the prefix mechanism itself is unchanged. - No GraphQL schema, no migrations, no lifecycle/queue changes. ## Test Plan - [x] `git diff --check` (no whitespace errors) - [x] `go test ./pkg/providers/deepseek/...` (PASS, 0.189s) - [x] `go test ./pkg/providers/provider/... -run 'TestApplyModelPrefix|TestStripModelPrefix|TestLoadModels'` (PASS, 0.240s) - [x] `go build ./pkg/providers/deepseek/... ./pkg/providers/provider/... ./cmd/installer/wizard/...` (clean) - [x] `rg 'deepseek-chat|deepseek-reasoner'` across the edited paths only matches the intentional deprecation notice in the README; no other stale references remain - [x] Verified no AI co-author trailer and no Signed-off-by; commit authored as `mason5052 <ehehwnwjs5052@gmail.com>` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-06-06 22:10:11 -04:00
yindo closed this issue 2026-06-06 22:10:11 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vxcontrol/pentagi#314