diff --git a/packages/types/src/provider-settings.ts b/packages/types/src/provider-settings.ts index 6f03744450ef..fba9718c813b 100644 --- a/packages/types/src/provider-settings.ts +++ b/packages/types/src/provider-settings.ts @@ -221,6 +221,7 @@ const bedrockSchema = apiModelIdProviderModelSchema.extend({ awsSessionToken: z.string().optional(), awsRegion: z.string().optional(), awsUseCrossRegionInference: z.boolean().optional(), + awsUseGlobalInference: z.boolean().optional(), // Enable Global Inference profile routing when supported awsUsePromptCache: z.boolean().optional(), awsProfile: z.string().optional(), awsUseProfile: z.boolean().optional(), diff --git a/packages/types/src/providers/bedrock.ts b/packages/types/src/providers/bedrock.ts index 9935d90b127a..39bc76f8c3a9 100644 --- a/packages/types/src/providers/bedrock.ts +++ b/packages/types/src/providers/bedrock.ts @@ -401,17 +401,22 @@ export const BEDROCK_DEFAULT_CONTEXT = 128_000 // https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html // This mapping is pre-ordered by pattern length (descending) to ensure more specific patterns match first export const AWS_INFERENCE_PROFILE_MAPPING: Array<[string, string]> = [ - // US Government Cloud → ug. inference profile (most specific prefix first) + // Australia regions (Sydney and Melbourne) → au. inference profile (most specific - 14 chars) + ["ap-southeast-2", "au."], + ["ap-southeast-4", "au."], + // Japan regions (Tokyo and Osaka) → jp. inference profile (13 chars) + ["ap-northeast-", "jp."], + // US Government Cloud → ug. inference profile (7 chars) ["us-gov-", "ug."], - // Americas regions → us. inference profile + // Americas regions → us. inference profile (3 chars) ["us-", "us."], - // Europe regions → eu. inference profile + // Europe regions → eu. inference profile (3 chars) ["eu-", "eu."], - // Asia Pacific regions → apac. inference profile + // Asia Pacific regions → apac. inference profile (3 chars) ["ap-", "apac."], - // Canada regions → ca. inference profile + // Canada regions → ca. inference profile (3 chars) ["ca-", "ca."], - // South America regions → sa. inference profile + // South America regions → sa. inference profile (3 chars) ["sa-", "sa."], ] @@ -448,3 +453,14 @@ export const BEDROCK_1M_CONTEXT_MODEL_IDS = [ "anthropic.claude-sonnet-4-20250514-v1:0", "anthropic.claude-sonnet-4-5-20250929-v1:0", ] as const + +// Amazon Bedrock models that support Global Inference profiles +// As of Oct 2025, AWS supports Global Inference for: +// - Claude Sonnet 4 +// - Claude Sonnet 4.5 +// - Claude Haiku 4.5 +export const BEDROCK_GLOBAL_INFERENCE_MODEL_IDS = [ + "anthropic.claude-sonnet-4-20250514-v1:0", + "anthropic.claude-sonnet-4-5-20250929-v1:0", + "anthropic.claude-haiku-4-5-20251001-v1:0", +] as const diff --git a/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts b/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts index 16ee002e202c..b2ac5b57e2f3 100644 --- a/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts +++ b/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts @@ -30,6 +30,9 @@ describe("Amazon Bedrock Inference Profiles", () => { describe("AWS_INFERENCE_PROFILE_MAPPING constant", () => { it("should contain all expected region mappings", () => { expect(AWS_INFERENCE_PROFILE_MAPPING).toEqual([ + ["ap-southeast-2", "au."], + ["ap-southeast-4", "au."], + ["ap-northeast-", "jp."], ["us-gov-", "ug."], ["us-", "us."], ["eu-", "eu."], @@ -47,7 +50,7 @@ describe("Amazon Bedrock Inference Profiles", () => { it("should have valid inference profile prefixes", () => { AWS_INFERENCE_PROFILE_MAPPING.forEach(([regionPattern, inferenceProfile]) => { - expect(regionPattern).toMatch(/^[a-z-]+$/) + expect(regionPattern).toMatch(/^[a-z0-9-]+$/) expect(inferenceProfile).toMatch(/^[a-z]+\.$/) }) }) @@ -77,8 +80,14 @@ describe("Amazon Bedrock Inference Profiles", () => { it("should return correct prefix for Asia Pacific regions", () => { const handler = createHandler() + // Australia regions (Sydney and Melbourne) get au. prefix + expect((handler as any).constructor.getPrefixForRegion("ap-southeast-2")).toBe("au.") + expect((handler as any).constructor.getPrefixForRegion("ap-southeast-4")).toBe("au.") + // Japan regions (Tokyo and Osaka) get jp. prefix + expect((handler as any).constructor.getPrefixForRegion("ap-northeast-1")).toBe("jp.") + expect((handler as any).constructor.getPrefixForRegion("ap-northeast-3")).toBe("jp.") + // Other APAC regions get apac. prefix expect((handler as any).constructor.getPrefixForRegion("ap-southeast-1")).toBe("apac.") - expect((handler as any).constructor.getPrefixForRegion("ap-northeast-1")).toBe("apac.") expect((handler as any).constructor.getPrefixForRegion("ap-south-1")).toBe("apac.") expect((handler as any).constructor.getPrefixForRegion("ap-east-1")).toBe("apac.") }) diff --git a/src/api/providers/__tests__/bedrock.spec.ts b/src/api/providers/__tests__/bedrock.spec.ts index 55317dac4009..cccec3818f41 100644 --- a/src/api/providers/__tests__/bedrock.spec.ts +++ b/src/api/providers/__tests__/bedrock.spec.ts @@ -114,8 +114,14 @@ describe("AwsBedrockHandler", () => { it("should return correct prefix for APAC regions", () => { const getPrefixForRegion = (AwsBedrockHandler as any).getPrefixForRegion + // Australia regions (Sydney and Melbourne) get au. prefix + expect(getPrefixForRegion("ap-southeast-2")).toBe("au.") + expect(getPrefixForRegion("ap-southeast-4")).toBe("au.") + // Japan regions (Tokyo and Osaka) get jp. prefix + expect(getPrefixForRegion("ap-northeast-1")).toBe("jp.") + expect(getPrefixForRegion("ap-northeast-3")).toBe("jp.") + // Other APAC regions get apac. prefix expect(getPrefixForRegion("ap-southeast-1")).toBe("apac.") - expect(getPrefixForRegion("ap-northeast-1")).toBe("apac.") expect(getPrefixForRegion("ap-south-1")).toBe("apac.") }) diff --git a/src/api/providers/bedrock.ts b/src/api/providers/bedrock.ts index 9267fb924ba5..0d429331bb37 100644 --- a/src/api/providers/bedrock.ts +++ b/src/api/providers/bedrock.ts @@ -22,6 +22,7 @@ import { BEDROCK_DEFAULT_CONTEXT, AWS_INFERENCE_PROFILE_MAPPING, BEDROCK_1M_CONTEXT_MODEL_IDS, + BEDROCK_GLOBAL_INFERENCE_MODEL_IDS, } from "@roo-code/types" import { ApiStream } from "../transform/stream" @@ -887,6 +888,11 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH } } + // Also strip Global Inference profile prefix if present + if (modelId.startsWith("global.")) { + return modelId.substring("global.".length) + } + // Return the model ID as-is for all other cases return modelId } @@ -964,8 +970,16 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH //a model was selected from the drop down modelConfig = this.getModelById(this.options.apiModelId as string) - // Add cross-region inference prefix if enabled - if (this.options.awsUseCrossRegionInference && this.options.awsRegion) { + // Apply Global Inference prefix if enabled and supported (takes precedence over cross-region) + const baseIdForGlobal = this.parseBaseModelId(modelConfig.id) + if ( + this.options.awsUseGlobalInference && + BEDROCK_GLOBAL_INFERENCE_MODEL_IDS.includes(baseIdForGlobal as any) + ) { + modelConfig.id = `global.${baseIdForGlobal}` + } + // Otherwise, add cross-region inference prefix if enabled + else if (this.options.awsUseCrossRegionInference && this.options.awsRegion) { const prefix = AwsBedrockHandler.getPrefixForRegion(this.options.awsRegion) if (prefix) { modelConfig.id = `${prefix}${modelConfig.id}` diff --git a/webview-ui/src/components/settings/providers/Bedrock.tsx b/webview-ui/src/components/settings/providers/Bedrock.tsx index 1b3143fa0831..2564eda3e542 100644 --- a/webview-ui/src/components/settings/providers/Bedrock.tsx +++ b/webview-ui/src/components/settings/providers/Bedrock.tsx @@ -2,7 +2,13 @@ import { useCallback, useState, useEffect } from "react" import { Checkbox } from "vscrui" import { VSCodeTextField } from "@vscode/webview-ui-toolkit/react" -import { type ProviderSettings, type ModelInfo, BEDROCK_REGIONS, BEDROCK_1M_CONTEXT_MODEL_IDS } from "@roo-code/types" +import { + type ProviderSettings, + type ModelInfo, + BEDROCK_REGIONS, + BEDROCK_1M_CONTEXT_MODEL_IDS, + BEDROCK_GLOBAL_INFERENCE_MODEL_IDS, +} from "@roo-code/types" import { useAppTranslation } from "@src/i18n/TranslationContext" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, StandardTooltip } from "@src/components/ui" @@ -23,6 +29,11 @@ export const Bedrock = ({ apiConfiguration, setApiConfigurationField, selectedMo const supports1MContextBeta = !!apiConfiguration?.apiModelId && BEDROCK_1M_CONTEXT_MODEL_IDS.includes(apiConfiguration.apiModelId as any) + // Check if the selected model supports Global Inference profile routing + const supportsGlobalInference = + !!apiConfiguration?.apiModelId && + BEDROCK_GLOBAL_INFERENCE_MODEL_IDS.includes(apiConfiguration.apiModelId as any) + // Update the endpoint enabled state when the configuration changes useEffect(() => { setAwsEndpointSelected(!!apiConfiguration?.awsBedrockEndpointEnabled) @@ -138,9 +149,25 @@ export const Bedrock = ({ apiConfiguration, setApiConfigurationField, selectedMo + {supportsGlobalInference && ( + { + // Enabling Global Inference should disable cross-region inference + setApiConfigurationField("awsUseGlobalInference", checked) + if (checked) setApiConfigurationField("awsUseCrossRegionInference", false) + }}> + {t("settings:providers.awsGlobalInference")} + + )} + disabled={apiConfiguration?.awsUseGlobalInference || false} + onChange={(checked: boolean) => { + setApiConfigurationField("awsUseCrossRegionInference", checked) + if (checked) setApiConfigurationField("awsUseGlobalInference", false) + }}> {t("settings:providers.awsCrossRegion")} {selectedModelInfo?.supportsPromptCache && ( diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index c514cab41232..029d737fbab6 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "Token de sessió d'AWS", "awsRegion": "Regió d'AWS", "awsCrossRegion": "Utilitzar inferència entre regions", + "awsGlobalInference": "Utilitzar la inferència global (selecció automàtica de la regió òptima d'AWS)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Utilitzar punt final VPC personalitzat", "vpcEndpointUrlPlaceholder": "Introduïu l'URL del punt final VPC (opcional)", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index c12d6c574888..1b51b9e7a217 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS Sitzungstoken", "awsRegion": "AWS Region", "awsCrossRegion": "Regionsübergreifende Inferenz verwenden", + "awsGlobalInference": "Globale Inferenz verwenden (optimale AWS-Region automatisch auswählen)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Benutzerdefinierten VPC-Endpunkt verwenden", "vpcEndpointUrlPlaceholder": "VPC-Endpunkt-URL eingeben (optional)", diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index 40a08e113fef..2dcbce9753b5 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -345,6 +345,7 @@ "awsSessionToken": "AWS Session Token", "awsRegion": "AWS Region", "awsCrossRegion": "Use cross-region inference", + "awsGlobalInference": "Use Global inference (auto-select optimal AWS Region)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Use custom VPC endpoint", "vpcEndpointUrlPlaceholder": "Enter VPC Endpoint URL (optional)", diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 0f0db63551ae..552661d3b473 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "Token de sesión de AWS", "awsRegion": "Región de AWS", "awsCrossRegion": "Usar inferencia entre regiones", + "awsGlobalInference": "Usar inferencia global (selección automática de la región óptima de AWS)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Usar punto de conexión VPC personalizado", "vpcEndpointUrlPlaceholder": "Ingrese URL del punto de conexión VPC (opcional)", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index 442410d53579..c00d0a227c52 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "Jeton de session AWS", "awsRegion": "Région AWS", "awsCrossRegion": "Utiliser l'inférence inter-régions", + "awsGlobalInference": "Utiliser l'inférence globale (sélection automatique de la région AWS optimale)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Utiliser un point de terminaison VPC personnalisé", "vpcEndpointUrlPlaceholder": "Entrer l'URL du point de terminaison VPC (optionnel)", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index afa9cfce187c..fcd1cf9444ea 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS सत्र टोकन", "awsRegion": "AWS क्षेत्र", "awsCrossRegion": "क्रॉस-क्षेत्र अनुमान का उपयोग करें", + "awsGlobalInference": "वैश्विक अनुमान का उपयोग करें (स्वचालित रूप से श्रेष्ठ AWS क्षेत्र चुनें)", "awsBedrockVpc": { "useCustomVpcEndpoint": "कस्टम VPC एंडपॉइंट का उपयोग करें", "vpcEndpointUrlPlaceholder": "VPC एंडपॉइंट URL दर्ज करें (वैकल्पिक)", diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index c00d594a2e1b..8e9a210b3a28 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -344,6 +344,7 @@ "awsSessionToken": "AWS Session Token", "awsRegion": "AWS Region", "awsCrossRegion": "Gunakan cross-region inference", + "awsGlobalInference": "Gunakan inferensi Global (pilih Wilayah AWS optimal secara otomatis)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Gunakan VPC endpoint kustom", "vpcEndpointUrlPlaceholder": "Masukkan VPC Endpoint URL (opsional)", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index 0a1093bc500f..57e31ba7101b 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "Token di sessione AWS", "awsRegion": "Regione AWS", "awsCrossRegion": "Usa inferenza cross-regione", + "awsGlobalInference": "Usa l'inferenza globale (selezione automatica della regione AWS ottimale)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Usa endpoint VPC personalizzato", "vpcEndpointUrlPlaceholder": "Inserisci URL endpoint VPC (opzionale)", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index 33808bc1cb6b..39e1ec3c86fa 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWSセッショントークン", "awsRegion": "AWSリージョン", "awsCrossRegion": "クロスリージョン推論を使用", + "awsGlobalInference": "グローバル推論を使用する(最適なAWSリージョンを自動選択)", "awsBedrockVpc": { "useCustomVpcEndpoint": "カスタムVPCエンドポイントを使用", "vpcEndpointUrlPlaceholder": "VPCエンドポイントURLを入力(任意)", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 5790a84cf742..dd6c54a1c673 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS 세션 토큰", "awsRegion": "AWS 리전", "awsCrossRegion": "교차 리전 추론 사용", + "awsGlobalInference": "글로벌 추론 사용(최적의 AWS 리전 자동 선택)", "awsBedrockVpc": { "useCustomVpcEndpoint": "사용자 지정 VPC 엔드포인트 사용", "vpcEndpointUrlPlaceholder": "VPC 엔드포인트 URL 입력 (선택사항)", diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index 02bc4377c66a..f14519b15665 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS-sessietoken", "awsRegion": "AWS-regio", "awsCrossRegion": "Gebruik cross-region inference", + "awsGlobalInference": "Gebruik wereldwijde inferentie (automatische selectie van optimale AWS-regio)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Aangepast VPC-eindpunt gebruiken", "vpcEndpointUrlPlaceholder": "Voer VPC-eindpunt URL in (optioneel)", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index e34dc66e4a02..dfd8cabfc255 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "Token sesji AWS", "awsRegion": "Region AWS", "awsCrossRegion": "Użyj wnioskowania międzyregionalnego", + "awsGlobalInference": "Użyj globalnej inferencji (automatyczny wybór optymalnego regionu AWS)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Użyj niestandardowego punktu końcowego VPC", "vpcEndpointUrlPlaceholder": "Wprowadź URL punktu końcowego VPC (opcjonalnie)", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index 5549c160b7d1..a037b7c14764 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "Token de Sessão AWS", "awsRegion": "Região AWS", "awsCrossRegion": "Usar inferência entre regiões", + "awsGlobalInference": "Usar inferência global (selecionar automaticamente a região ideal da AWS)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Usar endpoint VPC personalizado", "vpcEndpointUrlPlaceholder": "Digite a URL do endpoint VPC (opcional)", diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index 8883cc921486..55d94d9a0749 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS Session Token", "awsRegion": "Регион AWS", "awsCrossRegion": "Использовать кросс-региональный вывод", + "awsGlobalInference": "Использовать глобальный вывод (автоматический выбор оптимального региона AWS)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Использовать пользовательскую конечную точку VPC", "vpcEndpointUrlPlaceholder": "Введите URL конечной точки VPC (опционально)", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index f799be896150..66ddea76169f 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS Oturum Belirteci", "awsRegion": "AWS Bölgesi", "awsCrossRegion": "Bölgeler arası çıkarım kullan", + "awsGlobalInference": "Genel çıkarımı kullan (en uygun AWS Bölgesini otomatik seç)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Özel VPC uç noktası kullan", "vpcEndpointUrlPlaceholder": "VPC uç noktası URL'sini girin (isteğe bağlı)", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index eaafa5fef195..1c7e1161caa3 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "Token phiên AWS", "awsRegion": "Vùng AWS", "awsCrossRegion": "Sử dụng suy luận liên vùng", + "awsGlobalInference": "Sử dụng suy luận toàn cầu (tự động chọn Khu vực AWS tối ưu)", "awsBedrockVpc": { "useCustomVpcEndpoint": "Sử dụng điểm cuối VPC tùy chỉnh", "vpcEndpointUrlPlaceholder": "Nhập URL điểm cuối VPC (tùy chọn)", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index 40b3e8d3ab82..dc2840b309c5 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS 会话Token", "awsRegion": "AWS 区域", "awsCrossRegion": "使用跨区域推理", + "awsGlobalInference": "使用全局推理(自动选择最佳 AWS 区域)", "awsBedrockVpc": { "useCustomVpcEndpoint": "使用自定义 VPC 端点", "vpcEndpointUrlPlaceholder": "输入 VPC 端点 URL(可选)", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index c72d684abbe8..d0eb670786b1 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -340,6 +340,7 @@ "awsSessionToken": "AWS 工作階段權杖", "awsRegion": "AWS 區域", "awsCrossRegion": "使用跨區域推論", + "awsGlobalInference": "使用全域推論 (自動選取最佳 AWS 區域)", "awsBedrockVpc": { "useCustomVpcEndpoint": "使用自訂 VPC 端點", "vpcEndpointUrlPlaceholder": "輸入 VPC 端點 URL(選填)",