* MiniMax: add M2.7 models and update default to M2.7 - Add MiniMax-M2.7 and MiniMax-M2.7-highspeed to provider catalog and model definitions - Update default model from MiniMax-M2.5 to MiniMax-M2.7 across onboard, portal, and provider configs - Update isModernMiniMaxModel to recognize M2.7 prefix - Update all test fixtures to reflect M2.7 as default Made-with: Cursor * MiniMax: add extension test for model definitions * update 2.7 * feat: add MiniMax M2.7 models and update default (#49691) (thanks @liyuan97) --------- Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
67 lines
2.0 KiB
TypeScript
67 lines
2.0 KiB
TypeScript
import type { ModelDefinitionConfig } from "openclaw/plugin-sdk/provider-models";
|
|
|
|
export const DEFAULT_MINIMAX_BASE_URL = "https://api.minimax.io/v1";
|
|
export const MINIMAX_API_BASE_URL = "https://api.minimax.io/anthropic";
|
|
export const MINIMAX_CN_API_BASE_URL = "https://api.minimaxi.com/anthropic";
|
|
export const MINIMAX_HOSTED_MODEL_ID = "MiniMax-M2.7";
|
|
export const MINIMAX_HOSTED_MODEL_REF = `minimax/${MINIMAX_HOSTED_MODEL_ID}`;
|
|
export const DEFAULT_MINIMAX_CONTEXT_WINDOW = 200000;
|
|
export const DEFAULT_MINIMAX_MAX_TOKENS = 8192;
|
|
|
|
export const MINIMAX_API_COST = {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0.12,
|
|
};
|
|
export const MINIMAX_HOSTED_COST = {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
};
|
|
export const MINIMAX_LM_STUDIO_COST = {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
};
|
|
|
|
const MINIMAX_MODEL_CATALOG = {
|
|
"MiniMax-M2.7": { name: "MiniMax M2.7", reasoning: true },
|
|
"MiniMax-M2.7-highspeed": { name: "MiniMax M2.7 Highspeed", reasoning: true },
|
|
"MiniMax-M2.5": { name: "MiniMax M2.5", reasoning: true },
|
|
"MiniMax-M2.5-highspeed": { name: "MiniMax M2.5 Highspeed", reasoning: true },
|
|
} as const;
|
|
|
|
type MinimaxCatalogId = keyof typeof MINIMAX_MODEL_CATALOG;
|
|
|
|
export function buildMinimaxModelDefinition(params: {
|
|
id: string;
|
|
name?: string;
|
|
reasoning?: boolean;
|
|
cost: ModelDefinitionConfig["cost"];
|
|
contextWindow: number;
|
|
maxTokens: number;
|
|
}): ModelDefinitionConfig {
|
|
const catalog = MINIMAX_MODEL_CATALOG[params.id as MinimaxCatalogId];
|
|
return {
|
|
id: params.id,
|
|
name: params.name ?? catalog?.name ?? `MiniMax ${params.id}`,
|
|
reasoning: params.reasoning ?? catalog?.reasoning ?? false,
|
|
input: ["text"],
|
|
cost: params.cost,
|
|
contextWindow: params.contextWindow,
|
|
maxTokens: params.maxTokens,
|
|
};
|
|
}
|
|
|
|
export function buildMinimaxApiModelDefinition(modelId: string): ModelDefinitionConfig {
|
|
return buildMinimaxModelDefinition({
|
|
id: modelId,
|
|
cost: MINIMAX_API_COST,
|
|
contextWindow: DEFAULT_MINIMAX_CONTEXT_WINDOW,
|
|
maxTokens: DEFAULT_MINIMAX_MAX_TOKENS,
|
|
});
|
|
}
|