diff --git a/README.md b/README.md index 4213b439e..61423209b 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,9 @@ Or fork & run on Vercel [//]: # (big-AGI is an open book; see the **[ready-to-ship and future ideas](https://github.com/users/enricoros/projects/4/views/2)** in our open roadmap) -### What's New in 1.16.1...1.16.4 · Jul 15, 2024 (patch releases) +### What's New in 1.16.1...1.16.5 · Jul 18, 2024 (patch releases) +- 1.16.5: GPT-4o Mini support - 1.16.4: 8192 tokens support for Claude 3.5 Sonnet - 1.16.3: Anthropic Claude 3.5 Sonnet model support - 1.16.2: Improve web downloads, as text, markdwon, or HTML diff --git a/docs/changelog.md b/docs/changelog.md index c74b7ebab..5d6f35db7 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -10,8 +10,9 @@ by release. - milestone: [1.17.0](https://github.com/enricoros/big-agi/milestone/17) - work in progress: [big-AGI open roadmap](https://github.com/users/enricoros/projects/4/views/2), [help here](https://github.com/users/enricoros/projects/4/views/4) -### What's New in 1.16.1...1.16.4 · Jul 15, 2024 (patch releases) +### What's New in 1.16.1...1.16.5 · Jul 18, 2024 (patch releases) +- 1.16.5: GPT-4o Mini support - 1.16.4: 8192 tokens support for Claude 3.5 Sonnet - 1.16.3: Anthropic Claude 3.5 Sonnet model support - 1.16.2: Improve web downloads, as text, markdwon, or HTML diff --git a/src/apps/chat/components/message/ChatMessage.tsx b/src/apps/chat/components/message/ChatMessage.tsx index 64045db6e..c1057d3fc 100644 --- a/src/apps/chat/components/message/ChatMessage.tsx +++ b/src/apps/chat/components/message/ChatMessage.tsx @@ -280,6 +280,7 @@ export function ChatMessage(props: { const wasEdited = !!messageUpdated; const textSel = selText ? selText : messageText; + // WARNING: if you get an issue here, you're downgrading from the new Big-AGI 2 data format to 1.x. const isSpecialT2I = textSel.startsWith('https://images.prodia.xyz/') || textSel.startsWith('/draw ') || textSel.startsWith('/imagine ') || textSel.startsWith('/img '); const couldDiagram = textSel.length >= 100 && !isSpecialT2I; const couldImagine = textSel.length >= 3 && !isSpecialT2I; diff --git a/src/apps/news/news.data.tsx b/src/apps/news/news.data.tsx index e39190fa4..f67a63f95 100644 --- a/src/apps/news/news.data.tsx +++ b/src/apps/news/news.data.tsx @@ -61,7 +61,7 @@ export const NewsItems: NewsItem[] = [ ] }*/ { - versionCode: '1.16.4', + versionCode: '1.16.5', versionName: 'Crystal Clear', versionDate: new Date('2024-06-07T05:00:00Z'), // versionDate: new Date('2024-05-13T19:00:00Z'), @@ -81,6 +81,7 @@ export const NewsItems: NewsItem[] = [ { text: <>1.16.2: Proper Gemini support, HTML/Markdown downloads, and latest Mistral }, { text: <>1.16.3: Support for Claude 3.5 Sonnet (refresh your Anthropic models) }, { text: <>1.16.4: 8192 tokens support for Claude 3.5 Sonnet }, + { text: <>1.16.5: OpenAI GPT-4o Mini support }, ], }, { diff --git a/src/apps/news/news.version.tsx b/src/apps/news/news.version.tsx index 26baa9a27..20f6e8ef6 100644 --- a/src/apps/news/news.version.tsx +++ b/src/apps/news/news.version.tsx @@ -7,7 +7,7 @@ import { useAppStateStore } from '~/common/state/store-appstate'; // update this variable every time you want to broadcast a new version to clients -export const incrementalNewsVersion: number = 16.1; // not notifying for 1.16.4 +export const incrementalNewsVersion: number = 16.1; // not notifying for 1.16.5 interface NewsState { diff --git a/src/common/util/modelUtils.ts b/src/common/util/modelUtils.ts index bad6d3025..2958243b2 100644 --- a/src/common/util/modelUtils.ts +++ b/src/common/util/modelUtils.ts @@ -8,8 +8,11 @@ export function prettyBaseModel(model: string | undefined): string { if (!model) return ''; if (model.includes('gpt-4-vision-preview')) return 'GPT-4 Vision'; if (model.includes('gpt-4-1106-preview')) return 'GPT-4 Turbo'; - if (model.includes('gpt-4-32k')) return 'gpt-4-32k'; - if (model.includes('gpt-4')) return 'gpt-4'; + if (model.includes('gpt-4-32k')) return 'GPT-4-32k'; + if (model.includes('gpt-4o-mini')) return 'GPT-4o Mini'; + if (model.includes('gpt-4o')) return 'GPT-4o'; + if (model.includes('gpt-4-turbo')) return 'GPT-4 Turbo'; + if (model.includes('gpt-4')) return 'GPT-4'; if (model.includes('gpt-3.5-turbo-instruct')) return '3.5 Turbo Instruct'; if (model.includes('gpt-3.5-turbo-1106')) return '3.5 Turbo 16k'; if (model.includes('gpt-3.5-turbo-16k')) return '3.5 Turbo 16k'; diff --git a/src/modules/llms/server/openai/models.data.ts b/src/modules/llms/server/openai/models.data.ts index a8a5d57ee..94f4da839 100644 --- a/src/modules/llms/server/openai/models.data.ts +++ b/src/modules/llms/server/openai/models.data.ts @@ -9,8 +9,36 @@ import { wireTogetherAIListOutputSchema } from './togetherai.wiretypes'; // [Azure] / [OpenAI] +// https://platform.openai.com/docs/models const _knownOpenAIChatModels: ManualMappings = [ + // GPT-4o mini + { + idPrefix: 'gpt-4o-mini-2024-07-18', + label: 'GPT-4o Mini (2024-07-18)', + description: 'Affordable model for fast, lightweight tasks. GPT-4o mini is cheaper and more capable than GPT-3.5 Turbo.', + contextWindow: 128000, + maxCompletionTokens: 16384, + trainingDataCutoff: 'Oct 2023', + interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Vision, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], + pricing: { chatIn: 0.15, chatOut: 0.60 }, + benchmark: { cbaMmlu: 82.0 }, + }, + { + idPrefix: 'gpt-4o-mini', + label: 'GPT-4o mini', + description: 'Currently points to gpt-4o-mini-2024-07-18.', + symLink: 'gpt-4o-mini-2024-07-18', + hidden: true, + // copied from symlinked + contextWindow: 128000, + maxCompletionTokens: 16384, + trainingDataCutoff: 'Oct 2023', + interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Vision, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], + pricing: { chatIn: 0.15, chatOut: 0.60 }, + benchmark: { cbaMmlu: 82.0 }, + }, + // GPT-4o -> 2024-05-13 { idPrefix: 'gpt-4o', @@ -24,10 +52,9 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Oct 2023', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Vision, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], pricing: { chatIn: 5, chatOut: 15 }, - benchmark: { cbaElo: 1310 }, + benchmark: { cbaElo: 1287 }, }, { - isLatest: true, idPrefix: 'gpt-4o-2024-05-13', label: 'GPT-4o (2024-05-13)', description: 'Advanced, multimodal flagship model that’s cheaper and faster than GPT-4 Turbo.', @@ -36,7 +63,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Oct 2023', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Vision, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], pricing: { chatIn: 5, chatOut: 15 }, - benchmark: { cbaElo: 1310 }, + benchmark: { cbaElo: 1287 }, }, // GPT4 Turbo with Vision -> 2024-04-09 @@ -52,7 +79,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Dec 2023', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Vision, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], pricing: { chatIn: 10, chatOut: 30 }, - benchmark: { cbaElo: 1261 }, + benchmark: { cbaElo: 1257 }, }, { idPrefix: 'gpt-4-turbo-2024-04-09', @@ -63,7 +90,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Dec 2023', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Vision, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], pricing: { chatIn: 10, chatOut: 30 }, - benchmark: { cbaElo: 1261 }, + benchmark: { cbaElo: 1257 }, }, // GPT4 Turbo Previews @@ -80,7 +107,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Dec 2023', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], pricing: { chatIn: 10, chatOut: 30 }, - benchmark: { cbaElo: 1251 }, + benchmark: { cbaElo: 1245 }, }, { idPrefix: 'gpt-4-0125-preview', // GPT-4 Turbo preview model @@ -92,7 +119,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Dec 2023', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn, LLM_IF_OAI_Json], pricing: { chatIn: 10, chatOut: 30 }, - benchmark: { cbaElo: 1251 }, + benchmark: { cbaElo: 1245 }, hidden: true, }, { @@ -105,7 +132,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Apr 2023', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn], pricing: { chatIn: 10, chatOut: 30 }, - benchmark: { cbaElo: 1255 }, + benchmark: { cbaElo: 1251 }, hidden: true, }, @@ -182,7 +209,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Sep 2021', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn], pricing: { chatIn: 30, chatOut: 60 }, - benchmark: { cbaElo: 1164 }, + benchmark: { cbaElo: 1161 }, }, { idPrefix: 'gpt-4-0314', @@ -192,7 +219,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Sep 2021', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn], pricing: { chatIn: 30, chatOut: 60 }, - benchmark: { cbaElo: 1189 }, + benchmark: { cbaElo: 1186 }, hidden: true, }, { @@ -206,7 +233,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Sep 2021', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn], pricing: { chatIn: 30, chatOut: 60 }, - benchmark: { cbaElo: 1164 }, + benchmark: { cbaElo: 1161 }, }, @@ -233,7 +260,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Sep 2021', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn], pricing: { chatIn: 0.5, chatOut: 1.5 }, - benchmark: { cbaElo: 1104 }, + benchmark: { cbaElo: 1105 }, }, { idPrefix: 'gpt-3.5-turbo-1106', @@ -250,7 +277,7 @@ const _knownOpenAIChatModels: ManualMappings = [ { idPrefix: 'gpt-3.5-turbo', label: '3.5-Turbo', - description: 'Currently points to gpt-3.5-turbo-0125.', + description: 'Currently points to gpt-3.5-turbo-0125. As of July 2024, gpt-4o-mini should be used in place of gpt-3.5-turbo, as it is cheaper, more capable, multimodal, and just as fast.', symLink: 'gpt-3.5-turbo-0125', hidden: true, // copied @@ -259,7 +286,7 @@ const _knownOpenAIChatModels: ManualMappings = [ trainingDataCutoff: 'Sep 2021', interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn], pricing: { chatIn: 0.5, chatOut: 1.5 }, - benchmark: { cbaElo: 1104 }, + benchmark: { cbaElo: 1105 }, },