From cfc819f144b8e0737c72fac781a8cc73907760f6 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sun, 24 Nov 2024 22:13:44 +0900 Subject: [PATCH] Add modellist (incomplete) --- src/ts/model/modellist.ts | 386 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 386 insertions(+) create mode 100644 src/ts/model/modellist.ts diff --git a/src/ts/model/modellist.ts b/src/ts/model/modellist.ts new file mode 100644 index 00000000..e70ecef5 --- /dev/null +++ b/src/ts/model/modellist.ts @@ -0,0 +1,386 @@ +export enum LLMFlags{ + hasImageInput, + hasImageOutput, + hasAudioInput, + hasAudioOutput, + hasPrefill, + hasCache +} + +export enum LLMProvider{ + OpenAI, + Antropic, + GoogleCloud, + VertexAI, + AsIs, + Mistral +} + +export enum LLMFormat{ + OpenAICompatible, + OpenAILegacyInstruct, + Antropic, + AnthropicLegacy, + AsIs, + Mistral +} + +export interface LLMModel{ + id: string + name: string + shortName?: string + internalID?: string + provider: LLMProvider + flags: LLMFlags[] + format: LLMFormat + recommended?: boolean +} + +export const LLMModels: LLMModel[] = [ + { + id: 'gpt35', + internalID: 'gpt-3.5-turbo', + name: 'GPT-3.5', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'instructgpt35', + internalID: "gpt-3.5-turbo-instruct", + name: 'InstructGPT-3.5', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAILegacyInstruct, + flags: [], + }, + { + id: 'gpt4_turbo', + internalID: 'gpt-4-turbo', + name: 'GPT-4 Turbo', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4o', + internalID: 'gpt-4o', + name: 'GPT-4o', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [ + LLMFlags.hasImageInput + ] + }, + { + id: 'gpt4om', + internalID: 'gpt-4o-mini', + name: 'GPT-4o Mini', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [ + LLMFlags.hasImageInput + ] + }, + { + id: 'gpt4', + internalID: 'gpt-4', + name: 'GPT-4', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4_32k', + internalID: 'gpt-4-32k', + name: 'GPT-4 32k', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt35_16k', + internalID: 'gpt-3.5-turbo-16k', + name: 'GPT-3.5 Turbo 16k', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4_0314', + internalID: 'gpt-4-0314', + name: 'GPT-4 0314', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4_0613', + internalID: 'gpt-4-0613', + name: 'GPT-4 0613', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4_32k_0613', + internalID: 'gpt-4-32k-0613', + name: 'GPT-4 32k 0613', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4_1106', + internalID: 'gpt-4-1106-preview', + name: 'GPT-4 1106', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt35_0125', + internalID: 'gpt-3.5-turbo-0125', + name: 'GPT-3.5 Turbo 0125', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt35_1106', + internalID: 'gpt-3.5-turbo-1106', + name: 'GPT-3.5 Turbo 1106', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt35_0613', + internalID: 'gpt-3.5-turbo-0613', + name: 'GPT-3.5 Turbo 0613', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt35_16k_0613', + internalID: 'gpt-3.5-turbo-16k-0613', + name: 'GPT-3.5 Turbo 16k', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt35_0301', + internalID: 'gpt-3.5-turbo-0301', + name: 'GPT-3.5 Turbo 0301', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4_0125', + internalID: 'gpt-4-0125-preview', + name: 'GPT-4 0125', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gptvi4_1106', + internalID: 'gpt-4-vision-preview', + name: 'GPT-4 Vision 1106', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [LLMFlags.hasImageInput], + }, + { + id: 'gpt4_turbo_20240409', + internalID: 'gpt-4-turbo-2024-04-09', + name: 'GPT-4 Turbo 2024-04-09', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4o-2024-05-13', + internalID: 'gpt-4o-2024-05-13', + name: 'GPT-4o 2024-05-13', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [ + LLMFlags.hasImageInput + ], + }, + { + id: 'gpt4o-2024-08-06', + internalID: 'gpt-4o-2024-08-06', + name: 'GPT-4o 2024-08-06', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [ + LLMFlags.hasImageInput + ], + }, + { + id: 'gpt4o-2024-11-20', + internalID: 'gpt-4o-2024-11-20', + name: 'GPT-4o 2024-11-20', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [ + LLMFlags.hasImageInput + ], + }, + { + id: 'gpt4o-chatgpt', + internalID: 'chatgpt-4o-latest', + name: 'GPT-4o ChatGPT', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [ + LLMFlags.hasImageInput + ], + }, + { + id: 'gpt4o1-preview', + internalID: 'o1-preview', + name: 'o1 Preview', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + id: 'gpt4o1-mini', + internalID: 'o1-mini', + name: 'o1 Mini', + provider: LLMProvider.OpenAI, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + name: 'Claude 3.5 Sonnet (20241022)', + id: 'claude-3-5-sonnet-20241022', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill, LLMFlags.hasImageInput], + }, + { + name: 'Claude 3 Haiku (20240307)', + id: 'claude-3-haiku-20240307', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill, LLMFlags.hasImageInput], + }, + { + name: 'Claude 3.5 Sonnet (20240620)', + id: 'claude-3-5-sonnet-20240620', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill, LLMFlags.hasImageInput], + }, + { + name: 'Claude 3 Opus (20240229)', + id: 'claude-3-opus-20240229', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill, LLMFlags.hasImageInput], + }, + { + name: 'Claude 3 Sonnet (20240229)', + id: 'claude-3-sonnet-20240229', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill, LLMFlags.hasImageInput], + }, + { + name: 'Claude 2.1', + id: 'claude-2.1', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude 2', + id: 'claude-2', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude 2 100k', + id: 'claude-2-100k', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude v1', + id: 'claude-v1', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude v1 100k', + id: 'claude-v1-100k', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude Instant v1', + id: 'claude-instant-v1', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude Instant v1 100k', + id: 'claude-instant-v1-100k', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude v1.2', + id: 'claude-1.2', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Claude v1.0', + id: 'claude-1.0', + provider: LLMProvider.Antropic, + format: LLMFormat.Antropic, + flags: [LLMFlags.hasPrefill], + }, + { + name: 'Ooba', + id: 'ooba', + provider: LLMProvider.AsIs, + format: LLMFormat.AsIs, + flags: [], + }, + { + name: 'Mancer', + id: 'mancer', + provider: LLMProvider.AsIs, + format: LLMFormat.AsIs, + flags: [], + }, + { + name: 'OpenRouter', + id: 'openrouter', + provider: LLMProvider.AsIs, + format: LLMFormat.OpenAICompatible, + flags: [], + }, + { + name: 'mistral-small-latest', + id: 'mistral-small-latest', + provider: LLMProvider.Mistral, + format: LLMFormat.Mistral, + flags: [], + } +] \ No newline at end of file