Browse Source

Refactor Azure OpenAI default version

Saoud Rizwan 1 year ago
parent
commit
d81002decc

+ 7 - 5
src/api/providers/openai.ts

@@ -1,7 +1,12 @@
 import { Anthropic } from "@anthropic-ai/sdk"
 import OpenAI, { AzureOpenAI } from "openai"
 import { ApiHandler, ApiHandlerMessageResponse } from "../index"
-import { ApiHandlerOptions, ModelInfo, openAiModelInfoSaneDefaults } from "../../shared/api"
+import {
+	ApiHandlerOptions,
+	azureOpenAiDefaultApiVersion,
+	ModelInfo,
+	openAiModelInfoSaneDefaults,
+} from "../../shared/api"
 import { convertToAnthropicMessage, convertToOpenAiMessages } from "../transform/openai-format"
 
 export class OpenAiHandler implements ApiHandler {
@@ -15,10 +20,7 @@ export class OpenAiHandler implements ApiHandler {
 			this.client = new AzureOpenAI({
 				baseURL: this.options.openAiBaseUrl,
 				apiKey: this.options.openAiApiKey,
-				// https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation
-				// https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs
-				// (make sure to update API options placeholder)
-				apiVersion: this.options.azureApiVersion || "2024-08-01-preview",
+				apiVersion: this.options.azureApiVersion || azureOpenAiDefaultApiVersion,
 			})
 		} else {
 			this.client = new OpenAI({

+ 5 - 0
src/shared/api.ts

@@ -399,3 +399,8 @@ export const openAiNativeModels = {
 		outputPrice: 0.6,
 	},
 } as const satisfies Record<string, ModelInfo>
+
+// Azure OpenAI
+// https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation
+// https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs
+export const azureOpenAiDefaultApiVersion = "2024-08-01-preview"

+ 2 - 1
webview-ui/src/components/settings/ApiOptions.tsx

@@ -14,6 +14,7 @@ import {
 	ModelInfo,
 	anthropicDefaultModelId,
 	anthropicModels,
+	azureOpenAiDefaultApiVersion,
 	bedrockDefaultModelId,
 	bedrockModels,
 	geminiDefaultModelId,
@@ -429,7 +430,7 @@ const ApiOptions = ({ showModelOptions, apiErrorMessage }: ApiOptionsProps) => {
 							value={apiConfiguration?.azureApiVersion || ""}
 							style={{ width: "100%", marginTop: 3 }}
 							onInput={handleInputChange("azureApiVersion")}
-							placeholder="Default: 2024-08-01-preview"
+							placeholder={`Default: ${azureOpenAiDefaultApiVersion}`}
 						/>
 					)}
 					<p