mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-10-10 11:39:50 +08:00
fix: use createAzure in validate-model and fix resourceName fallback (fixes #819)
Two related bugs caused Azure OpenAI to pass validation but fail in actual use: 1. validate-model/route.ts used createOpenAI for Azure, while ai-providers.ts uses createAzure. These differ in URL construction and authentication headers (api-key vs Authorization: Bearer), so validation did not test the real code path. Switch to createAzure for consistency. 2. In ai-providers.ts, when a user provided their own API key without a custom base URL, resourceName was unconditionally set to undefined. This left createAzure with no endpoint information, resulting in resource not found. resourceName is an endpoint component, not a credential, so it is safe to fall back to AZURE_RESOURCE_NAME from the environment whenever no baseURL is available.
This commit is contained in:
@@ -4,6 +4,7 @@ import { createDeepSeek, deepseek } from "@ai-sdk/deepseek"
|
||||
import { createGateway } from "@ai-sdk/gateway"
|
||||
import { createGoogleGenerativeAI } from "@ai-sdk/google"
|
||||
import { createVertex } from "@ai-sdk/google-vertex"
|
||||
import { createAzure } from "@ai-sdk/azure"
|
||||
import { createOpenAI } from "@ai-sdk/openai"
|
||||
import { createOpenRouter } from "@openrouter/ai-sdk-provider"
|
||||
import { generateText } from "ai"
|
||||
@@ -126,11 +127,11 @@ export async function POST(req: Request) {
|
||||
}
|
||||
|
||||
case "azure": {
|
||||
const azure = createOpenAI({
|
||||
const azureClient = createAzure({
|
||||
apiKey,
|
||||
baseURL: baseUrl,
|
||||
...(baseUrl && { baseURL: baseUrl }),
|
||||
})
|
||||
model = azure.chat(modelId)
|
||||
model = azureClient(modelId)
|
||||
break
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user