From 11b5fce3ae50032a28968d5cd35f3bc8a5b4eeb1 Mon Sep 17 00:00:00 2001 From: Bruno Perez Date: Thu, 30 Jul 2026 09:48:45 +0200 Subject: [PATCH 1/2] fix: correct Kimi reasoning params to match Moonshot's API The Kimi entries disagreed with Moonshot's chat API reference. - kimi-k3: replace thinking.type with reasoning_effort (low/high/max, default max). K3 always thinks and rejects the thinking object. - kimi-k2.7-code and -highspeed: add thinking.type. Only "enabled" is accepted; "disabled" returns an error. - kimi-k2.6: add thinking.keep (all/null, default null). - kimi-k2.5: add the documented "enabled" default on thinking.type. Ref: https://platform.kimi.ai/docs/api/chat --- models/moonshot/kimi-k2.5.yaml | 5 +- models/moonshot/kimi-k2.6-subscription.yaml | 11 +++ models/moonshot/kimi-k2.6.yaml | 11 +++ ...kimi-k2.7-code-highspeed-subscription.yaml | 10 +++ models/moonshot/kimi-k2.7-code-highspeed.yaml | 10 +++ .../moonshot/kimi-k2.7-code-subscription.yaml | 10 +++ models/moonshot/kimi-k2.7-code.yaml | 10 +++ models/moonshot/kimi-k3.yaml | 14 ++-- packages/modelparams/src/generated/data.ts | 83 +++++++++++++++++-- .../modelparams/src/generated/defaults.ts | 8 ++ .../modelparams/src/generated/params-by-id.ts | 8 +- 11 files changed, 165 insertions(+), 15 deletions(-) diff --git a/models/moonshot/kimi-k2.5.yaml b/models/moonshot/kimi-k2.5.yaml index 9bb3ada..611831e 100644 --- a/models/moonshot/kimi-k2.5.yaml +++ b/models/moonshot/kimi-k2.5.yaml @@ -14,8 +14,9 @@ params: type: enum label: Thinking mode description: >- - Controls whether Kimi reasons step by step before answering, or responds directly when set to - disabled. + Controls whether Kimi reasons step by step before answering. Thinking is enabled by default; + set disabled to respond directly. + default: enabled values: - enabled - disabled diff --git a/models/moonshot/kimi-k2.6-subscription.yaml b/models/moonshot/kimi-k2.6-subscription.yaml index 0a407fe..028d3e4 100644 --- a/models/moonshot/kimi-k2.6-subscription.yaml +++ b/models/moonshot/kimi-k2.6-subscription.yaml @@ -21,6 +21,17 @@ params: - enabled - disabled group: reasoning + - path: thinking.keep + type: enum + label: Keep prior reasoning + description: >- + Set to all to carry reasoning content from earlier assistant turns into the request; leave + null to send only the final answers. + default: null + values: + - all + - null + group: reasoning - path: response_format.type type: enum label: Response format diff --git a/models/moonshot/kimi-k2.6.yaml b/models/moonshot/kimi-k2.6.yaml index 9bb30a1..9291e79 100644 --- a/models/moonshot/kimi-k2.6.yaml +++ b/models/moonshot/kimi-k2.6.yaml @@ -21,6 +21,17 @@ params: - enabled - disabled group: reasoning + - path: thinking.keep + type: enum + label: Keep prior reasoning + description: >- + Set to all to carry reasoning content from earlier assistant turns into the request; leave + null to send only the final answers. + default: null + values: + - all + - null + group: reasoning - path: response_format.type type: enum label: Response format diff --git a/models/moonshot/kimi-k2.7-code-highspeed-subscription.yaml b/models/moonshot/kimi-k2.7-code-highspeed-subscription.yaml index 4e0ea36..a111865 100644 --- a/models/moonshot/kimi-k2.7-code-highspeed-subscription.yaml +++ b/models/moonshot/kimi-k2.7-code-highspeed-subscription.yaml @@ -10,6 +10,16 @@ params: range: min: 1 group: generation_length + - path: thinking.type + type: enum + label: Thinking mode + description: >- + Thinking is always on for this model. Enabled is the only accepted value; disabled returns an + error. + default: enabled + values: + - enabled + group: reasoning - path: response_format.type type: enum label: Response format diff --git a/models/moonshot/kimi-k2.7-code-highspeed.yaml b/models/moonshot/kimi-k2.7-code-highspeed.yaml index accdd06..ace2e34 100644 --- a/models/moonshot/kimi-k2.7-code-highspeed.yaml +++ b/models/moonshot/kimi-k2.7-code-highspeed.yaml @@ -11,6 +11,16 @@ params: range: min: 1 group: generation_length + - path: thinking.type + type: enum + label: Thinking mode + description: >- + Thinking is always on for this model. Enabled is the only accepted value; disabled returns an + error. + default: enabled + values: + - enabled + group: reasoning - path: response_format.type type: enum label: Response format diff --git a/models/moonshot/kimi-k2.7-code-subscription.yaml b/models/moonshot/kimi-k2.7-code-subscription.yaml index 8cb377e..a8aff28 100644 --- a/models/moonshot/kimi-k2.7-code-subscription.yaml +++ b/models/moonshot/kimi-k2.7-code-subscription.yaml @@ -10,6 +10,16 @@ params: range: min: 1 group: generation_length + - path: thinking.type + type: enum + label: Thinking mode + description: >- + Thinking is always on for this model. Enabled is the only accepted value; disabled returns an + error. + default: enabled + values: + - enabled + group: reasoning - path: response_format.type type: enum label: Response format diff --git a/models/moonshot/kimi-k2.7-code.yaml b/models/moonshot/kimi-k2.7-code.yaml index 9966876..009f77d 100644 --- a/models/moonshot/kimi-k2.7-code.yaml +++ b/models/moonshot/kimi-k2.7-code.yaml @@ -11,6 +11,16 @@ params: range: min: 1 group: generation_length + - path: thinking.type + type: enum + label: Thinking mode + description: >- + Thinking is always on for this model. Enabled is the only accepted value; disabled returns an + error. + default: enabled + values: + - enabled + group: reasoning - path: response_format.type type: enum label: Response format diff --git a/models/moonshot/kimi-k3.yaml b/models/moonshot/kimi-k3.yaml index b8a0f68..15d7a40 100644 --- a/models/moonshot/kimi-k3.yaml +++ b/models/moonshot/kimi-k3.yaml @@ -10,15 +10,17 @@ params: range: min: 1 group: generation_length - - path: thinking.type + - path: reasoning_effort type: enum - label: Thinking mode + label: Reasoning effort description: >- - Controls whether Kimi reasons step by step before answering, or responds directly when set to - disabled. + Controls how much reasoning Kimi performs before answering. Thinking is always on for this + model, so it cannot be turned off. + default: max values: - - enabled - - disabled + - low + - high + - max group: reasoning - path: response_format.type type: enum diff --git a/packages/modelparams/src/generated/data.ts b/packages/modelparams/src/generated/data.ts index 110106d..aaf1e8a 100644 --- a/packages/modelparams/src/generated/data.ts +++ b/packages/modelparams/src/generated/data.ts @@ -10905,9 +10905,10 @@ export const CATALOG = [ { "path": "thinking.type", "label": "Thinking mode", - "description": "Controls whether Kimi reasons step by step before answering, or responds directly when set to disabled.", + "description": "Controls whether Kimi reasons step by step before answering. Thinking is enabled by default; set disabled to respond directly.", "group": "reasoning", "type": "enum", + "default": "enabled", "values": [ "enabled", "disabled" @@ -10954,6 +10955,18 @@ export const CATALOG = [ "disabled" ] }, + { + "path": "thinking.keep", + "label": "Keep prior reasoning", + "description": "Set to all to carry reasoning content from earlier assistant turns into the request; leave null to send only the final answers.", + "group": "reasoning", + "type": "enum", + "default": null, + "values": [ + "all", + null + ] + }, { "path": "response_format.type", "label": "Response format", @@ -10995,6 +11008,18 @@ export const CATALOG = [ "disabled" ] }, + { + "path": "thinking.keep", + "label": "Keep prior reasoning", + "description": "Set to all to carry reasoning content from earlier assistant turns into the request; leave null to send only the final answers.", + "group": "reasoning", + "type": "enum", + "default": null, + "values": [ + "all", + null + ] + }, { "path": "response_format.type", "label": "Response format", @@ -11025,6 +11050,17 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "thinking.type", + "label": "Thinking mode", + "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.", + "group": "reasoning", + "type": "enum", + "default": "enabled", + "values": [ + "enabled" + ] + }, { "path": "response_format.type", "label": "Response format", @@ -11056,6 +11092,17 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "thinking.type", + "label": "Thinking mode", + "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.", + "group": "reasoning", + "type": "enum", + "default": "enabled", + "values": [ + "enabled" + ] + }, { "path": "response_format.type", "label": "Response format", @@ -11086,6 +11133,17 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "thinking.type", + "label": "Thinking mode", + "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.", + "group": "reasoning", + "type": "enum", + "default": "enabled", + "values": [ + "enabled" + ] + }, { "path": "response_format.type", "label": "Response format", @@ -11115,6 +11173,17 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "thinking.type", + "label": "Thinking mode", + "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.", + "group": "reasoning", + "type": "enum", + "default": "enabled", + "values": [ + "enabled" + ] + }, { "path": "response_format.type", "label": "Response format", @@ -11145,14 +11214,16 @@ export const CATALOG = [ } }, { - "path": "thinking.type", - "label": "Thinking mode", - "description": "Controls whether Kimi reasons step by step before answering, or responds directly when set to disabled.", + "path": "reasoning_effort", + "label": "Reasoning effort", + "description": "Controls how much reasoning Kimi performs before answering. Thinking is always on for this model, so it cannot be turned off.", "group": "reasoning", "type": "enum", + "default": "max", "values": [ - "enabled", - "disabled" + "low", + "high", + "max" ] }, { diff --git a/packages/modelparams/src/generated/defaults.ts b/packages/modelparams/src/generated/defaults.ts index ed0b08d..93f638a 100644 --- a/packages/modelparams/src/generated/defaults.ts +++ b/packages/modelparams/src/generated/defaults.ts @@ -810,31 +810,39 @@ export const DEFAULTS = { safe_prompt: false, }, "moonshot/kimi-k2.5": { + "thinking.type": "enabled", "response_format.type": "text", }, "moonshot/kimi-k2.6": { "thinking.type": "enabled", + "thinking.keep": null, "response_format.type": "text", }, "moonshot/kimi-k2.6-subscription": { "thinking.type": "enabled", + "thinking.keep": null, "response_format.type": "text", }, "moonshot/kimi-k2.7-code": { max_completion_tokens: 32768, + "thinking.type": "enabled", "response_format.type": "text", }, "moonshot/kimi-k2.7-code-highspeed": { max_completion_tokens: 32768, + "thinking.type": "enabled", "response_format.type": "text", }, "moonshot/kimi-k2.7-code-highspeed-subscription": { + "thinking.type": "enabled", "response_format.type": "text", }, "moonshot/kimi-k2.7-code-subscription": { + "thinking.type": "enabled", "response_format.type": "text", }, "moonshot/kimi-k3": { + reasoning_effort: "max", "response_format.type": "text", }, "moonshot/moonshot-v1-128k": { diff --git a/packages/modelparams/src/generated/params-by-id.ts b/packages/modelparams/src/generated/params-by-id.ts index 0f63d4b..ed2bb54 100644 --- a/packages/modelparams/src/generated/params-by-id.ts +++ b/packages/modelparams/src/generated/params-by-id.ts @@ -1025,32 +1025,38 @@ export type ParamsById = { "moonshot/kimi-k2.6": { max_completion_tokens: number; "thinking.type": "enabled" | "disabled"; + "thinking.keep": "all" | null; "response_format.type": "text" | "json_object"; }; "moonshot/kimi-k2.6-subscription": { max_completion_tokens: number; "thinking.type": "enabled" | "disabled"; + "thinking.keep": "all" | null; "response_format.type": "text" | "json_object"; }; "moonshot/kimi-k2.7-code": { max_completion_tokens: number; + "thinking.type": "enabled"; "response_format.type": "text" | "json_object" | "json_schema"; }; "moonshot/kimi-k2.7-code-highspeed": { max_completion_tokens: number; + "thinking.type": "enabled"; "response_format.type": "text" | "json_object" | "json_schema"; }; "moonshot/kimi-k2.7-code-highspeed-subscription": { max_completion_tokens: number; + "thinking.type": "enabled"; "response_format.type": "text" | "json_object"; }; "moonshot/kimi-k2.7-code-subscription": { max_completion_tokens: number; + "thinking.type": "enabled"; "response_format.type": "text" | "json_object"; }; "moonshot/kimi-k3": { max_completion_tokens: number; - "thinking.type": "enabled" | "disabled"; + reasoning_effort: "low" | "high" | "max"; "response_format.type": "text" | "json_object" | "json_schema"; }; "moonshot/moonshot-v1-128k": { From d25ff38879f3364743efff39f2cad89a59b6d2dd Mon Sep 17 00:00:00 2001 From: Bruno Perez Date: Thu, 30 Jul 2026 10:15:00 +0200 Subject: [PATCH 2/2] feat: add the chat params Moonshot accepts on every model Moonshot documents stop, tool_choice, logprobs and top_logprobs in ChatRequestCommon, meaning every model takes them. The catalog listed none of the four. Added to the eight api_key entries. The three subscription entries are left alone: the reference covers the REST API, and there is no evidence the Kimi subscription surface exposes these knobs. top_logprobs carries an applicability rule because Moonshot requires logprobs to be true when it is used. Ref: https://platform.kimi.ai/docs/api/chat --- models/moonshot/kimi-k2.5.yaml | 36 ++ models/moonshot/kimi-k2.6.yaml | 36 ++ models/moonshot/kimi-k2.7-code-highspeed.yaml | 36 ++ models/moonshot/kimi-k2.7-code.yaml | 36 ++ models/moonshot/kimi-k3.yaml | 36 ++ models/moonshot/moonshot-v1-128k.yaml | 36 ++ models/moonshot/moonshot-v1-32k.yaml | 36 ++ models/moonshot/moonshot-v1-8k.yaml | 36 ++ packages/modelparams/src/generated/data.ts | 352 ++++++++++++++++++ .../modelparams/src/generated/defaults.ts | 16 + .../modelparams/src/generated/params-by-id.ts | 32 ++ 11 files changed, 688 insertions(+) diff --git a/models/moonshot/kimi-k2.5.yaml b/models/moonshot/kimi-k2.5.yaml index 611831e..b9a9fee 100644 --- a/models/moonshot/kimi-k2.5.yaml +++ b/models/moonshot/kimi-k2.5.yaml @@ -10,6 +10,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: thinking.type type: enum label: Thinking mode @@ -30,3 +37,32 @@ params: - text - json_object group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/models/moonshot/kimi-k2.6.yaml b/models/moonshot/kimi-k2.6.yaml index 9291e79..6610174 100644 --- a/models/moonshot/kimi-k2.6.yaml +++ b/models/moonshot/kimi-k2.6.yaml @@ -10,6 +10,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: thinking.type type: enum label: Thinking mode @@ -41,3 +48,32 @@ params: - text - json_object group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/models/moonshot/kimi-k2.7-code-highspeed.yaml b/models/moonshot/kimi-k2.7-code-highspeed.yaml index ace2e34..dfe229b 100644 --- a/models/moonshot/kimi-k2.7-code-highspeed.yaml +++ b/models/moonshot/kimi-k2.7-code-highspeed.yaml @@ -11,6 +11,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: thinking.type type: enum label: Thinking mode @@ -31,3 +38,32 @@ params: - json_object - json_schema group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/models/moonshot/kimi-k2.7-code.yaml b/models/moonshot/kimi-k2.7-code.yaml index 009f77d..e54017b 100644 --- a/models/moonshot/kimi-k2.7-code.yaml +++ b/models/moonshot/kimi-k2.7-code.yaml @@ -11,6 +11,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: thinking.type type: enum label: Thinking mode @@ -31,3 +38,32 @@ params: - json_object - json_schema group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/models/moonshot/kimi-k3.yaml b/models/moonshot/kimi-k3.yaml index 15d7a40..45abec4 100644 --- a/models/moonshot/kimi-k3.yaml +++ b/models/moonshot/kimi-k3.yaml @@ -10,6 +10,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: reasoning_effort type: enum label: Reasoning effort @@ -32,3 +39,32 @@ params: - json_object - json_schema group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/models/moonshot/moonshot-v1-128k.yaml b/models/moonshot/moonshot-v1-128k.yaml index f9290cf..3678061 100644 --- a/models/moonshot/moonshot-v1-128k.yaml +++ b/models/moonshot/moonshot-v1-128k.yaml @@ -10,6 +10,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: temperature type: number label: Temperature @@ -73,3 +80,32 @@ params: - text - json_object group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/models/moonshot/moonshot-v1-32k.yaml b/models/moonshot/moonshot-v1-32k.yaml index a0c3df4..2308f18 100644 --- a/models/moonshot/moonshot-v1-32k.yaml +++ b/models/moonshot/moonshot-v1-32k.yaml @@ -10,6 +10,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: temperature type: number label: Temperature @@ -73,3 +80,32 @@ params: - text - json_object group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/models/moonshot/moonshot-v1-8k.yaml b/models/moonshot/moonshot-v1-8k.yaml index 3d09595..078600b 100644 --- a/models/moonshot/moonshot-v1-8k.yaml +++ b/models/moonshot/moonshot-v1-8k.yaml @@ -10,6 +10,13 @@ params: range: min: 1 group: generation_length + - path: stop + type: string + label: Stop sequence + description: >- + Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most + 32 bytes each. + group: generation_length - path: temperature type: number label: Temperature @@ -73,3 +80,32 @@ params: - text - json_object group: output_format + - path: tool_choice + type: enum + label: Tool choice + description: >- + Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces + one. + default: auto + values: + - auto + - none + - required + group: tooling + - path: logprobs + type: boolean + label: Log probabilities + description: Controls whether the response includes log probabilities for the generated tokens. + default: false + group: observability + - path: top_logprobs + type: integer + label: Top log probabilities + description: Number of most likely tokens to return a log probability for at each position. + range: + min: 0 + max: 20 + group: observability + applicability: + only: + logprobs: true diff --git a/packages/modelparams/src/generated/data.ts b/packages/modelparams/src/generated/data.ts index aaf1e8a..402b122 100644 --- a/packages/modelparams/src/generated/data.ts +++ b/packages/modelparams/src/generated/data.ts @@ -10902,6 +10902,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "thinking.type", "label": "Thinking mode", @@ -10925,6 +10932,43 @@ export const CATALOG = [ "text", "json_object" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, @@ -10943,6 +10987,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "thinking.type", "label": "Thinking mode", @@ -10978,6 +11029,43 @@ export const CATALOG = [ "text", "json_object" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, @@ -11050,6 +11138,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "thinking.type", "label": "Thinking mode", @@ -11073,6 +11168,43 @@ export const CATALOG = [ "json_object", "json_schema" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, @@ -11092,6 +11224,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "thinking.type", "label": "Thinking mode", @@ -11115,6 +11254,43 @@ export const CATALOG = [ "json_object", "json_schema" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, @@ -11213,6 +11389,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "reasoning_effort", "label": "Reasoning effort", @@ -11238,6 +11421,43 @@ export const CATALOG = [ "json_object", "json_schema" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, @@ -11256,6 +11476,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "temperature", "label": "Temperature", @@ -11331,6 +11558,43 @@ export const CATALOG = [ "text", "json_object" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, @@ -11349,6 +11613,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "temperature", "label": "Temperature", @@ -11424,6 +11695,43 @@ export const CATALOG = [ "text", "json_object" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, @@ -11442,6 +11750,13 @@ export const CATALOG = [ "min": 1 } }, + { + "path": "stop", + "label": "Stop sequence", + "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.", + "group": "generation_length", + "type": "string" + }, { "path": "temperature", "label": "Temperature", @@ -11517,6 +11832,43 @@ export const CATALOG = [ "text", "json_object" ] + }, + { + "path": "tool_choice", + "label": "Tool choice", + "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.", + "group": "tooling", + "type": "enum", + "default": "auto", + "values": [ + "auto", + "none", + "required" + ] + }, + { + "path": "logprobs", + "label": "Log probabilities", + "description": "Controls whether the response includes log probabilities for the generated tokens.", + "group": "observability", + "type": "boolean", + "default": false + }, + { + "path": "top_logprobs", + "label": "Top log probabilities", + "description": "Number of most likely tokens to return a log probability for at each position.", + "group": "observability", + "applicability": { + "only": { + "logprobs": true + } + }, + "type": "integer", + "range": { + "min": 0, + "max": 20 + } } ] }, diff --git a/packages/modelparams/src/generated/defaults.ts b/packages/modelparams/src/generated/defaults.ts index 93f638a..098befe 100644 --- a/packages/modelparams/src/generated/defaults.ts +++ b/packages/modelparams/src/generated/defaults.ts @@ -812,11 +812,15 @@ export const DEFAULTS = { "moonshot/kimi-k2.5": { "thinking.type": "enabled", "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "moonshot/kimi-k2.6": { "thinking.type": "enabled", "thinking.keep": null, "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "moonshot/kimi-k2.6-subscription": { "thinking.type": "enabled", @@ -827,11 +831,15 @@ export const DEFAULTS = { max_completion_tokens: 32768, "thinking.type": "enabled", "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "moonshot/kimi-k2.7-code-highspeed": { max_completion_tokens: 32768, "thinking.type": "enabled", "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "moonshot/kimi-k2.7-code-highspeed-subscription": { "thinking.type": "enabled", @@ -844,6 +852,8 @@ export const DEFAULTS = { "moonshot/kimi-k3": { reasoning_effort: "max", "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "moonshot/moonshot-v1-128k": { temperature: 0.3, @@ -852,6 +862,8 @@ export const DEFAULTS = { presence_penalty: 0, frequency_penalty: 0, "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "moonshot/moonshot-v1-32k": { temperature: 0.3, @@ -860,6 +872,8 @@ export const DEFAULTS = { presence_penalty: 0, frequency_penalty: 0, "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "moonshot/moonshot-v1-8k": { temperature: 0.3, @@ -868,6 +882,8 @@ export const DEFAULTS = { presence_penalty: 0, frequency_penalty: 0, "response_format.type": "text", + tool_choice: "auto", + logprobs: false, }, "nvidia/gliner-pii": { threshold: 0.5, diff --git a/packages/modelparams/src/generated/params-by-id.ts b/packages/modelparams/src/generated/params-by-id.ts index ed2bb54..7d73e3a 100644 --- a/packages/modelparams/src/generated/params-by-id.ts +++ b/packages/modelparams/src/generated/params-by-id.ts @@ -1019,14 +1019,22 @@ export type ParamsById = { }; "moonshot/kimi-k2.5": { max_completion_tokens: number; + stop: string; "thinking.type": "enabled" | "disabled"; "response_format.type": "text" | "json_object"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "moonshot/kimi-k2.6": { max_completion_tokens: number; + stop: string; "thinking.type": "enabled" | "disabled"; "thinking.keep": "all" | null; "response_format.type": "text" | "json_object"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "moonshot/kimi-k2.6-subscription": { max_completion_tokens: number; @@ -1036,13 +1044,21 @@ export type ParamsById = { }; "moonshot/kimi-k2.7-code": { max_completion_tokens: number; + stop: string; "thinking.type": "enabled"; "response_format.type": "text" | "json_object" | "json_schema"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "moonshot/kimi-k2.7-code-highspeed": { max_completion_tokens: number; + stop: string; "thinking.type": "enabled"; "response_format.type": "text" | "json_object" | "json_schema"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "moonshot/kimi-k2.7-code-highspeed-subscription": { max_completion_tokens: number; @@ -1056,35 +1072,51 @@ export type ParamsById = { }; "moonshot/kimi-k3": { max_completion_tokens: number; + stop: string; reasoning_effort: "low" | "high" | "max"; "response_format.type": "text" | "json_object" | "json_schema"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "moonshot/moonshot-v1-128k": { max_completion_tokens: number; + stop: string; temperature: number; top_p: number; n: number; presence_penalty: number; frequency_penalty: number; "response_format.type": "text" | "json_object"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "moonshot/moonshot-v1-32k": { max_completion_tokens: number; + stop: string; temperature: number; top_p: number; n: number; presence_penalty: number; frequency_penalty: number; "response_format.type": "text" | "json_object"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "moonshot/moonshot-v1-8k": { max_completion_tokens: number; + stop: string; temperature: number; top_p: number; n: number; presence_penalty: number; frequency_penalty: number; "response_format.type": "text" | "json_object"; + tool_choice: "auto" | "none" | "required"; + logprobs: boolean; + top_logprobs: number; }; "nvidia/gliner-pii": { threshold: number;