refactor(azure): scope provider to Azure OpenAI models only

This commit is contained in:
Hannes Rudolph 2026-02-06 15:13:23 -07:00
parent 4a8c0373b5
commit 47cbb06e3a
22 changed files with 49 additions and 412 deletions

View file

@ -637,7 +637,7 @@ export const MODELS_BY_PROVIDER: Record<
},
azure: {
id: "azure",
label: "Azure AI Foundry",
label: "Azure OpenAI",
// Azure uses deployment names configured by the user (not a fixed upstream model ID list)
models: [],
},

View file

@ -1,73 +1,16 @@
import type { ModelInfo } from "../model.js"
/**
* Azure AI Foundry model metadata.
* Azure OpenAI model metadata.
*
* NOTE:
* - Azure AI Foundry uses *deployment names* at runtime, but Roo still needs underlying model
* - Azure OpenAI uses *deployment names* at runtime, but Roo still needs underlying model
* capabilities (maxTokens/contextWindow/etc.) for validation and parameter shaping.
* - This list is derived from https://models.dev/api.json (provider: "azure") and includes
* all models with tool calling support available through Azure AI Foundry deployments.
* - This list contains OpenAI models deployable through Azure OpenAI (.openai.azure.com).
* Non-OpenAI models (e.g. DeepSeek, Llama, Claude) require the Azure AI Model Inference
* API (services.ai.azure.com/models) which is a different endpoint and API surface.
*/
export const azureModels = {
"claude-haiku-4-5": {
maxTokens: 64_000,
contextWindow: 200_000,
supportsImages: true,
supportsPromptCache: true,
inputPrice: 1,
outputPrice: 5,
cacheWritesPrice: 1.25,
cacheReadsPrice: 0.1,
supportsTemperature: true,
description: "Claude Haiku 4.5",
},
"claude-opus-4-1": {
maxTokens: 32_000,
contextWindow: 200_000,
supportsImages: true,
supportsPromptCache: true,
inputPrice: 15,
outputPrice: 75,
cacheWritesPrice: 18.75,
cacheReadsPrice: 1.5,
supportsTemperature: true,
description: "Claude Opus 4.1",
},
"claude-opus-4-5": {
maxTokens: 64_000,
contextWindow: 200_000,
supportsImages: true,
supportsPromptCache: true,
inputPrice: 5,
outputPrice: 25,
cacheWritesPrice: 6.25,
cacheReadsPrice: 0.5,
supportsTemperature: true,
description: "Claude Opus 4.5",
},
"claude-sonnet-4-5": {
maxTokens: 64_000,
contextWindow: 200_000,
supportsImages: true,
supportsPromptCache: true,
inputPrice: 3,
outputPrice: 15,
cacheWritesPrice: 3.75,
cacheReadsPrice: 0.3,
supportsTemperature: true,
description: "Claude Sonnet 4.5",
},
"codestral-2501": {
maxTokens: 256_000,
contextWindow: 256_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.3,
outputPrice: 0.9,
supportsTemperature: true,
description: "Codestral 25.01",
},
"codex-mini": {
maxTokens: 100_000,
contextWindow: 200_000,
@ -79,76 +22,6 @@ export const azureModels = {
supportsTemperature: false,
description: "Codex Mini",
},
"cohere-command-a": {
maxTokens: 8_000,
contextWindow: 256_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 2.5,
outputPrice: 10,
supportsTemperature: true,
description: "Command A",
},
"cohere-command-r-08-2024": {
maxTokens: 4_000,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.15,
outputPrice: 0.6,
supportsTemperature: true,
description: "Command R",
},
"cohere-command-r-plus-08-2024": {
maxTokens: 4_000,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 2.5,
outputPrice: 10,
supportsTemperature: true,
description: "Command R+",
},
"deepseek-r1-0528": {
maxTokens: 163_840,
contextWindow: 163_840,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 1.35,
outputPrice: 5.4,
supportsTemperature: true,
description: "DeepSeek-R1-0528",
},
"deepseek-v3-0324": {
maxTokens: 131_072,
contextWindow: 131_072,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 1.14,
outputPrice: 4.56,
supportsTemperature: true,
description: "DeepSeek-V3-0324",
},
"deepseek-v3.1": {
maxTokens: 131_072,
contextWindow: 131_072,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.56,
outputPrice: 1.68,
supportsTemperature: true,
description: "DeepSeek-V3.1",
},
"deepseek-v3.2": {
maxTokens: 128_000,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.58,
outputPrice: 1.68,
supportsTemperature: true,
description: "DeepSeek-V3.2",
},
"gpt-4-turbo": {
maxTokens: 4_096,
contextWindow: 128_000,
@ -427,223 +300,7 @@ export const azureModels = {
supportsTemperature: false,
description: "GPT-5.2 Codex",
},
"grok-3": {
maxTokens: 8_192,
contextWindow: 131_072,
supportsImages: false,
supportsPromptCache: true,
inputPrice: 3,
outputPrice: 15,
cacheReadsPrice: 0.75,
supportsTemperature: true,
description: "Grok 3",
},
"grok-3-mini": {
maxTokens: 8_192,
contextWindow: 131_072,
supportsImages: false,
supportsPromptCache: true,
inputPrice: 0.3,
outputPrice: 0.5,
cacheReadsPrice: 0.075,
supportsTemperature: true,
description: "Grok 3 Mini",
},
"grok-4": {
maxTokens: 64_000,
contextWindow: 256_000,
supportsImages: false,
supportsPromptCache: true,
inputPrice: 3,
outputPrice: 15,
cacheReadsPrice: 0.75,
supportsTemperature: true,
description: "Grok 4",
},
"grok-4-fast-non-reasoning": {
maxTokens: 30_000,
contextWindow: 2_000_000,
supportsImages: true,
supportsPromptCache: true,
inputPrice: 0.2,
outputPrice: 0.5,
cacheReadsPrice: 0.05,
supportsTemperature: true,
description: "Grok 4 Fast (Non-Reasoning)",
},
"grok-4-fast-reasoning": {
maxTokens: 30_000,
contextWindow: 2_000_000,
supportsImages: true,
supportsPromptCache: true,
inputPrice: 0.2,
outputPrice: 0.5,
cacheReadsPrice: 0.05,
supportsTemperature: true,
description: "Grok 4 Fast (Reasoning)",
},
"grok-code-fast-1": {
maxTokens: 10_000,
contextWindow: 256_000,
supportsImages: false,
supportsPromptCache: true,
inputPrice: 0.2,
outputPrice: 1.5,
cacheReadsPrice: 0.02,
supportsTemperature: true,
description: "Grok Code Fast 1",
},
"kimi-k2-thinking": {
maxTokens: 262_144,
contextWindow: 262_144,
supportsImages: false,
supportsPromptCache: true,
inputPrice: 0.6,
outputPrice: 2.5,
cacheReadsPrice: 0.15,
supportsTemperature: true,
description: "Kimi K2 Thinking",
},
"llama-3.2-11b-vision-instruct": {
maxTokens: 8_192,
contextWindow: 128_000,
supportsImages: true,
supportsPromptCache: false,
inputPrice: 0.37,
outputPrice: 0.37,
supportsTemperature: true,
description: "Llama-3.2-11B-Vision-Instruct",
},
"llama-3.2-90b-vision-instruct": {
maxTokens: 8_192,
contextWindow: 128_000,
supportsImages: true,
supportsPromptCache: false,
inputPrice: 2.04,
outputPrice: 2.04,
supportsTemperature: true,
description: "Llama-3.2-90B-Vision-Instruct",
},
"llama-3.3-70b-instruct": {
maxTokens: 32_768,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.71,
outputPrice: 0.71,
supportsTemperature: true,
description: "Llama-3.3-70B-Instruct",
},
"llama-4-maverick-17b-128e-instruct-fp8": {
maxTokens: 8_192,
contextWindow: 128_000,
supportsImages: true,
supportsPromptCache: false,
inputPrice: 0.25,
outputPrice: 1,
supportsTemperature: true,
description: "Llama 4 Maverick 17B 128E Instruct FP8",
},
"llama-4-scout-17b-16e-instruct": {
maxTokens: 8_192,
contextWindow: 128_000,
supportsImages: true,
supportsPromptCache: false,
inputPrice: 0.2,
outputPrice: 0.78,
supportsTemperature: true,
description: "Llama 4 Scout 17B 16E Instruct",
},
"meta-llama-3.1-405b-instruct": {
maxTokens: 32_768,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 5.33,
outputPrice: 16,
supportsTemperature: true,
description: "Meta-Llama-3.1-405B-Instruct",
},
"meta-llama-3.1-70b-instruct": {
maxTokens: 32_768,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 2.68,
outputPrice: 3.54,
supportsTemperature: true,
description: "Meta-Llama-3.1-70B-Instruct",
},
"meta-llama-3.1-8b-instruct": {
maxTokens: 32_768,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.3,
outputPrice: 0.61,
supportsTemperature: true,
description: "Meta-Llama-3.1-8B-Instruct",
},
"ministral-3b": {
maxTokens: 8_192,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.04,
outputPrice: 0.04,
supportsTemperature: true,
description: "Ministral 3B",
},
"mistral-large-2411": {
maxTokens: 32_768,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 2,
outputPrice: 6,
supportsTemperature: true,
description: "Mistral Large 24.11",
},
"mistral-medium-2505": {
maxTokens: 128_000,
contextWindow: 128_000,
supportsImages: true,
supportsPromptCache: false,
inputPrice: 0.4,
outputPrice: 2,
supportsTemperature: true,
description: "Mistral Medium 3",
},
"mistral-nemo": {
maxTokens: 128_000,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.15,
outputPrice: 0.15,
supportsTemperature: true,
description: "Mistral Nemo",
},
"mistral-small-2503": {
maxTokens: 32_768,
contextWindow: 128_000,
supportsImages: true,
supportsPromptCache: false,
inputPrice: 0.1,
outputPrice: 0.3,
supportsTemperature: true,
description: "Mistral Small 3.1",
},
"model-router": {
maxTokens: 16_384,
contextWindow: 128_000,
supportsImages: true,
supportsPromptCache: false,
inputPrice: 0.14,
outputPrice: 0,
description: "Model Router",
},
"o1": {
o1: {
maxTokens: 100_000,
contextWindow: 200_000,
supportsImages: true,
@ -676,7 +333,7 @@ export const azureModels = {
supportsTemperature: false,
description: "o1-preview",
},
"o3": {
o3: {
maxTokens: 100_000,
contextWindow: 200_000,
supportsImages: true,
@ -715,26 +372,6 @@ export const azureModels = {
supportsTemperature: false,
description: "o4-mini",
},
"phi-4-mini": {
maxTokens: 4_096,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.075,
outputPrice: 0.3,
supportsTemperature: true,
description: "Phi-4-mini",
},
"phi-4-mini-reasoning": {
maxTokens: 4_096,
contextWindow: 128_000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.075,
outputPrice: 0.3,
supportsTemperature: true,
description: "Phi-4-mini-reasoning",
},
} as const satisfies Record<string, ModelInfo>
export type AzureModelId = keyof typeof azureModels

View file

@ -280,7 +280,7 @@ describe("AzureHandler", () => {
for await (const chunk of stream) {
chunks.push(chunk)
}
}).rejects.toThrow("Azure AI Foundry")
}).rejects.toThrow("Azure OpenAI")
})
})

