From 555229e3e6f6b105e11fbe345fe798e52857fce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=AF=E7=A7=80=E5=87=AF?= Date: Mon, 3 Aug 2026 16:37:51 +0800 Subject: [PATCH] fix(provider): default top_p to 0.95 for deepseek-v4-flash --- packages/opencode/src/provider/transform.ts | 2 ++ packages/opencode/test/provider/transform.test.ts | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 303ff11fdfd8..5aa85952e6d5 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -551,6 +551,8 @@ export function topP(model: Provider.Model) { if (["minimax-m2", "kimi-k2.5", "kimi-k2p5", "kimi-k2-5"].some((s) => id.includes(s))) { return 0.95 } + // https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-0731 + if (id.includes("deepseek-v4-flash")) return 0.95 return undefined } diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index 0b88fa59dff8..c206b8075731 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -3252,6 +3252,18 @@ describe("ProviderTransform sampling defaults - Gemini", () => { }) }) +describe("ProviderTransform sampling defaults - DeepSeek", () => { + test("defaults deepseek-v4-flash top_p to 0.95", () => { + const model = { + id: "deepseek/deepseek-v4-flash", + api: { id: "deepseek-v4-flash" }, + } as any + expect(ProviderTransform.temperature(model)).toBeUndefined() + expect(ProviderTransform.topP(model)).toBe(0.95) + expect(ProviderTransform.topK(model)).toBeUndefined() + }) +}) + describe("ProviderTransform.reasoningVariants", () => { const model = (reasoning_options: ModelsDev.Model["reasoning_options"]) => ({ reasoning_options }) as ModelsDev.Model const target = (npm: string, id = "test-model") =>