mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-09 22:31:08 +00:00
feat: add kimi-k2-thinking model to moonshot provider (#9079)
This commit is contained in:
parent
7320d79c08
commit
63b4a785c1
4 changed files with 20 additions and 2 deletions
|
|
@ -65,6 +65,7 @@ export const modelInfoSchema = z.object({
|
|||
supportsReasoningBinary: z.boolean().optional(),
|
||||
// Capability flag to indicate whether the model supports temperature parameter
|
||||
supportsTemperature: z.boolean().optional(),
|
||||
defaultTemperature: z.number().optional(),
|
||||
requiredReasoningBudget: z.boolean().optional(),
|
||||
supportsReasoningEffort: z.boolean().optional(),
|
||||
requiredReasoningEffort: z.boolean().optional(),
|
||||
|
|
|
|||
|
|
@ -39,6 +39,20 @@ export const moonshotModels = {
|
|||
cacheReadsPrice: 0.6, // $0.60 per million tokens (cache hit)
|
||||
description: `Kimi K2 Turbo is a high-speed version of the state-of-the-art Kimi K2 mixture-of-experts (MoE) language model, with the same 32 billion activated parameters and 1 trillion total parameters, optimized for output speeds of up to 60 tokens per second, peaking at 100 tokens per second.`,
|
||||
},
|
||||
"kimi-k2-thinking": {
|
||||
maxTokens: 16_000, // Recommended ≥ 16,000
|
||||
contextWindow: 262_144, // 262,144 tokens
|
||||
supportsImages: false, // Text-only (no image/vision support)
|
||||
supportsPromptCache: true,
|
||||
inputPrice: 0.6, // $0.60 per million tokens (cache miss)
|
||||
outputPrice: 2.5, // $2.50 per million tokens
|
||||
cacheWritesPrice: 0, // $0 per million tokens (cache miss)
|
||||
cacheReadsPrice: 0.15, // $0.15 per million tokens (cache hit)
|
||||
supportsTemperature: true, // Default temperature: 1.0
|
||||
preserveReasoning: true,
|
||||
defaultTemperature: 1.0,
|
||||
description: `The kimi-k2-thinking model is a general-purpose agentic reasoning model developed by Moonshot AI. Thanks to its strength in deep reasoning and multi-turn tool use, it can solve even the hardest problems.`,
|
||||
},
|
||||
} as const satisfies Record<string, ModelInfo>
|
||||
|
||||
export const MOONSHOT_DEFAULT_TEMPERATURE = 0.6
|
||||
|
|
|
|||
|
|
@ -807,6 +807,7 @@ const ApiOptions = ({
|
|||
value={apiConfiguration.modelTemperature}
|
||||
onChange={handleInputChange("modelTemperature", noTransform)}
|
||||
maxValue={2}
|
||||
defaultValue={selectedModelInfo?.defaultTemperature}
|
||||
/>
|
||||
)}
|
||||
<RateLimitSecondsControl
|
||||
|
|
|
|||
|
|
@ -9,9 +9,10 @@ interface TemperatureControlProps {
|
|||
value: number | undefined | null
|
||||
onChange: (value: number | undefined | null) => void
|
||||
maxValue?: number // Some providers like OpenAI use 0-2 range.
|
||||
defaultValue?: number // Default temperature from model configuration
|
||||
}
|
||||
|
||||
export const TemperatureControl = ({ value, onChange, maxValue = 1 }: TemperatureControlProps) => {
|
||||
export const TemperatureControl = ({ value, onChange, maxValue = 1, defaultValue }: TemperatureControlProps) => {
|
||||
const { t } = useAppTranslation()
|
||||
const [isCustomTemperature, setIsCustomTemperature] = useState(value !== undefined)
|
||||
const [inputValue, setInputValue] = useState(value)
|
||||
|
|
@ -37,7 +38,8 @@ export const TemperatureControl = ({ value, onChange, maxValue = 1 }: Temperatur
|
|||
if (!isChecked) {
|
||||
setInputValue(null) // Unset the temperature, note that undefined is unserializable.
|
||||
} else {
|
||||
setInputValue(value ?? 0) // Use the value from apiConfiguration, if set.
|
||||
// Use the value from apiConfiguration, or fallback to model's defaultTemperature, or finally to 0
|
||||
setInputValue(value ?? defaultValue ?? 0)
|
||||
}
|
||||
}}>
|
||||
<label className="block font-medium mb-1">{t("settings:temperature.useCustom")}</label>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue