forked from tiammomo/ModelPort
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.toml
More file actions
114 lines (100 loc) · 3.46 KB
/
Copy pathconfig.example.toml
File metadata and controls
114 lines (100 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# Minimal, self-contained ModelPort configuration.
#
# Copy this file to `config.toml`, set the referenced secrets in the process
# environment, then run `model-port config validate`. In TOML mode, add every
# optional Provider explicitly and keep its secrets in environment variables;
# see docs/CONFIGURATION.md.
default_provider = "deepseek"
provider_order = ["deepseek"]
[server]
bind = "127.0.0.1:38082"
max_request_body_bytes = 33554432
max_concurrent_requests = 64
[auth]
token_env = "MODELPORT_AUTH_TOKEN"
# Runtime Adapters are control-plane discovery endpoints, not inference
# Providers. Disabled declarations are inert and do not resolve credentials.
[runtime_adapters.example]
enabled = false
base_url = "https://runtime-adapter.example"
bearer_token_env = "MODELPORT_RUNTIME_ADAPTER_EXAMPLE_TOKEN"
poll_interval_seconds = 30
stale_after_seconds = 90
# DeepSeek's Anthropic-compatible endpoint keeps the client contract intact.
[providers.deepseek]
display_name = "DeepSeek Official Anthropic"
protocol = "anthropic"
base_url_env = "DEEPSEEK_ANTHROPIC_BASE_URL"
base_url = "https://api.deepseek.com/anthropic"
api_key_env = "DEEPSEEK_ANTHROPIC_AUTH_TOKEN"
default_model = "deepseek-v4-flash"
models = [
"deepseek-v4-pro",
"deepseek-v4-flash",
]
model_prefixes = ["deepseek-"]
passthrough_unknown_models = false
deduplicate_stream_text = true
# Optional Provider-specific transport policy. One attempt preserves historical
# behavior; raise only after reviewing combined Provider/CPA retry ownership.
request_timeout_ms = 600000
stream_idle_timeout_ms = 300000
[providers.deepseek.retry]
max_attempts = 1
initial_delay_ms = 250
max_delay_ms = 5000
jitter_ratio = 0.1
[providers.deepseek.tool_use]
supported = true
tool_choice = true
parallel_tool_calls = true
streaming_arguments = "native"
response_validation = "best_effort"
repair_invalid_arguments = false
# Exact-model cards are eligible for governed settlement. Keep the version and
# evidence synchronized with the Provider's published price change.
[providers.deepseek.model_pricing."deepseek-v4-flash"]
input_per_million = 0.14
output_per_million = 0.28
cache_write_per_million = 0.14
cache_read_per_million = 0.0028
version = "deepseek-public-2026-04-24-v1"
effective_at = "2026-04-24T00:00:00Z"
currency = "USD"
source = "provider_published"
service_tier = "standard"
evidence = "https://api-docs.deepseek.com/quick_start/pricing#deepseek-v4-flash"
[providers.deepseek.model_pricing."deepseek-v4-pro"]
input_per_million = 0.435
output_per_million = 0.87
cache_write_per_million = 0.435
cache_read_per_million = 0.003625
version = "deepseek-public-2026-04-24-v1"
effective_at = "2026-04-24T00:00:00Z"
currency = "USD"
source = "provider_published"
service_tier = "standard"
evidence = "https://api-docs.deepseek.com/quick_start/pricing#deepseek-v4-pro"
[aliases]
deepseek-v4-pro = "deepseek:deepseek-v4-pro"
deepseek-v4-flash = "deepseek:deepseek-v4-flash"
# Smart aliases are opt-in and independent from deterministic aliases above.
# Roll out with off -> shadow -> active and an explicit activation percentage.
[routing]
mode = "off"
default_profile = "balanced"
policy_version = "builtin-v1"
activation_percent = 0
[routing.groups.general]
aliases = ["modelport-auto"]
default_profile = "balanced"
[[routing.groups.general.candidates]]
provider = "deepseek"
model = "deepseek-v4-pro"
quality = 0.95
latency_hint_ms = 1800
[[routing.groups.general.candidates]]
provider = "deepseek"
model = "deepseek-v4-flash"
quality = 0.82
latency_hint_ms = 700