View file

@ -23,7 +23,7 @@ import type { SingleCompletionHandler, ApiHandlerCreateMessageMetadata } from ".
const AZURE_DEFAULT_TEMPERATURE = 0
/**
* Azure AI Foundry provider using the dedicated @ai-sdk/azure package.
* Azure OpenAI provider using the dedicated @ai-sdk/azure package.
* Provides native support for Azure OpenAI deployments with proper resource-based routing.
*/
export class AzureHandler extends BaseProvider implements SingleCompletionHandler {
@ -77,7 +77,7 @@ export class AzureHandler extends BaseProvider implements SingleCompletionHandle
/**
* Process usage metrics from the AI SDK response.
* Azure AI Foundry provides standard OpenAI-compatible usage metrics.
* Azure OpenAI provides standard OpenAI-compatible usage metrics.
*/
protected processUsageMetrics(
usage: {
@ -116,7 +116,7 @@ export class AzureHandler extends BaseProvider implements SingleCompletionHandle
protected getMaxOutputTokens(): number | undefined {
const { info } = this.getModel()
const maxTokens = this.options.modelMaxTokens || info.maxTokens
// Azure AI Foundry API requires maxOutputTokens >= 1, so filter out invalid values
// Azure OpenAI API requires maxOutputTokens >= 1, so filter out invalid values
return maxTokens && maxTokens > 0 ? maxTokens : undefined
}
@ -168,7 +168,7 @@ export class AzureHandler extends BaseProvider implements SingleCompletionHandle
}
} catch (error) {
// Handle AI SDK errors (AI_RetryError, AI_APICallError, etc.)
throw handleAiSdkError(error, "Azure AI Foundry")
throw handleAiSdkError(error, "Azure OpenAI")
}
}

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Clau API de Cerebras",
"getCerebrasApiKey": "Obtenir clau API de Cerebras",
"azureResourceName": "Nom del recurs d'Azure",
"azureResourceNameDescription": "El nom del teu recurs Azure AI Foundry (p. ex. 'el-meu-recurs-openai').",
"azureResourceNameDescription": "El nom del teu recurs Azure OpenAI (p. ex. 'el-meu-recurs-openai').",
"azureDeploymentName": "Nom del desplegament d'Azure",
"azureDeploymentNameDescription": "El nom del desplegament del model dins del recurs.",
"azureApiKey": "Clau API d'Azure",
"getAzureApiKey": "Obtenir accés a Azure AI Foundry",
"getAzureApiKey": "Obtenir accés a Azure OpenAI",
"azureApiVersion": "Versió de l'API d'Azure",
"azureApiVersionDescription": "La versió de l'API a utilitzar (p. ex. '2024-10-21'). Deixa buit per al valor per defecte.",
"chutesApiKey": "Clau API de Chutes",

