218 lines
5.0 KiB
TypeScript
218 lines
5.0 KiB
TypeScript
|
|
/**
|
|||
|
|
* Grok API 可用模型列表
|
|||
|
|
* 根據 x.ai 控制台整理
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
export interface GrokModel {
|
|||
|
|
name: string
|
|||
|
|
displayName: string
|
|||
|
|
description: string
|
|||
|
|
capabilities: {
|
|||
|
|
text: boolean
|
|||
|
|
vision: boolean
|
|||
|
|
audio: boolean
|
|||
|
|
video: boolean
|
|||
|
|
imageGeneration: boolean
|
|||
|
|
tts: boolean
|
|||
|
|
}
|
|||
|
|
category: 'text' | 'vision' | 'multimodal' | 'image-generation' | 'video-generation' | 'audio' | 'tts'
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Grok 可用模型列表
|
|||
|
|
* 根據 x.ai 控制台整理
|
|||
|
|
*/
|
|||
|
|
export const GROK_MODELS: GrokModel[] = [
|
|||
|
|
// Grok 4.1 系列
|
|||
|
|
{
|
|||
|
|
name: 'grok-4-1-fast-reasoning',
|
|||
|
|
displayName: 'Grok 4.1 Fast Reasoning',
|
|||
|
|
description: 'Grok 4.1 Fast Reasoning 模型,支援文字和圖像,具備推理能力,Context: 2,000,000',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: 'grok-4-1-fast-non-reasoning',
|
|||
|
|
displayName: 'Grok 4.1 Fast Non-Reasoning',
|
|||
|
|
description: 'Grok 4.1 Fast Non-Reasoning 模型,支援文字和圖像,Context: 2,000,000',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
// Grok 4 系列
|
|||
|
|
{
|
|||
|
|
name: 'grok-4-fast-reasoning',
|
|||
|
|
displayName: 'Grok 4 Fast Reasoning',
|
|||
|
|
description: 'Grok 4 Fast Reasoning 模型,支援文字和圖像,具備推理能力,Context: 2,000,000',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: 'grok-4-fast-non-reasoning',
|
|||
|
|
displayName: 'Grok 4 Fast Non-Reasoning',
|
|||
|
|
description: 'Grok 4 Fast Non-Reasoning 模型,支援文字和圖像,Context: 2,000,000',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: 'grok-4-0709',
|
|||
|
|
displayName: 'Grok 4 (0709)',
|
|||
|
|
description: 'Grok 4 模型,支援文字和圖像,Context: 256,000',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
// Grok 3 系列
|
|||
|
|
{
|
|||
|
|
name: 'grok-3',
|
|||
|
|
displayName: 'Grok 3',
|
|||
|
|
description: 'Grok 3 模型,支援文字和圖像,Context: 131,072',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: 'grok-3-mini',
|
|||
|
|
displayName: 'Grok 3 Mini',
|
|||
|
|
description: 'Grok 3 Mini 模型,支援文字和圖像,Context: 131,072',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
// Grok Code 系列
|
|||
|
|
{
|
|||
|
|
name: 'grok-code-fast-1',
|
|||
|
|
displayName: 'Grok Code Fast 1',
|
|||
|
|
description: 'Grok Code Fast 1 模型,專為程式碼優化,支援文字和圖像,Context: 256,000',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'multimodal'
|
|||
|
|
},
|
|||
|
|
// Grok 2 系列
|
|||
|
|
{
|
|||
|
|
name: 'grok-2-vision-1212',
|
|||
|
|
displayName: 'Grok 2 Vision (1212)',
|
|||
|
|
description: 'Grok 2 Vision 模型,支援文字和圖像理解,Context: 32,768',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: false,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'vision'
|
|||
|
|
},
|
|||
|
|
// 圖像生成模型
|
|||
|
|
{
|
|||
|
|
name: 'grok-2-image-1212',
|
|||
|
|
displayName: 'Grok 2 Image (1212)',
|
|||
|
|
description: 'Grok 2 Image 模型,支援圖像生成,支援文字和圖像輸入',
|
|||
|
|
capabilities: {
|
|||
|
|
text: true,
|
|||
|
|
vision: true,
|
|||
|
|
audio: false,
|
|||
|
|
video: false,
|
|||
|
|
imageGeneration: true,
|
|||
|
|
tts: false
|
|||
|
|
},
|
|||
|
|
category: 'image-generation'
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 預設文字模型
|
|||
|
|
*/
|
|||
|
|
export const DEFAULT_GROK_TEXT_MODEL = 'grok-4-1-fast-reasoning'
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 預設視覺模型
|
|||
|
|
*/
|
|||
|
|
export const DEFAULT_GROK_VISION_MODEL = 'grok-4-1-fast-reasoning'
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 預設圖像生成模型
|
|||
|
|
*/
|
|||
|
|
export const DEFAULT_GROK_IMAGE_GENERATION_MODEL = 'grok-2-image-1212'
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 取得模型資訊
|
|||
|
|
*/
|
|||
|
|
export function getGrokModelInfo(modelName: string): GrokModel | undefined {
|
|||
|
|
return GROK_MODELS.find(m => m.name === modelName)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 根據功能需求取得適合的 Grok 模型
|
|||
|
|
*/
|
|||
|
|
export function getGrokModelForTask(
|
|||
|
|
task: 'text' | 'vision' | 'audio' | 'video' | 'image-generation' | 'tts'
|
|||
|
|
): string {
|
|||
|
|
switch (task) {
|
|||
|
|
case 'text':
|
|||
|
|
return DEFAULT_GROK_TEXT_MODEL
|
|||
|
|
case 'vision':
|
|||
|
|
return DEFAULT_GROK_VISION_MODEL
|
|||
|
|
case 'image-generation':
|
|||
|
|
return DEFAULT_GROK_IMAGE_GENERATION_MODEL
|
|||
|
|
case 'audio':
|
|||
|
|
case 'video':
|
|||
|
|
case 'tts':
|
|||
|
|
default:
|
|||
|
|
return DEFAULT_GROK_TEXT_MODEL
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|