mirror of
https://github.com/vxcontrol/pentagi.git
synced 2026-07-20 23:57:11 -04:00
[PR #317] [MERGED] fix(deepseek): update default model names to DeepSeek V4 #314
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 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-release← Head:codex/issue-314-deepseek-v4-models📝 Commits (4)
3113ff3fix(deepseek): update default model names to DeepSeek V420b0633docs(deepseek): address Copilot review feedback67bf765docs(deepseek): align V4 model metadata with official pricing and context24176c2fix(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-reasonerpair to the currentdeepseek-v4-flash/deepseek-v4-propair, plus the documentationand 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}, theDeepSeekAgentModelfallback constant indeepseek.go, and theexample file
examples/configs/deepseek.provider.ymlall default tothe 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:
simple,simple_json,adviser,searcher,enricher) ->deepseek-v4-flashprimary_agent,assistant,generator,refiner,reflector,coder,installer,pentester) ->deepseek-v4-proUpdate
models.ymlto declare those two models with the V4 Flash /V4 Pro descriptions and
thinking: false/thinking: truerespectively. Update the
DeepSeekAgentModelfallback constant indeepseek.gotodeepseek-v4-flash.Update the three documentation references that mention the legacy
names in user-facing examples (README LiteLLM prefix example,
backend/docs/config.mdLiteLLM example,backend/docs/llms_how_to.mdGo snippet) and the one installer wizard help string in
backend/cmd/installer/wizard/locale/locale.go. Add a shortdeprecation 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_PROVIDERenv 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-proand
deepseek-reasoner -> deepseek-v4-flash. The official DeepSeekdocs (
api-docs.deepseek.com/quick_start/pricingand.../updates)show both legacy aliases now point at a single
deepseek-v4-flashendpoint 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 getdeepseek-v4-flash. Thatpreserves 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
continue to work after the 2026-07-24 DeepSeek deprecation date.
pinning their config to the bundled defaults; in that case they
see the same behavior, just routed to a non-deprecated name.
deepseek/deepseek-chattodeepseek/deepseek-v4-flashonly ifthey use the bundled config; the prefix mechanism itself is
unchanged.
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 editedpaths only matches the intentional deprecation notice in the
README; no other stale references remain
authored as
mason5052 <ehehwnwjs5052@gmail.com>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.