Skip to content

Commit 252530c

Browse files
committed
fix: maintain exact API behavior while extracting version from URL
- Extract API version from URL for both Azure OpenAI and Azure AI Inference - Keep original URL unchanged to maintain backward compatibility - API version is still sent in both URL and parameter as before - Only the user experience changes (no need to specify version twice)
1 parent d53df67 commit 252530c

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/api/providers/openai.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
import type { ApiHandlerOptions } from "../../shared/api"
1414

1515
import { XmlMatcher } from "../../utils/xml-matcher"
16-
import { extractApiVersionFromUrl, isAzureOpenAiUrl, removeApiVersionFromUrl } from "../../utils/azure-url-parser"
16+
import { extractApiVersionFromUrl } from "../../utils/azure-url-parser"
1717

1818
import { convertToOpenAiMessages } from "../transform/openai-format"
1919
import { convertToR1Format } from "../transform/r1-format"
@@ -46,12 +46,11 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl
4646
let effectiveApiVersion = this.options.azureApiVersion
4747
let baseURL = originalBaseURL
4848

49-
if (isAzureOpenAi && !effectiveApiVersion) {
49+
// Extract version for both Azure OpenAI and Azure AI Inference
50+
if ((isAzureOpenAi || isAzureAiInference) && !effectiveApiVersion) {
5051
const extractedVersion = extractApiVersionFromUrl(originalBaseURL)
5152
if (extractedVersion) {
5253
effectiveApiVersion = extractedVersion
53-
// For AzureOpenAI client, remove api-version from baseURL since it's passed separately
54-
baseURL = removeApiVersionFromUrl(originalBaseURL)
5554
}
5655
}
5756

@@ -72,7 +71,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl
7271
// Azure API shape slightly differs from the core API shape:
7372
// https://github.com/openai/openai-node?tab=readme-ov-file#microsoft-azure-openai
7473
this.client = new AzureOpenAI({
75-
baseURL,
74+
baseURL: originalBaseURL, // Use original URL to maintain exact same behavior
7675
apiKey,
7776
apiVersion: effectiveApiVersion || azureOpenAiDefaultApiVersion,
7877
defaultHeaders: headers,

0 commit comments

Comments
 (0)