View file

@ -382,11 +382,11 @@
"cerebrasApiKey": "Cerebras API-Schlüssel",
"getCerebrasApiKey": "Cerebras API-Schlüssel erhalten",
"azureResourceName": "Azure Ressourcenname",
"azureResourceNameDescription": "Der Name Ihrer Azure AI Foundry-Ressource (z.B. 'meine-openai-ressource').",
"azureResourceNameDescription": "Der Name Ihrer Azure OpenAI-Ressource (z.B. 'meine-openai-ressource').",
"azureDeploymentName": "Azure Bereitstellungsname",
"azureDeploymentNameDescription": "Der Name Ihrer Modellbereitstellung innerhalb der Ressource.",
"azureApiKey": "Azure API-Schlüssel",
"getAzureApiKey": "Azure AI Foundry-Zugang erhalten",
"getAzureApiKey": "Azure OpenAI-Zugang erhalten",
"azureApiVersion": "Azure API-Version",
"azureApiVersionDescription": "Die zu verwendende API-Version (z.B. '2024-10-21'). Leer lassen für Standardwert.",
"chutesApiKey": "Chutes API-Schlüssel",

View file

@ -443,11 +443,11 @@
"cerebrasApiKey": "Cerebras API Key",
"getCerebrasApiKey": "Get Cerebras API Key",
"azureResourceName": "Azure Resource Name",
"azureResourceNameDescription": "The name of your Azure AI Foundry resource (e.g., 'my-openai-resource').",
"azureResourceNameDescription": "The name of your Azure OpenAI resource (e.g., 'my-openai-resource').",
"azureDeploymentName": "Azure Deployment Name",
"azureDeploymentNameDescription": "The name of your model deployment within the resource.",
"azureApiKey": "Azure API Key",
"getAzureApiKey": "Get Azure AI Foundry Access",
"getAzureApiKey": "Get Azure OpenAI Access",
"azureApiVersion": "Azure API Version",
"azureApiVersionDescription": "The API version to use (e.g., '2024-10-21'). Leave empty for the default.",
"chutesApiKey": "Chutes API Key",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Clave API de Cerebras",
"getCerebrasApiKey": "Obtener clave API de Cerebras",
"azureResourceName": "Nombre del recurso Azure",
"azureResourceNameDescription": "El nombre de tu recurso Azure AI Foundry (ej. 'mi-recurso-openai').",
"azureResourceNameDescription": "El nombre de tu recurso Azure OpenAI (ej. 'mi-recurso-openai').",
"azureDeploymentName": "Nombre del despliegue Azure",
"azureDeploymentNameDescription": "El nombre del despliegue de tu modelo dentro del recurso.",
"azureApiKey": "Clave API de Azure",
"getAzureApiKey": "Obtener acceso a Azure AI Foundry",
"getAzureApiKey": "Obtener acceso a Azure OpenAI",
"azureApiVersion": "Versión de API de Azure",
"azureApiVersionDescription": "La versión de la API a usar (ej. '2024-10-21'). Dejar vacío para usar el valor predeterminado.",
"chutesApiKey": "Clave API de Chutes",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Clé API Cerebras",
"getCerebrasApiKey": "Obtenir la clé API Cerebras",
"azureResourceName": "Nom de la ressource Azure",
"azureResourceNameDescription": "Le nom de votre ressource Azure AI Foundry (ex. 'ma-ressource-openai').",
"azureResourceNameDescription": "Le nom de votre ressource Azure OpenAI (ex. 'ma-ressource-openai').",
"azureDeploymentName": "Nom du déploiement Azure",
"azureDeploymentNameDescription": "Le nom du déploiement de votre modèle dans la ressource.",
"azureApiKey": "Clé API Azure",
"getAzureApiKey": "Obtenir l'accès Azure AI Foundry",
"getAzureApiKey": "Obtenir l'accès Azure OpenAI",
"azureApiVersion": "Version de l'API Azure",
"azureApiVersionDescription": "La version de l'API à utiliser (ex. '2024-10-21'). Laisser vide pour la valeur par défaut.",
"chutesApiKey": "Clé API Chutes",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras API कुंजी",
"getCerebrasApiKey": "Cerebras API कुंजी प्राप्त करें",
"azureResourceName": "Azure रिसोर्स नाम",
"azureResourceNameDescription": "आपके Azure AI Foundry रिसोर्स का नाम (उदा. 'my-openai-resource')।",
"azureResourceNameDescription": "आपके Azure OpenAI रिसोर्स का नाम (उदा. 'my-openai-resource')।",
"azureDeploymentName": "Azure डिप्लॉयमेंट नाम",
"azureDeploymentNameDescription": "रिसोर्स के अंदर आपके मॉडल डिप्लॉयमेंट का नाम।",
"azureApiKey": "Azure API कुंजी",
"getAzureApiKey": "Azure AI Foundry एक्सेस प्राप्त करें",
"getAzureApiKey": "Azure OpenAI एक्सेस प्राप्त करें",
"azureApiVersion": "Azure API संस्करण",
"azureApiVersionDescription": "उपयोग करने के लिए API संस्करण (उदा. '2024-10-21')। डिफ़ॉल्ट के लिए खाली छोड़ें।",
"chutesApiKey": "Chutes API कुंजी",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras API Key",
"getCerebrasApiKey": "Dapatkan Cerebras API Key",
"azureResourceName": "Nama Resource Azure",
"azureResourceNameDescription": "Nama resource Azure AI Foundry Anda (contoh: 'my-openai-resource').",
"azureResourceNameDescription": "Nama resource Azure OpenAI Anda (contoh: 'my-openai-resource').",
"azureDeploymentName": "Nama Deployment Azure",
"azureDeploymentNameDescription": "Nama deployment model dalam resource.",
"azureApiKey": "Azure API Key",
"getAzureApiKey": "Dapatkan Akses Azure AI Foundry",
"getAzureApiKey": "Dapatkan Akses Azure OpenAI",
"azureApiVersion": "Versi API Azure",
"azureApiVersionDescription": "Versi API yang akan digunakan (contoh: '2024-10-21'). Biarkan kosong untuk nilai default.",
"chutesApiKey": "Chutes API Key",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Chiave API Cerebras",
"getCerebrasApiKey": "Ottieni chiave API Cerebras",
"azureResourceName": "Nome risorsa Azure",
"azureResourceNameDescription": "Il nome della tua risorsa Azure AI Foundry (es. 'mia-risorsa-openai').",
"azureResourceNameDescription": "Il nome della tua risorsa Azure OpenAI (es. 'mia-risorsa-openai').",
"azureDeploymentName": "Nome distribuzione Azure",
"azureDeploymentNameDescription": "Il nome della distribuzione del modello all'interno della risorsa.",
"azureApiKey": "Chiave API Azure",
"getAzureApiKey": "Ottieni accesso Azure AI Foundry",
"getAzureApiKey": "Ottieni accesso Azure OpenAI",
"azureApiVersion": "Versione API Azure",
"azureApiVersionDescription": "La versione dell'API da utilizzare (es. '2024-10-21'). Lascia vuoto per il valore predefinito.",
"chutesApiKey": "Chiave API Chutes",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras APIキー",
"getCerebrasApiKey": "Cerebras APIキーを取得",
"azureResourceName": "Azureリソース名",
"azureResourceNameDescription": "Azure AI Foundryリソースの名前(例:'my-openai-resource')。",
"azureResourceNameDescription": "Azure OpenAIリソースの名前(例:'my-openai-resource')。",
"azureDeploymentName": "Azureデプロイメント名",
"azureDeploymentNameDescription": "リソース内のモデルデプロイメントの名前。",
"azureApiKey": "Azure APIキー",
"getAzureApiKey": "Azure AI Foundryアクセスを取得",
"getAzureApiKey": "Azure OpenAIアクセスを取得",
"azureApiVersion": "Azure APIバージョン",
"azureApiVersionDescription": "使用するAPIバージョン'2024-10-21')。デフォルトを使用する場合は空にしてください。",
"chutesApiKey": "Chutes APIキー",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras API 키",
"getCerebrasApiKey": "Cerebras API 키 가져오기",
"azureResourceName": "Azure 리소스 이름",
"azureResourceNameDescription": "Azure AI Foundry 리소스 이름 (예: 'my-openai-resource').",
"azureResourceNameDescription": "Azure OpenAI 리소스 이름 (예: 'my-openai-resource').",
"azureDeploymentName": "Azure 배포 이름",
"azureDeploymentNameDescription": "리소스 내 모델 배포 이름.",
"azureApiKey": "Azure API 키",
"getAzureApiKey": "Azure AI Foundry 액세스 받기",
"getAzureApiKey": "Azure OpenAI 액세스 받기",
"azureApiVersion": "Azure API 버전",
"azureApiVersionDescription": "사용할 API 버전 (예: '2024-10-21'). 기본값을 사용하려면 비워두세요.",
"chutesApiKey": "Chutes API 키",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras API-sleutel",
"getCerebrasApiKey": "Cerebras API-sleutel verkrijgen",
"azureResourceName": "Azure Resource-naam",
"azureResourceNameDescription": "De naam van je Azure AI Foundry resource (bijv. 'mijn-openai-resource').",
"azureResourceNameDescription": "De naam van je Azure OpenAI resource (bijv. 'mijn-openai-resource').",
"azureDeploymentName": "Azure Deployment-naam",
"azureDeploymentNameDescription": "De naam van je model deployment binnen de resource.",
"azureApiKey": "Azure API-sleutel",
"getAzureApiKey": "Azure AI Foundry-toegang verkrijgen",
"getAzureApiKey": "Azure OpenAI-toegang verkrijgen",
"azureApiVersion": "Azure API-versie",
"azureApiVersionDescription": "De API-versie om te gebruiken (bijv. '2024-10-21'). Laat leeg voor standaardwaarde.",
"chutesApiKey": "Chutes API-sleutel",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Klucz API Cerebras",
"getCerebrasApiKey": "Pobierz klucz API Cerebras",
"azureResourceName": "Nazwa zasobu Azure",
"azureResourceNameDescription": "Nazwa Twojego zasobu Azure AI Foundry (np. 'moj-zasob-openai').",
"azureResourceNameDescription": "Nazwa Twojego zasobu Azure OpenAI (np. 'moj-zasob-openai').",
"azureDeploymentName": "Nazwa wdrożenia Azure",
"azureDeploymentNameDescription": "Nazwa wdrożenia modelu w zasobie.",
"azureApiKey": "Klucz API Azure",
"getAzureApiKey": "Uzyskaj dostęp do Azure AI Foundry",
"getAzureApiKey": "Uzyskaj dostęp do Azure OpenAI",
"azureApiVersion": "Wersja API Azure",
"azureApiVersionDescription": "Wersja API do użycia (np. '2024-10-21'). Pozostaw puste dla wartości domyślnej.",
"chutesApiKey": "Klucz API Chutes",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Chave de API Cerebras",
"getCerebrasApiKey": "Obter chave de API Cerebras",
"azureResourceName": "Nome do recurso Azure",
"azureResourceNameDescription": "O nome do seu recurso Azure AI Foundry (ex: 'meu-recurso-openai').",
"azureResourceNameDescription": "O nome do seu recurso Azure OpenAI (ex: 'meu-recurso-openai').",
"azureDeploymentName": "Nome da implantação Azure",
"azureDeploymentNameDescription": "O nome da implantação do modelo dentro do recurso.",
"azureApiKey": "Chave de API Azure",
"getAzureApiKey": "Obter acesso ao Azure AI Foundry",
"getAzureApiKey": "Obter acesso ao Azure OpenAI",
"azureApiVersion": "Versão da API Azure",
"azureApiVersionDescription": "A versão da API a ser usada (ex: '2024-10-21'). Deixe vazio para o padrão.",
"chutesApiKey": "Chave de API Chutes",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras API-ключ",
"getCerebrasApiKey": "Получить Cerebras API-ключ",
"azureResourceName": "Имя ресурса Azure",
"azureResourceNameDescription": "Имя вашего ресурса Azure AI Foundry (напр. 'my-openai-resource').",
"azureResourceNameDescription": "Имя вашего ресурса Azure OpenAI (напр. 'my-openai-resource').",
"azureDeploymentName": "Имя развертывания Azure",
"azureDeploymentNameDescription": "Имя развертывания модели внутри ресурса.",
"azureApiKey": "API-ключ Azure",
"getAzureApiKey": "Получить доступ к Azure AI Foundry",
"getAzureApiKey": "Получить доступ к Azure OpenAI",
"azureApiVersion": "Версия API Azure",
"azureApiVersionDescription": "Версия API для использования (напр. '2024-10-21'). Оставьте пустым для значения по умолчанию.",
"chutesApiKey": "Chutes API-ключ",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras API Anahtarı",
"getCerebrasApiKey": "Cerebras API Anahtarını Al",
"azureResourceName": "Azure Kaynak Adı",
"azureResourceNameDescription": "Azure AI Foundry kaynak adınız (örn. 'benim-openai-kaynagim').",
"azureResourceNameDescription": "Azure OpenAI kaynak adınız (örn. 'benim-openai-kaynagim').",
"azureDeploymentName": "Azure Dağıtım Adı",
"azureDeploymentNameDescription": "Kaynak içindeki model dağıtım adınız.",
"azureApiKey": "Azure API Anahtarı",
"getAzureApiKey": "Azure AI Foundry Erişimi Al",
"getAzureApiKey": "Azure OpenAI Erişimi Al",
"azureApiVersion": "Azure API Sürümü",
"azureApiVersionDescription": "Kullanılacak API sürümü (örn. '2024-10-21'). Varsayılan için boş bırakın.",
"chutesApiKey": "Chutes API Anahtarı",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Khóa API Cerebras",
"getCerebrasApiKey": "Lấy khóa API Cerebras",
"azureResourceName": "Tên tài nguyên Azure",
"azureResourceNameDescription": "Tên tài nguyên Azure AI Foundry của bạn (ví dụ: 'my-openai-resource').",
"azureResourceNameDescription": "Tên tài nguyên Azure OpenAI của bạn (ví dụ: 'my-openai-resource').",
"azureDeploymentName": "Tên triển khai Azure",
"azureDeploymentNameDescription": "Tên triển khai mô hình trong tài nguyên.",
"azureApiKey": "Khóa API Azure",
"getAzureApiKey": "Lấy quyền truy cập Azure AI Foundry",
"getAzureApiKey": "Lấy quyền truy cập Azure OpenAI",
"azureApiVersion": "Phiên bản API Azure",
"azureApiVersionDescription": "Phiên bản API để sử dụng (ví dụ: '2024-10-21'). Để trống để dùng giá trị mặc định.",
"chutesApiKey": "Khóa API Chutes",

