feat(openai-completions): add Azure OpenAI support#2525
Closed
pyrotank41 wants to merge 1 commit intoearendil-works:mainfrom
Closed
feat(openai-completions): add Azure OpenAI support#2525pyrotank41 wants to merge 1 commit intoearendil-works:mainfrom
pyrotank41 wants to merge 1 commit intoearendil-works:mainfrom
Conversation
…ient The openai-completions provider uses the standard OpenAI client which doesn't append the required `api-version` query parameter for Azure OpenAI endpoints. This causes HTTP 404 errors when using Azure cognitiveservices Chat Completions API. This change detects Azure OpenAI providers (by provider name or baseUrl) and uses the AzureOpenAI SDK client instead, which correctly handles api-version query parameters and header-based authentication. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
|
Hi @pyrotank41, thanks for your interest in contributing! We ask new contributors to open an issue first before submitting a PR. This helps us discuss the approach and avoid wasted effort. Next steps:
This PR will be closed automatically. See https://github.com/badlogic/pi-mono/blob/main/CONTRIBUTING.md for more details. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
openai-completionsprovider by detecting Azure providers and using theAzureOpenAISDK client instead of the standardOpenAIclientAzureOpenAIclient correctly appends the required?api-version=query parameter and uses header-basedapi-keyauthenticationapi-versionquery parameterProblem
When configuring
openai-completionsAPI with an Azure OpenAI provider (azure-openai), the standardOpenAIclient constructs URLs like:But Azure requires:
The
AzureOpenAISDK client handles this automatically via itsapiVersionparameter.Changes
packages/ai/src/providers/openai-completions.ts:AzureOpenAIfrom theopenaipackage (already a dependency)createClient(), detect Azure providers bymodel.provider === "azure-openai"orbaseUrlcontaining.openai.azure.comAzureOpenAIclient withapiVersionfromAZURE_OPENAI_API_VERSIONenv var (defaults to2025-01-01-preview)api-keyheader for Azure's header-based authenticationTest plan
OpenAIclient)🤖 Generated with Claude Code