diff --git a/packages/langchain_openai/lib/src/chat_models/types.dart b/packages/langchain_openai/lib/src/chat_models/types.dart index 3173e293..4f20bd62 100644 --- a/packages/langchain_openai/lib/src/chat_models/types.dart +++ b/packages/langchain_openai/lib/src/chat_models/types.dart @@ -23,9 +23,13 @@ import 'package:meta/meta.dart'; /// - `gpt-4o` /// - `gpt-4o-2024-05-13` /// - `gpt-4o-2024-08-06` -/// - `gpt-4o-2024-08-06` +/// - `gpt-4o-2024-11-20` +/// - `gpt-4o-audio-preview` +/// - `gpt-4o-audio-preview-2024-10-01` /// - `gpt-4o-mini` /// - `gpt-4o-mini-2024-07-18` +/// - `gpt-4o-realtime-preview` +/// - `gpt-4o-realtime-preview-2024-10-01` /// - `gpt-3.5-turbo` /// - `gpt-3.5-turbo-16k` /// - `gpt-3.5-turbo-16k-0613` diff --git a/packages/openai_dart/README.md b/packages/openai_dart/README.md index abc02625..40a46d32 100644 --- a/packages/openai_dart/README.md +++ b/packages/openai_dart/README.md @@ -347,6 +347,59 @@ final res = await client.createChatCompletion( // {"names":["John","Mary","Peter"]} ``` +**Predicted Outputs:** ([docs](https://platform.openai.com/docs/guides/predicted-outputs)) + +> Predicted Outputs enable you to speed up API responses from Chat Completions when many of the output tokens are known ahead of time. This is most common when you are regenerating a text or code file with minor modifications. + +```dart +const codeContent = ''' +class User { + firstName: string = ""; + lastName: string = ""; + username: string = ""; +} + +export default User; +'''; + +const request = CreateChatCompletionRequest( + model: ChatCompletionModel.model( + ChatCompletionModels.gpt4o, + ), + messages: [ + ChatCompletionMessage.user( + content: ChatCompletionUserMessageContent.string( + 'Replace the username property with an email property. ' + 'Respond only with code, and with no markdown formatting.', + ), + ), + ChatCompletionMessage.user( + content: ChatCompletionUserMessageContent.string(codeContent), + ), + ], + prediction: PredictionContent( + content: PredictionContentContent.text(codeContent), + ), +); +final res1 = await client.createChatCompletion(request: request); +final choice1 = res1.choices.first; +print(choice1.message.content); +// class User { +// firstName: string = ""; +// lastName: string = ""; +// email: string = ""; +// } +// +// export default User; + +print(res1.usage?.completionTokensDetails?.acceptedPredictionTokens) +// 18 +print(res1.usage?.completionTokensDetails?.rejectedPredictionTokens) +// 10 +``` + +You can either pass a single prediction content using `PredictionContentContent.text('...')` or multiple predictions using `PredictionContentContent.textParts([...])`. + **JSON mode:** ([docs](https://platform.openai.com/docs/guides/structured-outputs/json-mode)) > JSON mode is a more basic version of the Structured Outputs feature. While JSON mode ensures that model output is valid JSON, Structured Outputs reliably matches the model's output to the schema you specify. It us recommended to use Structured Outputs if it is supported for your use case. diff --git a/packages/openai_dart/lib/src/generated/schema/create_assistant_request.dart b/packages/openai_dart/lib/src/generated/schema/create_assistant_request.dart index ff308047..ca61144e 100644 --- a/packages/openai_dart/lib/src/generated/schema/create_assistant_request.dart +++ b/packages/openai_dart/lib/src/generated/schema/create_assistant_request.dart @@ -157,8 +157,6 @@ class CreateAssistantRequest with _$CreateAssistantRequest { /// Available assistant models. Mind that the list may not be exhaustive nor up-to-date. enum AssistantModels { - @JsonValue('chatgpt-4o-latest') - chatgpt4oLatest, @JsonValue('gpt-4') gpt4, @JsonValue('gpt-4-32k') @@ -189,6 +187,8 @@ enum AssistantModels { gpt4o20240513, @JsonValue('gpt-4o-2024-08-06') gpt4o20240806, + @JsonValue('gpt-4o-2024-11-20') + gpt4o20241120, @JsonValue('gpt-4o-mini') gpt4oMini, @JsonValue('gpt-4o-mini-2024-07-18') @@ -201,20 +201,10 @@ enum AssistantModels { gpt35Turbo16k0613, @JsonValue('gpt-3.5-turbo-0125') gpt35Turbo0125, - @JsonValue('gpt-3.5-turbo-0301') - gpt35Turbo0301, @JsonValue('gpt-3.5-turbo-0613') gpt35Turbo0613, @JsonValue('gpt-3.5-turbo-1106') gpt35Turbo1106, - @JsonValue('o1-mini') - o1Mini, - @JsonValue('o1-mini-2024-09-12') - o1Mini20240912, - @JsonValue('o1-preview') - o1Preview, - @JsonValue('o1-preview-2024-09-12') - o1Preview20240912, } // ========================================== diff --git a/packages/openai_dart/lib/src/generated/schema/create_chat_completion_request.dart b/packages/openai_dart/lib/src/generated/schema/create_chat_completion_request.dart index 77616adc..f10dce9e 100644 --- a/packages/openai_dart/lib/src/generated/schema/create_chat_completion_request.dart +++ b/packages/openai_dart/lib/src/generated/schema/create_chat_completion_request.dart @@ -384,6 +384,8 @@ enum ChatCompletionModels { gpt4o20240513, @JsonValue('gpt-4o-2024-08-06') gpt4o20240806, + @JsonValue('gpt-4o-2024-11-20') + gpt4o20241120, @JsonValue('gpt-4o-audio-preview') gpt4oAudioPreview, @JsonValue('gpt-4o-audio-preview-2024-10-01') diff --git a/packages/openai_dart/lib/src/generated/schema/create_run_request.dart b/packages/openai_dart/lib/src/generated/schema/create_run_request.dart index c440f2c9..c0ffd0a4 100644 --- a/packages/openai_dart/lib/src/generated/schema/create_run_request.dart +++ b/packages/openai_dart/lib/src/generated/schema/create_run_request.dart @@ -191,8 +191,6 @@ class CreateRunRequest with _$CreateRunRequest { /// Available models. Mind that the list may not be exhaustive nor up-to-date. enum RunModels { - @JsonValue('chatgpt-4o-latest') - chatgpt4oLatest, @JsonValue('gpt-4') gpt4, @JsonValue('gpt-4-32k') @@ -223,6 +221,8 @@ enum RunModels { gpt4o20240513, @JsonValue('gpt-4o-2024-08-06') gpt4o20240806, + @JsonValue('gpt-4o-2024-11-20') + gpt4o20241120, @JsonValue('gpt-4o-mini') gpt4oMini, @JsonValue('gpt-4o-mini-2024-07-18') @@ -235,20 +235,10 @@ enum RunModels { gpt35Turbo16k0613, @JsonValue('gpt-3.5-turbo-0125') gpt35Turbo0125, - @JsonValue('gpt-3.5-turbo-0301') - gpt35Turbo0301, @JsonValue('gpt-3.5-turbo-0613') gpt35Turbo0613, @JsonValue('gpt-3.5-turbo-1106') gpt35Turbo1106, - @JsonValue('o1-mini') - o1Mini, - @JsonValue('o1-mini-2024-09-12') - o1Mini20240912, - @JsonValue('o1-preview') - o1Preview, - @JsonValue('o1-preview-2024-09-12') - o1Preview20240912, } // ========================================== diff --git a/packages/openai_dart/lib/src/generated/schema/create_thread_and_run_request.dart b/packages/openai_dart/lib/src/generated/schema/create_thread_and_run_request.dart index 84aa3dc4..f03220cf 100644 --- a/packages/openai_dart/lib/src/generated/schema/create_thread_and_run_request.dart +++ b/packages/openai_dart/lib/src/generated/schema/create_thread_and_run_request.dart @@ -206,8 +206,6 @@ class CreateThreadAndRunRequest with _$CreateThreadAndRunRequest { /// Available models. Mind that the list may not be exhaustive nor up-to-date. enum ThreadAndRunModels { - @JsonValue('chatgpt-4o-latest') - chatgpt4oLatest, @JsonValue('gpt-4') gpt4, @JsonValue('gpt-4-32k') @@ -238,6 +236,8 @@ enum ThreadAndRunModels { gpt4o20240513, @JsonValue('gpt-4o-2024-08-06') gpt4o20240806, + @JsonValue('gpt-4o-2024-11-20') + gpt4o20241120, @JsonValue('gpt-4o-mini') gpt4oMini, @JsonValue('gpt-4o-mini-2024-07-18') @@ -250,20 +250,10 @@ enum ThreadAndRunModels { gpt35Turbo16k0613, @JsonValue('gpt-3.5-turbo-0125') gpt35Turbo0125, - @JsonValue('gpt-3.5-turbo-0301') - gpt35Turbo0301, @JsonValue('gpt-3.5-turbo-0613') gpt35Turbo0613, @JsonValue('gpt-3.5-turbo-1106') gpt35Turbo1106, - @JsonValue('o1-mini') - o1Mini, - @JsonValue('o1-mini-2024-09-12') - o1Mini20240912, - @JsonValue('o1-preview') - o1Preview, - @JsonValue('o1-preview-2024-09-12') - o1Preview20240912, } // ========================================== diff --git a/packages/openai_dart/lib/src/generated/schema/schema.g.dart b/packages/openai_dart/lib/src/generated/schema/schema.g.dart index e01e4d05..843e636d 100644 --- a/packages/openai_dart/lib/src/generated/schema/schema.g.dart +++ b/packages/openai_dart/lib/src/generated/schema/schema.g.dart @@ -461,6 +461,7 @@ const _$ChatCompletionModelsEnumMap = { ChatCompletionModels.gpt4o: 'gpt-4o', ChatCompletionModels.gpt4o20240513: 'gpt-4o-2024-05-13', ChatCompletionModels.gpt4o20240806: 'gpt-4o-2024-08-06', + ChatCompletionModels.gpt4o20241120: 'gpt-4o-2024-11-20', ChatCompletionModels.gpt4oAudioPreview: 'gpt-4o-audio-preview', ChatCompletionModels.gpt4oAudioPreview20241001: 'gpt-4o-audio-preview-2024-10-01', @@ -2569,7 +2570,6 @@ Map _$$AssistantModelEnumerationImplToJson( }; const _$AssistantModelsEnumMap = { - AssistantModels.chatgpt4oLatest: 'chatgpt-4o-latest', AssistantModels.gpt4: 'gpt-4', AssistantModels.gpt432k: 'gpt-4-32k', AssistantModels.gpt432k0314: 'gpt-4-32k-0314', @@ -2585,19 +2585,15 @@ const _$AssistantModelsEnumMap = { AssistantModels.gpt4o: 'gpt-4o', AssistantModels.gpt4o20240513: 'gpt-4o-2024-05-13', AssistantModels.gpt4o20240806: 'gpt-4o-2024-08-06', + AssistantModels.gpt4o20241120: 'gpt-4o-2024-11-20', AssistantModels.gpt4oMini: 'gpt-4o-mini', AssistantModels.gpt4oMini20240718: 'gpt-4o-mini-2024-07-18', AssistantModels.gpt35Turbo: 'gpt-3.5-turbo', AssistantModels.gpt35Turbo16k: 'gpt-3.5-turbo-16k', AssistantModels.gpt35Turbo16k0613: 'gpt-3.5-turbo-16k-0613', AssistantModels.gpt35Turbo0125: 'gpt-3.5-turbo-0125', - AssistantModels.gpt35Turbo0301: 'gpt-3.5-turbo-0301', AssistantModels.gpt35Turbo0613: 'gpt-3.5-turbo-0613', AssistantModels.gpt35Turbo1106: 'gpt-3.5-turbo-1106', - AssistantModels.o1Mini: 'o1-mini', - AssistantModels.o1Mini20240912: 'o1-mini-2024-09-12', - AssistantModels.o1Preview: 'o1-preview', - AssistantModels.o1Preview20240912: 'o1-preview-2024-09-12', }; _$AssistantModelStringImpl _$$AssistantModelStringImplFromJson( @@ -3246,7 +3242,6 @@ Map _$$CreateRunRequestModelEnumerationImplToJson( }; const _$RunModelsEnumMap = { - RunModels.chatgpt4oLatest: 'chatgpt-4o-latest', RunModels.gpt4: 'gpt-4', RunModels.gpt432k: 'gpt-4-32k', RunModels.gpt432k0314: 'gpt-4-32k-0314', @@ -3262,19 +3257,15 @@ const _$RunModelsEnumMap = { RunModels.gpt4o: 'gpt-4o', RunModels.gpt4o20240513: 'gpt-4o-2024-05-13', RunModels.gpt4o20240806: 'gpt-4o-2024-08-06', + RunModels.gpt4o20241120: 'gpt-4o-2024-11-20', RunModels.gpt4oMini: 'gpt-4o-mini', RunModels.gpt4oMini20240718: 'gpt-4o-mini-2024-07-18', RunModels.gpt35Turbo: 'gpt-3.5-turbo', RunModels.gpt35Turbo16k: 'gpt-3.5-turbo-16k', RunModels.gpt35Turbo16k0613: 'gpt-3.5-turbo-16k-0613', RunModels.gpt35Turbo0125: 'gpt-3.5-turbo-0125', - RunModels.gpt35Turbo0301: 'gpt-3.5-turbo-0301', RunModels.gpt35Turbo0613: 'gpt-3.5-turbo-0613', RunModels.gpt35Turbo1106: 'gpt-3.5-turbo-1106', - RunModels.o1Mini: 'o1-mini', - RunModels.o1Mini20240912: 'o1-mini-2024-09-12', - RunModels.o1Preview: 'o1-preview', - RunModels.o1Preview20240912: 'o1-preview-2024-09-12', }; _$CreateRunRequestModelStringImpl _$$CreateRunRequestModelStringImplFromJson( @@ -3583,7 +3574,6 @@ Map _$$ThreadAndRunModelEnumerationImplToJson( }; const _$ThreadAndRunModelsEnumMap = { - ThreadAndRunModels.chatgpt4oLatest: 'chatgpt-4o-latest', ThreadAndRunModels.gpt4: 'gpt-4', ThreadAndRunModels.gpt432k: 'gpt-4-32k', ThreadAndRunModels.gpt432k0314: 'gpt-4-32k-0314', @@ -3599,19 +3589,15 @@ const _$ThreadAndRunModelsEnumMap = { ThreadAndRunModels.gpt4o: 'gpt-4o', ThreadAndRunModels.gpt4o20240513: 'gpt-4o-2024-05-13', ThreadAndRunModels.gpt4o20240806: 'gpt-4o-2024-08-06', + ThreadAndRunModels.gpt4o20241120: 'gpt-4o-2024-11-20', ThreadAndRunModels.gpt4oMini: 'gpt-4o-mini', ThreadAndRunModels.gpt4oMini20240718: 'gpt-4o-mini-2024-07-18', ThreadAndRunModels.gpt35Turbo: 'gpt-3.5-turbo', ThreadAndRunModels.gpt35Turbo16k: 'gpt-3.5-turbo-16k', ThreadAndRunModels.gpt35Turbo16k0613: 'gpt-3.5-turbo-16k-0613', ThreadAndRunModels.gpt35Turbo0125: 'gpt-3.5-turbo-0125', - ThreadAndRunModels.gpt35Turbo0301: 'gpt-3.5-turbo-0301', ThreadAndRunModels.gpt35Turbo0613: 'gpt-3.5-turbo-0613', ThreadAndRunModels.gpt35Turbo1106: 'gpt-3.5-turbo-1106', - ThreadAndRunModels.o1Mini: 'o1-mini', - ThreadAndRunModels.o1Mini20240912: 'o1-mini-2024-09-12', - ThreadAndRunModels.o1Preview: 'o1-preview', - ThreadAndRunModels.o1Preview20240912: 'o1-preview-2024-09-12', }; _$ThreadAndRunModelStringImpl _$$ThreadAndRunModelStringImplFromJson( diff --git a/packages/openai_dart/oas/openapi_curated.yaml b/packages/openai_dart/oas/openapi_curated.yaml index 400f8a5c..d084ac1e 100644 --- a/packages/openai_dart/oas/openapi_curated.yaml +++ b/packages/openai_dart/oas/openapi_curated.yaml @@ -1922,6 +1922,7 @@ components: - gpt-4o - gpt-4o-2024-05-13 - gpt-4o-2024-08-06 + - gpt-4o-2024-11-20 - gpt-4o-audio-preview - gpt-4o-audio-preview-2024-10-01 - gpt-4o-mini @@ -4155,37 +4156,30 @@ components: description: | Available assistant models. Mind that the list may not be exhaustive nor up-to-date. enum: - [ - "chatgpt-4o-latest", - "gpt-4", - "gpt-4-32k", - "gpt-4-32k-0314", - "gpt-4-32k-0613", - "gpt-4-0125-preview", - "gpt-4-0314", - "gpt-4-0613", - "gpt-4-1106-preview", - "gpt-4-turbo", - "gpt-4-turbo-2024-04-09", - "gpt-4-turbo-preview", - "gpt-4-vision-preview", - "gpt-4o", - "gpt-4o-2024-05-13", - "gpt-4o-2024-08-06", - "gpt-4o-mini", - "gpt-4o-mini-2024-07-18", - "gpt-3.5-turbo", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-16k-0613", - "gpt-3.5-turbo-0125", - "gpt-3.5-turbo-0301", - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-1106", - "o1-mini", - "o1-mini-2024-09-12", - "o1-preview", - "o1-preview-2024-09-12", - ] + - gpt-4 + - gpt-4-32k + - gpt-4-32k-0314 + - gpt-4-32k-0613 + - gpt-4-0125-preview + - gpt-4-0314 + - gpt-4-0613 + - gpt-4-1106-preview + - gpt-4-turbo + - gpt-4-turbo-2024-04-09 + - gpt-4-turbo-preview + - gpt-4-vision-preview + - gpt-4o + - gpt-4o-2024-05-13 + - gpt-4o-2024-08-06 + - gpt-4o-2024-11-20 + - gpt-4o-mini + - gpt-4o-mini-2024-07-18 + - gpt-3.5-turbo + - gpt-3.5-turbo-16k + - gpt-3.5-turbo-16k-0613 + - gpt-3.5-turbo-0125 + - gpt-3.5-turbo-0613 + - gpt-3.5-turbo-1106 name: description: *assistant_name_param_description type: string @@ -4717,37 +4711,30 @@ components: description: | Available models. Mind that the list may not be exhaustive nor up-to-date. enum: - [ - "chatgpt-4o-latest", - "gpt-4", - "gpt-4-32k", - "gpt-4-32k-0314", - "gpt-4-32k-0613", - "gpt-4-0125-preview", - "gpt-4-0314", - "gpt-4-0613", - "gpt-4-1106-preview", - "gpt-4-turbo", - "gpt-4-turbo-2024-04-09", - "gpt-4-turbo-preview", - "gpt-4-vision-preview", - "gpt-4o", - "gpt-4o-2024-05-13", - "gpt-4o-2024-08-06", - "gpt-4o-mini", - "gpt-4o-mini-2024-07-18", - "gpt-3.5-turbo", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-16k-0613", - "gpt-3.5-turbo-0125", - "gpt-3.5-turbo-0301", - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-1106", - "o1-mini", - "o1-mini-2024-09-12", - "o1-preview", - "o1-preview-2024-09-12", - ] + - gpt-4 + - gpt-4-32k + - gpt-4-32k-0314 + - gpt-4-32k-0613 + - gpt-4-0125-preview + - gpt-4-0314 + - gpt-4-0613 + - gpt-4-1106-preview + - gpt-4-turbo + - gpt-4-turbo-2024-04-09 + - gpt-4-turbo-preview + - gpt-4-vision-preview + - gpt-4o + - gpt-4o-2024-05-13 + - gpt-4o-2024-08-06 + - gpt-4o-2024-11-20 + - gpt-4o-mini + - gpt-4o-mini-2024-07-18 + - gpt-3.5-turbo + - gpt-3.5-turbo-16k + - gpt-3.5-turbo-16k-0613 + - gpt-3.5-turbo-0125 + - gpt-3.5-turbo-0613 + - gpt-3.5-turbo-1106 instructions: description: Overrides the [instructions](https://platform.openai.com/docs/api-reference/assistants/createAssistant) of the assistant. This is useful for modifying the behavior on a per-run basis. type: string @@ -4963,37 +4950,30 @@ components: description: | Available models. Mind that the list may not be exhaustive nor up-to-date. enum: - [ - "chatgpt-4o-latest", - "gpt-4", - "gpt-4-32k", - "gpt-4-32k-0314", - "gpt-4-32k-0613", - "gpt-4-0125-preview", - "gpt-4-0314", - "gpt-4-0613", - "gpt-4-1106-preview", - "gpt-4-turbo", - "gpt-4-turbo-2024-04-09", - "gpt-4-turbo-preview", - "gpt-4-vision-preview", - "gpt-4o", - "gpt-4o-2024-05-13", - "gpt-4o-2024-08-06", - "gpt-4o-mini", - "gpt-4o-mini-2024-07-18", - "gpt-3.5-turbo", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-16k-0613", - "gpt-3.5-turbo-0125", - "gpt-3.5-turbo-0301", - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-1106", - "o1-mini", - "o1-mini-2024-09-12", - "o1-preview", - "o1-preview-2024-09-12", - ] + - gpt-4 + - gpt-4-32k + - gpt-4-32k-0314 + - gpt-4-32k-0613 + - gpt-4-0125-preview + - gpt-4-0314 + - gpt-4-0613 + - gpt-4-1106-preview + - gpt-4-turbo + - gpt-4-turbo-2024-04-09 + - gpt-4-turbo-preview + - gpt-4-vision-preview + - gpt-4o + - gpt-4o-2024-05-13 + - gpt-4o-2024-08-06 + - gpt-4o-2024-11-20 + - gpt-4o-mini + - gpt-4o-mini-2024-07-18 + - gpt-3.5-turbo + - gpt-3.5-turbo-16k + - gpt-3.5-turbo-16k-0613 + - gpt-3.5-turbo-0125 + - gpt-3.5-turbo-0613 + - gpt-3.5-turbo-1106 instructions: description: | Override the default system message of the assistant. This is useful for modifying the behavior on a per-run diff --git a/packages/openai_dart/oas/openapi_official.yaml b/packages/openai_dart/oas/openapi_official.yaml index bfcb197c..256a7cb8 100644 --- a/packages/openai_dart/oas/openapi_official.yaml +++ b/packages/openai_dart/oas/openapi_official.yaml @@ -12730,9 +12730,9 @@ components: - type: string enum: - gpt-4o + - gpt-4o-2024-11-20 - gpt-4o-2024-08-06 - gpt-4o-2024-05-13 - - gpt-4o-2024-08-06 - gpt-4o-mini - gpt-4o-mini-2024-07-18 - gpt-4-turbo @@ -15057,9 +15057,9 @@ components: - type: string enum: - gpt-4o + - gpt-4o-2024-11-20 - gpt-4o-2024-08-06 - gpt-4o-2024-05-13 - - gpt-4o-2024-08-06 - gpt-4o-mini - gpt-4o-mini-2024-07-18 - gpt-4-turbo @@ -15256,9 +15256,9 @@ components: - type: string enum: - gpt-4o + - gpt-4o-2024-11-20 - gpt-4o-2024-08-06 - gpt-4o-2024-05-13 - - gpt-4o-2024-08-06 - gpt-4o-mini - gpt-4o-mini-2024-07-18 - gpt-4-turbo @@ -23170,9 +23170,9 @@ components: - o1-mini - o1-mini-2024-09-12 - gpt-4o + - gpt-4o-2024-11-20 - gpt-4o-2024-08-06 - gpt-4o-2024-05-13 - - gpt-4o-2024-08-06 - gpt-4o-realtime-preview - gpt-4o-realtime-preview-2024-10-01 - gpt-4o-audio-preview @@ -23223,9 +23223,9 @@ components: - type: string enum: - gpt-4o + - gpt-4o-2024-11-20 - gpt-4o-2024-08-06 - gpt-4o-2024-05-13 - - gpt-4o-2024-08-06 - gpt-4o-mini - gpt-4o-mini-2024-07-18 - gpt-4-turbo @@ -23381,9 +23381,9 @@ components: - type: string enum: - gpt-4o + - gpt-4o-2024-11-20 - gpt-4o-2024-08-06 - gpt-4o-2024-05-13 - - gpt-4o-2024-08-06 - gpt-4o-mini - gpt-4o-mini-2024-07-18 - gpt-4-turbo