diff --git a/src/Business Foundation/App/NoSeriesCopilot/src/Copilot/NoSeriesCopilotImpl.Codeunit.al b/src/Business Foundation/App/NoSeriesCopilot/src/Copilot/NoSeriesCopilotImpl.Codeunit.al
index b9263612a2..8cfe5a0a0a 100644
--- a/src/Business Foundation/App/NoSeriesCopilot/src/Copilot/NoSeriesCopilotImpl.Codeunit.al
+++ b/src/Business Foundation/App/NoSeriesCopilot/src/Copilot/NoSeriesCopilotImpl.Codeunit.al
@@ -171,7 +171,7 @@ codeunit 324 "No. Series Copilot Impl."
if not AzureOpenAI.IsEnabled(Enum::"Copilot Capability"::"No. Series Copilot") then
exit;
- AzureOpenAI.SetAuthorization(Enum::"AOAI Model Type"::"Chat Completions", AOAIDeployments.GetGPT35TurboLatest());
+ AzureOpenAI.SetAuthorization(Enum::"AOAI Model Type"::"Chat Completions", AOAIDeployments.GetGPT4oMiniLatest());
AzureOpenAI.SetCopilotCapability(Enum::"Copilot Capability"::"No. Series Copilot");
AOAIChatCompletionParams.SetMaxTokens(MaxOutputTokens());
AOAIChatCompletionParams.SetTemperature(0);
diff --git a/src/System Application/App/AI/src/Azure OpenAI/AOAIDeployments.Codeunit.al b/src/System Application/App/AI/src/Azure OpenAI/AOAIDeployments.Codeunit.al
index 4ddfcec71e..6702edaf20 100644
--- a/src/System Application/App/AI/src/Azure OpenAI/AOAIDeployments.Codeunit.al
+++ b/src/System Application/App/AI/src/Azure OpenAI/AOAIDeployments.Codeunit.al
@@ -55,12 +55,12 @@ codeunit 7768 "AOAI Deployments"
NavApp.GetCallerModuleInfo(CallerModuleInfo);
exit(AOAIDeploymentsImpl.GetTurbo0613(CallerModuleInfo));
end;
-#endif
///
/// Returns the name of the latest AOAI deployment model of GPT3.5 Turbo.
///
/// The deployment name.
+ [Obsolete('GPT35 Turbo is no longer supported. Use GetGPT4oMiniLatest instead (or GetGPT4oMiniPreview for testing upcoming versions).', '25.0')]
procedure GetGPT35TurboLatest(): Text
var
CallerModuleInfo: ModuleInfo;
@@ -73,6 +73,7 @@ codeunit 7768 "AOAI Deployments"
/// Returns the name of preview AOAI deployment model of GPT3.5 Turbo.
///
/// The deployment name.
+ [Obsolete('GPT35 Turbo is no longer supported. Use GetGPT4oMiniLatest instead (or GetGPT4oMiniPreview for testing upcoming versions).', '25.0')]
procedure GetGPT35TurboPreview(): Text
var
CallerModuleInfo: ModuleInfo;
@@ -85,6 +86,7 @@ codeunit 7768 "AOAI Deployments"
/// Returns the name of the latest AOAI deployment model of GPT4.
///
/// The deployment name.
+ [Obsolete('Generic GPT4 deployment name is no longer supported. Use GetGPT4oLatest instead (or GetGPT4oPreview for testing upcoming versions).', '25.0')]
procedure GetGPT4Latest(): Text
var
CallerModuleInfo: ModuleInfo;
@@ -97,6 +99,7 @@ codeunit 7768 "AOAI Deployments"
/// Returns the name of preview AOAI deployment model of GPT4.
///
/// The deployment name.
+ [Obsolete('Generic GPT4 deployment name is no longer supported. Use GetGPT4oLatest instead (or GetGPT4oPreview for testing upcoming versions).', '25.0')]
procedure GetGPT4Preview(): Text
var
CallerModuleInfo: ModuleInfo;
@@ -104,4 +107,53 @@ codeunit 7768 "AOAI Deployments"
NavApp.GetCallerModuleInfo(CallerModuleInfo);
exit(AOAIDeploymentsImpl.GetGPT4Preview(CallerModuleInfo));
end;
+#endif
+
+ ///
+ /// Returns the name of the latest AOAI deployment model of GPT4o.
+ ///
+ /// The deployment name.
+ procedure GetGPT4oLatest(): Text
+ var
+ CallerModuleInfo: ModuleInfo;
+ begin
+ NavApp.GetCallerModuleInfo(CallerModuleInfo);
+ exit(AOAIDeploymentsImpl.GetGPT4oLatest(CallerModuleInfo));
+ end;
+
+ ///
+ /// Returns the name of preview AOAI deployment model of GPT4o.
+ ///
+ /// The deployment name.
+ procedure GetGPT4oPreview(): Text
+ var
+ CallerModuleInfo: ModuleInfo;
+ begin
+ NavApp.GetCallerModuleInfo(CallerModuleInfo);
+ exit(AOAIDeploymentsImpl.GetGPT4oPreview(CallerModuleInfo));
+ end;
+
+ ///
+ /// Returns the name of the latest AOAI deployment model of GPT4o-Mini.
+ ///
+ /// The deployment name.
+ procedure GetGPT4oMiniLatest(): Text
+ var
+ CallerModuleInfo: ModuleInfo;
+ begin
+ NavApp.GetCallerModuleInfo(CallerModuleInfo);
+ exit(AOAIDeploymentsImpl.GetGPT4oMiniLatest(CallerModuleInfo));
+ end;
+
+ ///
+ /// Returns the name of preview AOAI deployment model of GPT4o-Mini.
+ ///
+ /// The deployment name.
+ procedure GetGPT4oMiniPreview(): Text
+ var
+ CallerModuleInfo: ModuleInfo;
+ begin
+ NavApp.GetCallerModuleInfo(CallerModuleInfo);
+ exit(AOAIDeploymentsImpl.GetGPT4oMiniPreview(CallerModuleInfo));
+ end;
}
\ No newline at end of file
diff --git a/src/System Application/App/AI/src/Azure OpenAI/AOAIDeploymentsImpl.Codeunit.al b/src/System Application/App/AI/src/Azure OpenAI/AOAIDeploymentsImpl.Codeunit.al
index 08df17f0eb..2eb0d3c083 100644
--- a/src/System Application/App/AI/src/Azure OpenAI/AOAIDeploymentsImpl.Codeunit.al
+++ b/src/System Application/App/AI/src/Azure OpenAI/AOAIDeploymentsImpl.Codeunit.al
@@ -16,11 +16,15 @@ codeunit 7769 "AOAI Deployments Impl"
var
UnableToGetDeploymentNameErr: Label 'Unable to get deployment name, if this is a third party capability you must specify your own deployment name. You may need to contact your partner.';
+ GPT4oLatestLbl: Label 'gpt-4o-latest', Locked = true;
+ GPT4oPreviewLbl: Label 'gpt-4o-preview', Locked = true;
+ GPT4oMiniLatestLbl: Label 'gpt-4o-mini-latest', Locked = true;
+ GPT4oMiniPreviewLbl: Label 'gpt-4o-mini-preview', Locked = true;
+#if not CLEAN25
GPT4LatestLbl: Label 'gpt-4-latest', Locked = true;
GPT4PreviewLbl: Label 'gpt-4-preview', Locked = true;
GPT35TurboLatestLbl: Label 'gpt-35-turbo-latest', Locked = true;
GPT35TurboPreviewLbl: Label 'gpt-35-turbo-preview', Locked = true;
-#if not CLEAN25
Turbo0301SaasLbl: Label 'turbo-0301', Locked = true;
GPT40613SaasLbl: Label 'gpt4-0613', Locked = true;
Turbo0613SaasLbl: Label 'turbo-0613', Locked = true;
@@ -57,7 +61,6 @@ codeunit 7769 "AOAI Deployments Impl"
exit(Turbo031316kLbl);
end;
-#endif
procedure GetGPT35TurboPreview(CallerModuleInfo: ModuleInfo): Text
begin
@@ -78,6 +81,27 @@ codeunit 7769 "AOAI Deployments Impl"
begin
exit(GetDeploymentName(GPT4LatestLbl, CallerModuleInfo));
end;
+#endif
+
+ procedure GetGPT4oPreview(CallerModuleInfo: ModuleInfo): Text
+ begin
+ exit(GetDeploymentName(GPT4oPreviewLbl, CallerModuleInfo));
+ end;
+
+ procedure GetGPT4oLatest(CallerModuleInfo: ModuleInfo): Text
+ begin
+ exit(GetDeploymentName(GPT4oLatestLbl, CallerModuleInfo));
+ end;
+
+ procedure GetGPT4oMiniPreview(CallerModuleInfo: ModuleInfo): Text
+ begin
+ exit(GetDeploymentName(GPT4oMiniPreviewLbl, CallerModuleInfo));
+ end;
+
+ procedure GetGPT4oMiniLatest(CallerModuleInfo: ModuleInfo): Text
+ begin
+ exit(GetDeploymentName(GPT4oMiniLatestLbl, CallerModuleInfo));
+ end;
local procedure GetDeploymentName(DeploymentName: Text; CallerModuleInfo: ModuleInfo): Text
var
diff --git a/src/System Application/App/Entity Text/src/EntityTextImpl.Codeunit.al b/src/System Application/App/Entity Text/src/EntityTextImpl.Codeunit.al
index c77f02cfa6..ff6bc0d783 100644
--- a/src/System Application/App/Entity Text/src/EntityTextImpl.Codeunit.al
+++ b/src/System Application/App/Entity Text/src/EntityTextImpl.Codeunit.al
@@ -343,7 +343,7 @@ codeunit 2012 "Entity Text Impl."
AzureOpenAI.SetAuthorization(Enum::"AOAI Model Type"::"Chat Completions", Endpoint, Deployment, ApiKey)
else
if (not IsNullGuid(CallerModuleInfo.Id())) and (CallerModuleInfo.Publisher() = EntityTextModuleInfo.Publisher()) then
- AzureOpenAI.SetAuthorization(Enum::"AOAI Model Type"::"Chat Completions", AOAIDeployments.GetGPT4Latest())
+ AzureOpenAI.SetAuthorization(Enum::"AOAI Model Type"::"Chat Completions", AOAIDeployments.GetGPT4oLatest())
else begin
TelemetryCD.Add('CallerModuleInfo', Format(CallerModuleInfo.Publisher()));
TelemetryCD.Add('EntityTextModuleInfo', Format(EntityTextModuleInfo.Publisher()));