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 },
},