View file

@ -380,11 +380,11 @@
"cerebrasApiKey": "Cerebras API 密钥",
"getCerebrasApiKey": "获取 Cerebras API 密钥",
"azureResourceName": "Azure 资源名称",
"azureResourceNameDescription": "您的 Azure AI Foundry 资源名称(例如:'my-openai-resource')。",
"azureResourceNameDescription": "您的 Azure OpenAI 资源名称(例如:'my-openai-resource')。",
"azureDeploymentName": "Azure 部署名称",
"azureDeploymentNameDescription": "资源中的模型部署名称。",
"azureApiKey": "Azure API 密钥",
"getAzureApiKey": "获取 Azure AI Foundry 访问权限",
"getAzureApiKey": "获取 Azure OpenAI 访问权限",
"azureApiVersion": "Azure API 版本",
"azureApiVersionDescription": "要使用的 API 版本(例如:'2024-10-21')。留空使用默认值。",
"chutesApiKey": "Chutes API 密钥",

View file

@ -390,11 +390,11 @@
"cerebrasApiKey": "Cerebras API 金鑰",
"getCerebrasApiKey": "取得 Cerebras API 金鑰",
"azureResourceName": "Azure 資源名稱",
"azureResourceNameDescription": "您的 Azure AI Foundry 資源名稱(例如:'my-openai-resource')。",
"azureResourceNameDescription": "您的 Azure OpenAI 資源名稱(例如:'my-openai-resource')。",
"azureDeploymentName": "Azure 部署名稱",
"azureDeploymentNameDescription": "資源中的模型部署名稱。",
"azureApiKey": "Azure API 金鑰",
"getAzureApiKey": "取得 Azure AI Foundry 存取權限",
"getAzureApiKey": "取得 Azure OpenAI 存取權限",
"azureApiVersion": "Azure API 版本",
"azureApiVersionDescription": "要使用的 API 版本(例如:'2024-10-21')。留空使用預設值。",
"chutesApiKey": "Chutes API 金鑰",