Skip to content

feat: add DeepSeek V4 model identifiers#14891

Closed
zkl2333 wants to merge 2 commits into
NousResearch:mainfrom
zkl2333:feat/deepseek-v4-models
Closed

feat: add DeepSeek V4 model identifiers#14891
zkl2333 wants to merge 2 commits into
NousResearch:mainfrom
zkl2333:feat/deepseek-v4-models

Conversation

@zkl2333

@zkl2333 zkl2333 commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add DeepSeek V4 API model IDs: deepseek-v4-flash and deepseek-v4-pro
  • Keep legacy deepseek-chat and deepseek-reasoner available for compatibility until 2026-07-24
  • Update DeepSeek provider description and normalization docs/tests

Source

Verification

  • python -m pytest tests/hermes_cli/test_model_normalize.py tests/hermes_cli/test_models.py -q
  • 120 passed

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard provider/deepseek DeepSeek API labels Apr 24, 2026
@zkl2333 zkl2333 marked this pull request as ready for review April 24, 2026 03:41
@yuan1238y

Copy link
Copy Markdown

有办法临时绕过 normalization 逻辑吗?我设置使用 deepseek-v4-pro 结果给我改成 chat 了

@zkl2333

zkl2333 commented Apr 24, 2026

Copy link
Copy Markdown
Contributor Author

Yes — I verified this against the current main-branch normalization behavior.

On main, using the native DeepSeek provider currently normalizes:

deepseek-v4-pro + provider=deepseek -> deepseek-chat

But using a custom OpenAI-compatible endpoint bypasses the DeepSeek-specific normalization and preserves the model id:

deepseek-v4-pro + provider=custom -> deepseek-v4-pro

So a temporary workaround before this PR lands is to configure DeepSeek as a custom OpenAI-compatible provider, for example:

model:
  provider: custom
  default: deepseek-v4-pro
  base_url: https://api.deepseek.com/v1

Or, if using a named custom provider / custom_providers entry:

custom_providers:
  - name: deepseek-custom
    base_url: https://api.deepseek.com/v1
    key_env: DEEPSEEK_API_KEY
    api_mode: chat_completions
    model: deepseek-v4-pro

The important bit is that the provider should be custom, not deepseek, so the model name is passed through unchanged. This PR makes the native deepseek provider also pass deepseek-v4-flash and deepseek-v4-pro through unchanged.

@zkl2333

zkl2333 commented Apr 24, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #14946. After #14934 landed the v4 model ids on the DeepSeek native provider, the only remaining gap was the normalization path — I've extracted that into a smaller, fix-scoped PR based on latest main. Closing this one.

@zkl2333 zkl2333 closed this Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have provider/deepseek DeepSeek API type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants