From 023a6a39fb34b1c16a9946b64db9e32b96ecd809 Mon Sep 17 00:00:00 2001 From: Joe Still Date: Thu, 27 Mar 2025 12:56:28 -0500 Subject: [PATCH] #1561: Permit bedrockOptions in AWS_BEDROCK_CONFIG --- app/lib/modules/llm/providers/amazon-bedrock.ts | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/app/lib/modules/llm/providers/amazon-bedrock.ts b/app/lib/modules/llm/providers/amazon-bedrock.ts index 6a4cbc961b..ac242696a9 100644 --- a/app/lib/modules/llm/providers/amazon-bedrock.ts +++ b/app/lib/modules/llm/providers/amazon-bedrock.ts @@ -2,14 +2,7 @@ import { BaseProvider } from '~/lib/modules/llm/base-provider'; import type { ModelInfo } from '~/lib/modules/llm/types'; import type { LanguageModelV1 } from 'ai'; import type { IProviderSetting } from '~/types/model'; -import { createAmazonBedrock } from '@ai-sdk/amazon-bedrock'; - -interface AWSBedRockConfig { - region: string; - accessKeyId: string; - secretAccessKey: string; - sessionToken?: string; -} +import { createAmazonBedrock, type AmazonBedrockProviderSettings } from '@ai-sdk/amazon-bedrock'; export default class AmazonBedrockProvider extends BaseProvider { name = 'AmazonBedrock'; @@ -64,8 +57,8 @@ export default class AmazonBedrockProvider extends BaseProvider { }, ]; - private _parseAndValidateConfig(apiKey: string): AWSBedRockConfig { - let parsedConfig: AWSBedRockConfig; + private _parseAndValidateConfig(apiKey: string): AmazonBedrockProviderSettings { + let parsedConfig: AmazonBedrockProviderSettings; try { parsedConfig = JSON.parse(apiKey); @@ -75,7 +68,7 @@ export default class AmazonBedrockProvider extends BaseProvider { ); } - const { region, accessKeyId, secretAccessKey, sessionToken } = parsedConfig; + const { region, accessKeyId, secretAccessKey, sessionToken, bedrockOptions } = parsedConfig; if (!region || !accessKeyId || !secretAccessKey) { throw new Error( @@ -88,6 +81,7 @@ export default class AmazonBedrockProvider extends BaseProvider { accessKeyId, secretAccessKey, ...(sessionToken && { sessionToken }), + ...(bedrockOptions && { bedrockOptions }), }; }