const SUPPORTED_MODELS_GROUPS = { openai: [ // "o1-preview", // "o1-mini", // "gpt-4o", // "gpt-3.5-turbo" ], groq: [ // "mixtral-8x7b-32768", // "deepseek-r1-distill-llama-70b", 'meta-llama/llama-4-scout-17b-16e-instruct', 'gemma2-9b-it', 'mistral-saba-24b', // "qwen-2.5-32b", 'llama-3.3-70b-versatile', // "llama-3.3-70b-versatile" // "llama-3.1-70b-versatile", // "llama-3.3-70b-versatile" ], cerebras: ['llama-3.3-70b'], claude: [ // "claude-3-5-sonnet-20241022", // "claude-3-opus-20240229" ], fireworks: [ // "llama-v3p1-405b-instruct", // "llama-v3p1-70b-instruct", // "llama-v3p2-90b-vision-instruct", // "mixtral-8x22b-instruct", // "mythomax-l2-13b", // "yi-large" ], google: [ // "gemini-2.0-flash-exp", // "gemini-1.5-flash", // "gemini-exp-1206", // "gemini-1.5-pro" ], xai: [ // "grok-beta", // "grok-2", // "grok-2-1212", // "grok-2-latest", // "grok-beta" ], cloudflareAI: [ 'llama-3.2-3b-instruct', // max_tokens 'llama-3-8b-instruct', // max_tokens 'llama-3.1-8b-instruct-fast', // max_tokens 'deepseek-math-7b-instruct', 'deepseek-coder-6.7b-instruct-awq', 'hermes-2-pro-mistral-7b', 'openhermes-2.5-mistral-7b-awq', 'mistral-7b-instruct-v0.2', 'neural-chat-7b-v3-1-awq', 'openchat-3.5-0106', // "gemma-7b-it", ], }; export type SupportedModel = | keyof typeof SUPPORTED_MODELS_GROUPS | (typeof SUPPORTED_MODELS_GROUPS)[keyof typeof SUPPORTED_MODELS_GROUPS][number]; export type ModelFamily = keyof typeof SUPPORTED_MODELS_GROUPS; function getModelFamily(model: string): ModelFamily | undefined { return Object.keys(SUPPORTED_MODELS_GROUPS) .filter(family => { return SUPPORTED_MODELS_GROUPS[family as keyof typeof SUPPORTED_MODELS_GROUPS].includes( model.trim(), ); }) .at(0) as ModelFamily | undefined; } const SUPPORTED_MODELS = [ // ...SUPPORTED_MODELS_GROUPS.xai, // ...SUPPORTED_MODELS_GROUPS.claude, // ...SUPPORTED_MODELS_GROUPS.google, ...SUPPORTED_MODELS_GROUPS.groq, // ...SUPPORTED_MODELS_GROUPS.fireworks, // ...SUPPORTED_MODELS_GROUPS.openai, // ...SUPPORTED_MODELS_GROUPS.cerebras, // ...SUPPORTED_MODELS_GROUPS.cloudflareAI, ]; export { SUPPORTED_MODELS, SUPPORTED_MODELS_GROUPS, getModelFamily };