core/config: default DeepSeek models v4-flash and v4-pro

When preset deepseek omits models, seed deepseek-v4-flash and
deepseek-v4-pro as text-capable entries for selection and docs.
This commit is contained in:
2026-07-15 13:57:29 +08:00
parent fb61f6bc32
commit 2052967824
7 changed files with 40 additions and 4 deletions
+18
View File
@@ -43,6 +43,9 @@ def test_read_valid_config() -> None:
assert isinstance(providers["test2"], OpenAICompatibleProvider)
assert isinstance(providers["test3"], AnthropicProvider)
assert isinstance(providers["foo1"], DeepseekProvider)
# TOML omitted models → DeepSeek defaults.
assert set(providers["foo1"].models) == {"deepseek-v4-flash", "deepseek-v4-pro"}
assert providers["foo1"].models["deepseek-v4-flash"].text is True
db = config.database
assert db["implementation"] == "sqlite"
assert db["url"] == ":memory:"
@@ -50,6 +53,21 @@ def test_read_valid_config() -> None:
assert db["password"] is None
def test_deepseek_default_models_on_construct() -> None:
provider = DeepseekProvider(access_key_or_token="sk-test")
assert set(provider.models) == {"deepseek-v4-flash", "deepseek-v4-pro"}
def test_deepseek_explicit_models_override_defaults() -> None:
from plyngent.config import ModelConfig
provider = DeepseekProvider(
access_key_or_token="sk-test",
models={"custom-only": ModelConfig(text=True)},
)
assert set(provider.models) == {"custom-only"}
def test_read_empty_config() -> None:
config = plyngent.config.load(Path(__file__).parent / "plyngent-empty.toml")
assert isinstance(config.providers, Mapping)
@@ -43,6 +43,8 @@ def test_deepseek_openai_convention() -> None:
client = create_client(provider)
assert isinstance(client, DeepseekOpenAIClient)
assert provider_to_openai_config(provider).base_url == "https://api.deepseek.com/v1"
assert "deepseek-v4-flash" in provider.models
assert "deepseek-v4-pro" in provider.models
def test_deepseek_anthropic_convention_not_implemented() -> None: