diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index fdd03d5205..b388297aee 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -528,7 +528,6 @@ const GEMINI_MODELS_WITH_SAMPLING_DEFAULTS = [ export function temperature(model: Provider.Model) { const id = model.api.id.toLowerCase() if (id.includes("north-mini-code")) return 1.0 - if (id.includes("qwen")) return 0.55 if (id.includes("claude")) return undefined if (id.includes("gemini")) return GEMINI_MODELS_WITH_SAMPLING_DEFAULTS.some((model) => model.test(id)) ? 1.0 : undefined @@ -547,7 +546,6 @@ export function temperature(model: Provider.Model) { export function topP(model: Provider.Model) { const id = model.api.id.toLowerCase() - if (id.includes("qwen")) return 1 if (id.includes("gemini")) return GEMINI_MODELS_WITH_SAMPLING_DEFAULTS.some((model) => model.test(id)) ? 0.95 : undefined if (["minimax-m2", "kimi-k2.5", "kimi-k2p5", "kimi-k2-5"].some((s) => id.includes(s))) { diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index 7016589874..77aa38ad73 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -3215,6 +3215,19 @@ describe("ProviderTransform.temperature - Cohere North", () => { }) }) +describe("ProviderTransform sampling defaults - Qwen", () => { + test.each(["Qwen3.8-27B", "qwen3-coder-30b-a3b-instruct"])('leaves sampling unset for "%s"', (id) => { + const model = { + id: `custom/${id}`, + api: { id }, + } as any + + expect(ProviderTransform.temperature(model)).toBeUndefined() + expect(ProviderTransform.topP(model)).toBeUndefined() + expect(ProviderTransform.topK(model)).toBeUndefined() + }) +}) + describe("ProviderTransform sampling defaults - Gemini", () => { const model = (id: string) => ({