From 56746c240fe6d854c4e468ffb2bc51427fd0c05a Mon Sep 17 00:00:00 2001 From: Parham Saidi <parham@parha.me> Date: Fri, 12 Jul 2024 18:47:49 +0200 Subject: [PATCH] fix: bedrock handle empty content and added max tokens export (#1034) --- .changeset/eleven-colts-sniff.md | 5 +++++ packages/community/src/index.ts | 6 +++++- packages/community/src/llm/bedrock/base.ts | 12 ++++++++++++ packages/community/src/llm/bedrock/utils.ts | 4 ++-- 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 .changeset/eleven-colts-sniff.md diff --git a/.changeset/eleven-colts-sniff.md b/.changeset/eleven-colts-sniff.md new file mode 100644 index 000000000..b747a28c9 --- /dev/null +++ b/.changeset/eleven-colts-sniff.md @@ -0,0 +1,5 @@ +--- +"@llamaindex/community": patch +--- + +fix: llama3 patched to handle empty content (can happen with system) and added max tokens export diff --git a/packages/community/src/index.ts b/packages/community/src/index.ts index 457f7602b..57a5cac79 100644 --- a/packages/community/src/index.ts +++ b/packages/community/src/index.ts @@ -1 +1,5 @@ -export { BEDROCK_MODELS, Bedrock } from "./llm/bedrock/base.js"; +export { + BEDROCK_MODELS, + BEDROCK_MODEL_MAX_TOKENS, + Bedrock, +} from "./llm/bedrock/base.js"; diff --git a/packages/community/src/llm/bedrock/base.ts b/packages/community/src/llm/bedrock/base.ts index 1c04a88ab..6dd056bc6 100644 --- a/packages/community/src/llm/bedrock/base.ts +++ b/packages/community/src/llm/bedrock/base.ts @@ -150,6 +150,18 @@ export type BedrockModelParams = { maxTokens?: number; }; +export const BEDROCK_MODEL_MAX_TOKENS: Partial<Record<BEDROCK_MODELS, number>> = + { + [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_SONNET]: 4096, + [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_HAIKU]: 4096, + [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_OPUS]: 4096, + [BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET]: 4096, + [BEDROCK_MODELS.META_LLAMA2_13B_CHAT]: 2048, + [BEDROCK_MODELS.META_LLAMA2_70B_CHAT]: 2048, + [BEDROCK_MODELS.META_LLAMA3_8B_INSTRUCT]: 2048, + [BEDROCK_MODELS.META_LLAMA3_70B_INSTRUCT]: 2048, + }; + const DEFAULT_BEDROCK_PARAMS = { temperature: 0.1, topP: 1, diff --git a/packages/community/src/llm/bedrock/utils.ts b/packages/community/src/llm/bedrock/utils.ts index b26fc385f..217c5a4d5 100644 --- a/packages/community/src/llm/bedrock/utils.ts +++ b/packages/community/src/llm/bedrock/utils.ts @@ -154,10 +154,10 @@ export const mapChatMessagesToMetaMessages = <T extends ChatMessage>( messages: T[], ): MetaMessage[] => { return messages.map((msg) => { - let content: string; + let content: string = ""; if (typeof msg.content === "string") { content = msg.content; - } else { + } else if (msg.content.length) { content = (msg.content[0] as MessageContentTextDetail).text; } return { -- GitLab