diff --git a/services/libs/common_services/src/services/llm.service.ts b/services/libs/common_services/src/services/llm.service.ts index 5443d4506c..dac53c6ed9 100644 --- a/services/libs/common_services/src/services/llm.service.ts +++ b/services/libs/common_services/src/services/llm.service.ts @@ -26,6 +26,10 @@ export interface IBedrockClientCredentials { secretAccessKey: string } +function firstTextBlock(content: Array<{ type?: string; text?: string }>): string { + return content.find((block) => block.type === 'text')?.text ?? content[0]?.text ?? '' +} + export class LlmService extends LoggerBase { private readonly clientRegionMap: Map private readonly qx: QueryExecutor @@ -134,7 +138,7 @@ export class LlmService extends LoggerBase { const inputTokenCount = body.usage.input_tokens const outputTokenCount = body.usage.output_tokens - const answer = body.content[0].text + const answer = firstTextBlock(body.content) const pricing = LLM_MODEL_PRICING_MAP[settings.modelId] diff --git a/services/libs/types/src/enums/llm.ts b/services/libs/types/src/enums/llm.ts index 6f46889649..6094cd2df7 100644 --- a/services/libs/types/src/enums/llm.ts +++ b/services/libs/types/src/enums/llm.ts @@ -3,6 +3,7 @@ export enum LlmModelType { CLAUDE_3_5_SONNET_V2 = 'anthropic.claude-3-5-sonnet-20241022-v2:0', CLAUDE_3_OPUS = 'anthropic.claude-3-opus-20240229-v1:0', CLAUDE_SONNET_4 = 'us.anthropic.claude-sonnet-4-20250514-v1:0', + CLAUDE_SONNET_5_5 = 'us.anthropic.claude-sonnet-5-5', CLAUDE_HAIKU_4_5 = 'us.anthropic.claude-haiku-4-5-20251001-v1:0', } diff --git a/services/libs/types/src/llm.ts b/services/libs/types/src/llm.ts index 591c31f149..9c44e309ba 100644 --- a/services/libs/types/src/llm.ts +++ b/services/libs/types/src/llm.ts @@ -34,6 +34,7 @@ export const LLM_MODEL_REGION_MAP: Record = { [LlmModelType.CLAUDE_3_5_SONNET]: 'us-east-1', [LlmModelType.CLAUDE_3_5_SONNET_V2]: 'us-west-2', [LlmModelType.CLAUDE_SONNET_4]: 'us-east-1', + [LlmModelType.CLAUDE_SONNET_5_5]: 'us-east-1', [LlmModelType.CLAUDE_HAIKU_4_5]: 'us-east-1', } @@ -55,6 +56,10 @@ export const LLM_MODEL_PRICING_MAP: Record = { costPer1000InputTokens: 0.003, costPer1000OutputTokens: 0.015, }, + [LlmModelType.CLAUDE_SONNET_5_5]: { + costPer1000InputTokens: 0.002, + costPer1000OutputTokens: 0.01, + }, [LlmModelType.CLAUDE_HAIKU_4_5]: { costPer1000InputTokens: 0.001, costPer1000OutputTokens: 0.005, @@ -159,11 +164,11 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.PROJECT_EVALUATION]: { - modelId: LlmModelType.CLAUDE_SONNET_4, + modelId: LlmModelType.CLAUDE_SONNET_5_5, arguments: { max_tokens: 2000, anthropic_version: 'bedrock-2023-05-31', - temperature: 0, + thinking: { type: 'between_tools' }, }, }, [LlmQueryType.ONBOARDING_REQUEST_PARSING]: {