diff --git a/services/apps/git_integration/src/crowdgit/services/maintainer/bedrock.py b/services/apps/git_integration/src/crowdgit/services/maintainer/bedrock.py index 4e47f6b8ee..42910f6dfd 100644 --- a/services/apps/git_integration/src/crowdgit/services/maintainer/bedrock.py +++ b/services/apps/git_integration/src/crowdgit/services/maintainer/bedrock.py @@ -72,7 +72,7 @@ async def invoke_bedrock( ) try: - modelId = "us.anthropic.claude-sonnet-4-20250514-v1:0" + modelId = "us.anthropic.claude-sonnet-4-5-20250929-v1:0" accept = "application/json" contentType = "application/json" response = await bedrock_client.invoke_model( diff --git a/services/apps/merge_suggestions_worker/src/workflows/mergeMembersWithLLM.ts b/services/apps/merge_suggestions_worker/src/workflows/mergeMembersWithLLM.ts index b75e25fad2..e32797c167 100644 --- a/services/apps/merge_suggestions_worker/src/workflows/mergeMembersWithLLM.ts +++ b/services/apps/merge_suggestions_worker/src/workflows/mergeMembersWithLLM.ts @@ -1,6 +1,6 @@ import { continueAsNew, proxyActivities } from '@temporalio/workflow' -import { LLMSuggestionVerdictType, MemberMergeSuggestionTable } from '@crowd/types' +import { LLMSuggestionVerdictType, LlmModelType, MemberMergeSuggestionTable } from '@crowd/types' import * as commonActivities from '../activities/common' import * as memberActivities from '../activities/memberMergeSuggestions' @@ -23,8 +23,8 @@ export async function mergeMembersWithLLM( args: IProcessMergeMemberSuggestionsWithLLM, ): Promise { const SUGGESTIONS_PER_RUN = 10 - const REGION = 'us-east-1' - const MODEL_ID = 'us.anthropic.claude-sonnet-4-20250514-v1:0' + const REGION = 'us-west-2' + const MODEL_ID = LlmModelType.CLAUDE_SONNET_4_5 const MODEL_ARGS = { max_tokens: 2000, anthropic_version: 'bedrock-2023-05-31', diff --git a/services/apps/merge_suggestions_worker/src/workflows/mergeOrganizationsWithLLM.ts b/services/apps/merge_suggestions_worker/src/workflows/mergeOrganizationsWithLLM.ts index 0db492a789..b25ec911a4 100644 --- a/services/apps/merge_suggestions_worker/src/workflows/mergeOrganizationsWithLLM.ts +++ b/services/apps/merge_suggestions_worker/src/workflows/mergeOrganizationsWithLLM.ts @@ -1,6 +1,10 @@ import { continueAsNew, proxyActivities } from '@temporalio/workflow' -import { LLMSuggestionVerdictType, OrganizationMergeSuggestionTable } from '@crowd/types' +import { + LLMSuggestionVerdictType, + LlmModelType, + OrganizationMergeSuggestionTable, +} from '@crowd/types' import * as commonActivities from '../activities/common' import * as organizationActivities from '../activities/organizationMergeSuggestions' @@ -22,8 +26,8 @@ export async function mergeOrganizationsWithLLM( args: IProcessMergeOrganizationSuggestionsWithLLM, ): Promise { const SUGGESTIONS_PER_RUN = 5 - const REGION = 'us-east-1' - const MODEL_ID = 'us.anthropic.claude-sonnet-4-20250514-v1:0' + const REGION = 'us-west-2' + const MODEL_ID = LlmModelType.CLAUDE_SONNET_4_5 const MODEL_ARGS = { max_tokens: 2000, anthropic_version: 'bedrock-2023-05-31', diff --git a/services/libs/types/src/enums/llm.ts b/services/libs/types/src/enums/llm.ts index b95b8dc3c5..c0f0de6113 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_4_5 = 'us.anthropic.claude-sonnet-4-5-20250929-v1:0', } export enum LlmQueryType { diff --git a/services/libs/types/src/llm.ts b/services/libs/types/src/llm.ts index 2e79cd2ff3..4400552542 100644 --- a/services/libs/types/src/llm.ts +++ b/services/libs/types/src/llm.ts @@ -32,6 +32,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_4_5]: 'us-west-2', } // to estimate costs - these numbers can change @@ -52,11 +53,15 @@ export const LLM_MODEL_PRICING_MAP: Record = { costPer1000InputTokens: 0.003, costPer1000OutputTokens: 0.015, }, + [LlmModelType.CLAUDE_SONNET_4_5]: { + costPer1000InputTokens: 0.003, + costPer1000OutputTokens: 0.015, + }, } export const LLM_SETTINGS: Record = { [LlmQueryType.MEMBER_ENRICHMENT]: { - modelId: LlmModelType.CLAUDE_3_5_SONNET, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 200000, anthropic_version: 'bedrock-2023-05-31', @@ -64,7 +69,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.MEMBER_ENRICHMENT_FIND_RELATED_LINKEDIN_PROFILES]: { - modelId: LlmModelType.CLAUDE_3_5_SONNET_V2, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 200000, anthropic_version: 'bedrock-2023-05-31', @@ -72,7 +77,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.MEMBER_ENRICHMENT_SQUASH_MULTIPLE_VALUE_ATTRIBUTES]: { - modelId: LlmModelType.CLAUDE_3_5_SONNET_V2, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 200000, anthropic_version: 'bedrock-2023-05-31', @@ -80,7 +85,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.MEMBER_ENRICHMENT_SQUASH_WORK_EXPERIENCES_FROM_MULTIPLE_SOURCES]: { - modelId: LlmModelType.CLAUDE_3_5_SONNET_V2, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 200000, anthropic_version: 'bedrock-2023-05-31', @@ -88,7 +93,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.MATCH_MAIN_GITHUB_ORGANIZATION_AND_DESCRIPTION]: { - modelId: LlmModelType.CLAUDE_3_5_SONNET_V2, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 200000, anthropic_version: 'bedrock-2023-05-31', @@ -96,7 +101,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.REPO_CATEGORIES]: { - modelId: LlmModelType.CLAUDE_3_5_SONNET_V2, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 200000, anthropic_version: 'bedrock-2023-05-31', @@ -104,7 +109,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.REPO_COLLECTIONS]: { - modelId: LlmModelType.CLAUDE_3_5_SONNET_V2, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 200000, anthropic_version: 'bedrock-2023-05-31', @@ -112,7 +117,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.MEMBER_BOT_VALIDATION]: { - modelId: LlmModelType.CLAUDE_SONNET_4, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 2000, anthropic_version: 'bedrock-2023-05-31', @@ -120,7 +125,7 @@ export const LLM_SETTINGS: Record = { }, }, [LlmQueryType.SELECT_MOST_RELEVANT_DOMAIN]: { - modelId: LlmModelType.CLAUDE_SONNET_4, + modelId: LlmModelType.CLAUDE_SONNET_4_5, arguments: { max_tokens: 2000, anthropic_version: 'bedrock-2023-05-31',