refactor: use a single agent model path
This commit is contained in:
+59
-35
@@ -3,8 +3,6 @@ from __future__ import annotations
|
||||
from dataclasses import dataclass
|
||||
from typing import Literal
|
||||
|
||||
Mode = Literal["chat", "work"]
|
||||
Strength = Literal["light", "medium", "high", "extreme"]
|
||||
Provider = Literal["k1412", "deepseek"]
|
||||
|
||||
|
||||
@@ -12,49 +10,70 @@ Provider = Literal["k1412", "deepseek"]
|
||||
class ModelSpec:
|
||||
public_id: str
|
||||
display_name: str
|
||||
mode: Mode
|
||||
strength: Strength
|
||||
provider: Provider
|
||||
provider_model: str
|
||||
thinking_enabled: bool
|
||||
thinking_label: str
|
||||
thinking_adjustable: bool
|
||||
reasoning_effort: str | None
|
||||
max_output_tokens: int
|
||||
max_iterations: int
|
||||
context_char_budget: int
|
||||
|
||||
|
||||
_TIERS = {
|
||||
"light": ("轻度", "k1412", "ChatGPT-5.6:Luna", False, None, 4_096, 8, 120_000),
|
||||
"medium": ("中", "k1412", "ChatGPT-5.6:Terra", False, None, 4_096, 16, 240_000),
|
||||
"high": ("高", "k1412", "ChatGPT-5.6:Sol", False, None, 4_096, 24, 400_000),
|
||||
"extreme": ("极高", "deepseek", "deepseek-v4-pro", True, "max", 16_384, 32, 800_000),
|
||||
}
|
||||
|
||||
MODEL_SPECS: dict[str, ModelSpec] = {
|
||||
f"{mode}-{strength}": ModelSpec(
|
||||
public_id=f"{mode}-{strength}",
|
||||
display_name=f"{'Chat' if mode == 'chat' else 'Work'} · {label}",
|
||||
mode=mode,
|
||||
strength=strength,
|
||||
provider=provider,
|
||||
provider_model=provider_model,
|
||||
thinking_enabled=thinking_enabled,
|
||||
reasoning_effort=reasoning_effort,
|
||||
max_output_tokens=max_output_tokens,
|
||||
max_iterations=max_iterations,
|
||||
context_char_budget=context_budget,
|
||||
)
|
||||
for mode in ("chat", "work")
|
||||
for strength, (
|
||||
label,
|
||||
provider,
|
||||
provider_model,
|
||||
thinking_enabled,
|
||||
reasoning_effort,
|
||||
max_output_tokens,
|
||||
max_iterations,
|
||||
context_budget,
|
||||
) in _TIERS.items()
|
||||
"luna": ModelSpec(
|
||||
public_id="luna",
|
||||
display_name="Luna",
|
||||
provider="k1412",
|
||||
provider_model="ChatGPT-5.6:Luna",
|
||||
thinking_enabled=True,
|
||||
thinking_label="开启(不分档)",
|
||||
thinking_adjustable=False,
|
||||
reasoning_effort=None,
|
||||
max_output_tokens=4_096,
|
||||
max_iterations=8,
|
||||
context_char_budget=120_000,
|
||||
),
|
||||
"terra": ModelSpec(
|
||||
public_id="terra",
|
||||
display_name="Terra",
|
||||
provider="k1412",
|
||||
provider_model="ChatGPT-5.6:Terra",
|
||||
thinking_enabled=True,
|
||||
thinking_label="开启(不分档)",
|
||||
thinking_adjustable=False,
|
||||
reasoning_effort=None,
|
||||
max_output_tokens=4_096,
|
||||
max_iterations=16,
|
||||
context_char_budget=240_000,
|
||||
),
|
||||
"sol": ModelSpec(
|
||||
public_id="sol",
|
||||
display_name="Sol",
|
||||
provider="k1412",
|
||||
provider_model="ChatGPT-5.6:Sol",
|
||||
thinking_enabled=True,
|
||||
thinking_label="开启(不分档)",
|
||||
thinking_adjustable=False,
|
||||
reasoning_effort=None,
|
||||
max_output_tokens=4_096,
|
||||
max_iterations=24,
|
||||
context_char_budget=400_000,
|
||||
),
|
||||
"deepseek-v4-pro": ModelSpec(
|
||||
public_id="deepseek-v4-pro",
|
||||
display_name="DeepSeek V4 Pro",
|
||||
provider="deepseek",
|
||||
provider_model="deepseek-v4-pro",
|
||||
thinking_enabled=True,
|
||||
thinking_label="极高",
|
||||
thinking_adjustable=False,
|
||||
reasoning_effort="max",
|
||||
max_output_tokens=16_384,
|
||||
max_iterations=32,
|
||||
context_char_budget=800_000,
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@@ -74,6 +93,11 @@ def openai_model_list() -> dict:
|
||||
"object": "model",
|
||||
"owned_by": "k1412-agent",
|
||||
"name": spec.display_name,
|
||||
"k1412": {
|
||||
"thinking_enabled": spec.thinking_enabled,
|
||||
"thinking_label": spec.thinking_label,
|
||||
"thinking_adjustable": spec.thinking_adjustable,
|
||||
},
|
||||
}
|
||||
for spec in MODEL_SPECS.values()
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user