mirror of
https://github.com/anomalyco/opencode.git
synced 2026-08-15 17:08:21 -04:00
fix(provider): scope DeepSeek V4 Flash sampling defaults
Co-authored-by: 侯秀凯 <9627034+hoooou@users.noreply.github.com>
This commit is contained in:
committed by
OpenCode Agent
parent
3a90639cb5
commit
f277da508f
@@ -551,6 +551,12 @@ 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
|
||||
}
|
||||
if (
|
||||
["deepseek-v4-flash-0731", "deepseek-v4-flash:0731"].some((name) => id.includes(name)) ||
|
||||
(id.includes("deepseek-v4-flash") && (model.providerID === "deepseek" || model.providerID.startsWith("opencode")))
|
||||
) {
|
||||
return 0.95
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
|
||||
|
||||
@@ -3272,6 +3272,37 @@ describe("ProviderTransform sampling defaults - Gemini", () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe("ProviderTransform sampling defaults - DeepSeek", () => {
|
||||
const model = (providerID: string, id: string) =>
|
||||
({
|
||||
id: `${providerID}/${id}`,
|
||||
providerID,
|
||||
api: { id },
|
||||
}) as any
|
||||
|
||||
test.each([
|
||||
["deepseek", "deepseek-v4-flash"],
|
||||
["opencode", "deepseek-v4-flash"],
|
||||
["opencode-go", "deepseek-v4-flash"],
|
||||
["openrouter", "deepseek/deepseek-v4-flash-0731"],
|
||||
["ollama-cloud", "deepseek-v4-flash:0731"],
|
||||
])("defaults top_p for %s/%s", (providerID, id) => {
|
||||
expect(ProviderTransform.temperature(model(providerID, id))).toBeUndefined()
|
||||
expect(ProviderTransform.topP(model(providerID, id))).toBe(0.95)
|
||||
expect(ProviderTransform.topK(model(providerID, id))).toBeUndefined()
|
||||
})
|
||||
|
||||
test.each([
|
||||
["openrouter", "deepseek/deepseek-v4-flash"],
|
||||
["vercel", "deepseek/deepseek-v4-flash"],
|
||||
["custom", "deepseek-ai/DeepSeek-V4-Flash"],
|
||||
])("preserves legacy defaults for %s/%s", (providerID, id) => {
|
||||
expect(ProviderTransform.temperature(model(providerID, id))).toBeUndefined()
|
||||
expect(ProviderTransform.topP(model(providerID, id))).toBeUndefined()
|
||||
expect(ProviderTransform.topK(model(providerID, id))).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
describe("ProviderTransform.reasoningVariants", () => {
|
||||
const model = (reasoning_options: ModelsDev.Model["reasoning_options"]) => ({ reasoning_options }) as ModelsDev.Model
|
||||
const target = (npm: string, id = "test-model") =>
|
||||
|
||||
Reference in New Issue
Block a user