diff --git a/apps/studio/lib/ai/bedrock.ts b/apps/studio/lib/ai/bedrock.ts index b5fde1a08dd..0299ee37ec0 100644 --- a/apps/studio/lib/ai/bedrock.ts +++ b/apps/studio/lib/ai/bedrock.ts @@ -14,10 +14,17 @@ const credentialProvider = createCredentialChain( }) ) -export const bedrock = createAmazonBedrock({ - credentialProvider, - region: process.env.AWS_BEDROCK_REGION, -}) +const bedrockForRegion = (region: string) => + createAmazonBedrock({ + credentialProvider, + region, + }) + +export const bedrockByRegion = { + us: bedrockForRegion('us-east-1'), + eu: bedrockForRegion('eu-west-1'), + apac: bedrockForRegion('ap-southeast-1'), +} export async function checkAwsCredentials() { try { diff --git a/apps/studio/lib/ai/model.ts b/apps/studio/lib/ai/model.ts index 9e6e04f68dd..5f25e503f0a 100644 --- a/apps/studio/lib/ai/model.ts +++ b/apps/studio/lib/ai/model.ts @@ -1,9 +1,13 @@ import { openai } from '@ai-sdk/openai' import { LanguageModel } from 'ai' -import { bedrock, checkAwsCredentials } from './bedrock' +import { bedrockByRegion, checkAwsCredentials } from './bedrock' export const modelsByProvider = { - bedrock: 'us.anthropic.claude-3-7-sonnet-20250219-v1:0', + bedrock: { + us: 'us.anthropic.claude-3-7-sonnet-20250219-v1:0', + eu: 'eu.anthropic.claude-3-7-sonnet-20250219-v1:0', + apac: 'apac.anthropic.claude-3-7-sonnet-20250219-v1:0', + }, openai: 'gpt-4.1-2025-04-14', } @@ -37,7 +41,7 @@ export async function getModel(): Promise { } return { - model: bedrock(modelsByProvider.bedrock), + model: bedrockByRegion.us(modelsByProvider.bedrock.us), } }