From 1914b527083de83c189071db303407de0ddd021a Mon Sep 17 00:00:00 2001 From: patryktop <patryk.porebski@toptal.com> Date: Wed, 26 Feb 2025 23:38:14 +0100 Subject: [PATCH] feat: add Claude 3.7 Sonnet model to community package (#1683) --- .changeset/metal-moments-train.md | 5 +++++ .../community/src/llm/bedrock/anthropic/types.ts | 14 +++++++++++++- packages/community/src/llm/bedrock/index.ts | 13 +++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .changeset/metal-moments-train.md diff --git a/.changeset/metal-moments-train.md b/.changeset/metal-moments-train.md new file mode 100644 index 000000000..63f567edd --- /dev/null +++ b/.changeset/metal-moments-train.md @@ -0,0 +1,5 @@ +--- +"@llamaindex/community": patch +--- + +Added Claude 3.7 Sonnet support diff --git a/packages/community/src/llm/bedrock/anthropic/types.ts b/packages/community/src/llm/bedrock/anthropic/types.ts index 9dfbdb77e..ead00d1a9 100644 --- a/packages/community/src/llm/bedrock/anthropic/types.ts +++ b/packages/community/src/llm/bedrock/anthropic/types.ts @@ -6,7 +6,19 @@ export type ToolChoice = | { type: "auto" } | { type: "tool"; name: string }; -export type AnthropicAdditionalChatOptions = { toolChoice: ToolChoice }; +export interface ThinkingConfigDisabled { + type: "disabled"; +} + +export interface ThinkingConfigEnabled { + budget_tokens: number; + type: "enabled"; +} + +export type AnthropicAdditionalChatOptions = { + toolChoice: ToolChoice; + thinking?: ThinkingConfigDisabled | ThinkingConfigEnabled; +}; type Usage = { input_tokens: number; diff --git a/packages/community/src/llm/bedrock/index.ts b/packages/community/src/llm/bedrock/index.ts index d1873ee04..676544133 100644 --- a/packages/community/src/llm/bedrock/index.ts +++ b/packages/community/src/llm/bedrock/index.ts @@ -69,6 +69,7 @@ export const BEDROCK_MODELS = { ANTHROPIC_CLAUDE_3_5_SONNET: "anthropic.claude-3-5-sonnet-20240620-v1:0", ANTHROPIC_CLAUDE_3_5_SONNET_V2: "anthropic.claude-3-5-sonnet-20241022-v2:0", ANTHROPIC_CLAUDE_3_5_HAIKU: "anthropic.claude-3-5-haiku-20241022-v1:0", + ANTHROPIC_CLAUDE_3_7_SONNET: "anthropic.claude-3-7-sonnet-20250219-v1:0", META_LLAMA2_13B_CHAT: "meta.llama2-13b-chat-v1", META_LLAMA2_70B_CHAT: "meta.llama2-70b-chat-v1", META_LLAMA3_8B_INSTRUCT: "meta.llama3-8b-instruct-v1:0", @@ -100,6 +101,8 @@ export const INFERENCE_BEDROCK_MODELS = { "us.anthropic.claude-3-5-sonnet-20240620-v1:0", US_ANTHROPIC_CLAUDE_3_5_SONNET_V2: "us.anthropic.claude-3-5-sonnet-20241022-v2:0", + US_ANTHROPIC_CLAUDE_3_7_SONNET: + "us.anthropic.claude-3-7-sonnet-20250219-v1:0", US_META_LLAMA_3_2_1B_INSTRUCT: "us.meta.llama3-2-1b-instruct-v1:0", US_META_LLAMA_3_2_3B_INSTRUCT: "us.meta.llama3-2-3b-instruct-v1:0", US_META_LLAMA_3_2_11B_INSTRUCT: "us.meta.llama3-2-11b-instruct-v1:0", @@ -113,6 +116,8 @@ export const INFERENCE_BEDROCK_MODELS = { EU_ANTHROPIC_CLAUDE_3_SONNET: "eu.anthropic.claude-3-sonnet-20240229-v1:0", EU_ANTHROPIC_CLAUDE_3_5_SONNET: "eu.anthropic.claude-3-5-sonnet-20240620-v1:0", + EU_ANTHROPIC_CLAUDE_3_7_SONNET: + "eu.anthropic.claude-3-7-sonnet-20250219-v1:0", EU_META_LLAMA_3_2_1B_INSTRUCT: "eu.meta.llama3-2-1b-instruct-v1:0", EU_META_LLAMA_3_2_3B_INSTRUCT: "eu.meta.llama3-2-3b-instruct-v1:0", }; @@ -132,6 +137,8 @@ export const INFERENCE_TO_BEDROCK_MAP: Record< BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_SONNET, [INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_5_SONNET]: BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET, + [INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_7_SONNET]: + BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET, [INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_5_SONNET_V2]: BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2, [INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_5_HAIKU]: @@ -158,6 +165,8 @@ export const INFERENCE_TO_BEDROCK_MAP: Record< BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_SONNET, [INFERENCE_BEDROCK_MODELS.EU_ANTHROPIC_CLAUDE_3_5_SONNET]: BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET, + [INFERENCE_BEDROCK_MODELS.EU_ANTHROPIC_CLAUDE_3_7_SONNET]: + BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET, [INFERENCE_BEDROCK_MODELS.EU_META_LLAMA_3_2_1B_INSTRUCT]: BEDROCK_MODELS.META_LLAMA3_2_1B_INSTRUCT, [INFERENCE_BEDROCK_MODELS.EU_META_LLAMA_3_2_3B_INSTRUCT]: @@ -191,6 +200,7 @@ const CHAT_ONLY_MODELS = { [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET]: 200000, [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2]: 200000, [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU]: 200000, + [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET]: 200000, [BEDROCK_MODELS.META_LLAMA2_13B_CHAT]: 2048, [BEDROCK_MODELS.META_LLAMA2_70B_CHAT]: 4096, [BEDROCK_MODELS.META_LLAMA3_8B_INSTRUCT]: 8192, @@ -230,6 +240,7 @@ export const STREAMING_MODELS = new Set([ BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET, BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2, BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU, + BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET, BEDROCK_MODELS.META_LLAMA2_13B_CHAT, BEDROCK_MODELS.META_LLAMA2_70B_CHAT, BEDROCK_MODELS.META_LLAMA3_8B_INSTRUCT, @@ -256,6 +267,7 @@ export const TOOL_CALL_MODELS: BEDROCK_MODELS[] = [ BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET, BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2, BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU, + BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET, BEDROCK_MODELS.META_LLAMA3_1_405B_INSTRUCT, BEDROCK_MODELS.META_LLAMA3_2_1B_INSTRUCT, BEDROCK_MODELS.META_LLAMA3_2_3B_INSTRUCT, @@ -294,6 +306,7 @@ export const BEDROCK_MODEL_MAX_TOKENS: Partial<Record<BEDROCK_MODELS, number>> = [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET]: 4096, [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2]: 8192, [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU]: 8192, + [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET]: 8192, [BEDROCK_MODELS.META_LLAMA2_13B_CHAT]: 2048, [BEDROCK_MODELS.META_LLAMA2_70B_CHAT]: 2048, [BEDROCK_MODELS.META_LLAMA3_8B_INSTRUCT]: 2048, -- GitLab