diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx index 5f8e099835..c7d952caf4 100644 --- a/webview-ui/src/components/settings/ApiOptions.tsx +++ b/webview-ui/src/components/settings/ApiOptions.tsx @@ -73,6 +73,7 @@ import { import { Anthropic, + Azure, Baseten, Bedrock, Cerebras, @@ -557,6 +558,14 @@ const ApiOptions = ({ /> )} + {selectedProvider === "azure" && ( + + )} + {selectedProvider === "openai-codex" && ( void + simplifySettings?: boolean +} + +export const Azure = ({ apiConfiguration, setApiConfigurationField }: AzureProps) => { + const { t } = useAppTranslation() + + const handleInputChange = useCallback( + ( + field: K, + transform: (event: E) => ProviderSettings[K] = inputEventTransform, + ) => + (event: E | Event) => { + setApiConfigurationField(field, transform(event as E)) + }, + [setApiConfigurationField], + ) + + return ( + <> + + + +
+ {t("settings:providers.azureResourceNameDescription")} +
+ + + +
+ {t("settings:providers.azureDeploymentNameDescription")} +
+ + + +
+ {t("settings:providers.apiKeyStorageNotice")} +
+ + + +
+ {t("settings:providers.azureApiVersionDescription")} +
+ {!apiConfiguration?.azureApiKey && ( + + {t("settings:providers.getAzureApiKey")} + + )} + + ) +} diff --git a/webview-ui/src/components/settings/providers/index.ts b/webview-ui/src/components/settings/providers/index.ts index bca620d052..666af0daca 100644 --- a/webview-ui/src/components/settings/providers/index.ts +++ b/webview-ui/src/components/settings/providers/index.ts @@ -1,4 +1,5 @@ export { Anthropic } from "./Anthropic" +export { Azure } from "./Azure" export { Bedrock } from "./Bedrock" export { Cerebras } from "./Cerebras" export { Chutes } from "./Chutes" diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index 61dfaf42af..9592e1dabf 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -442,6 +442,14 @@ "getBasetenApiKey": "Get Baseten API Key", "cerebrasApiKey": "Cerebras API Key", "getCerebrasApiKey": "Get Cerebras API Key", + "azureResourceName": "Azure Resource Name", + "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 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", "getChutesApiKey": "Get Chutes API Key", "fireworksApiKey": "Fireworks API Key", @@ -1026,6 +1034,8 @@ "projectId": "Enter Project ID...", "customArn": "Enter ARN (e.g. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", "baseUrl": "Enter base URL...", + "azureResourceName": "e.g. my-openai-resource", + "azureDeploymentName": "e.g. gpt-4o", "modelId": { "lmStudio": "e.g. meta-llama-3.1-8b-instruct", "lmStudioDraft": "e.g. lmstudio-community/llama-3.2-1b-instruct",