Merge PR #2231: fix(deepseek): preserve reasoning_content through full pipeline for DeepSeek V4 models (thanks @kang-heewon)

Squash merge as part of the v3.8.0 release housekeeping. Closes #2231.
This commit is contained in:
Owen
2026-05-15 03:23:24 +09:00
committed by GitHub
parent eff7de2284
commit 67f713d3a5
2 changed files with 4 additions and 2 deletions

View File

@@ -27,8 +27,10 @@ const ALLOWED_RESPONSES_USAGE_FIELDS = new Set([
type JsonRecord = Record<string, unknown>;
const DEEPSEEK_V4_SANITIZER_MODEL_PATTERN = /deepseek[-/]v4/i;
function isDeepSeekV4Model(model: unknown): boolean {
return typeof model === "string" && /deepseek[-/]v4/i.test(model);
return typeof model === "string" && DEEPSEEK_V4_SANITIZER_MODEL_PATTERN.test(model);
}
function toRecord(value: unknown): JsonRecord | null {

View File

@@ -111,7 +111,7 @@ function isDeepSeekReplayTarget(provider: unknown, model: unknown): boolean {
const normalizedModel = String(model ?? "")
.trim()
.toLowerCase();
return normalizedProvider === "deepseek" || normalizedModel.includes("deepseek");
return normalizedProvider === "deepseek" || /(^|\/)deepseek/i.test(normalizedModel);
}
/** @param options.normalizeToolCallId - When true, use 9-char tool call ids (e.g. Mistral); when false, leave ids as-is */