/v1/responses automatisch in
/chat/completions. Außerdem bildet GoModel Reasoning-Stufen im OpenAI-Stil auf die beiden Stufen
ab, die DeepSeek akzeptiert.
Konfiguration
config.yaml:
Wenn Sie DeepSeek bisher als
type: openai konfiguriert haben, wechseln Sie zu
type: deepseek. Der generische OpenAI-Provider übersetzt /responses nicht und bildet den
Reasoning-Aufwand nicht um.Abbildung des Reasoning-Aufwands
Die Reasoning-Modelle von DeepSeek V4 akzeptierenreasoning_effort als String auf oberster Ebene
mit zwei zulässigen Stufen: high und max.
GoModel schreibt das OpenAI-förmige
"reasoning": {"effort": "..."} in das DeepSeek-Feld
reasoning_effort auf oberster Ebene um – eine Änderung am Client ist nicht erforderlich.
Validieren oder normalisieren Sie benutzerdefinierte Client-Werte auf high oder max, bevor Sie
GoModel aufrufen. Um Reasoning zu deaktivieren, lassen Sie das Feld reasoning vollständig weg;
jedes angegebene reasoning.effort, auch low, wird abgebildet und aktiviert Reasoning.
Tool Calls und Reasoning
Im Thinking-Modus verlangt DeepSeekreasoning_content bei jedem früheren Assistant-Turn, sobald
der Request tools enthält – auch bei Turns ohne Tool Calls. GoModel behält den Wert bei, den ein
Client sendet, und setzt ein einzelnes Leerzeichen ein, wenn er fehlt. So funktionieren auch
Clients weiter, die nicht wissen, dass DeepSeek den Request bedient (zum Beispiel über ein
virtuelles Modell).
Structured Outputs
DeepSeek akzeptiertresponse_format: {"type": "json_object"}, aber nicht json_schema. Bei
json_schema-Requests (einschließlich text.format auf /v1/responses) richtet sich GoModel nach
DEEPSEEK_JSON_SCHEMA_MODE:
Herabgestufte Ausgaben sind gültiges JSON, das sich am Schema orientiert, aber DeepSeek erzwingt
das Schema nicht. Validieren Sie das Ergebnis, wenn Sie auf die exakte Struktur angewiesen sind,
oder setzen Sie
error, wenn Clients niemals nicht erzwungene Ausgaben erhalten dürfen.Von DeepSeek nicht unterstützt
- Embeddings (gibt
invalid_request_errorzurück).