diff --git a/.changeset/eleven-colts-sniff.md b/.changeset/eleven-colts-sniff.md new file mode 100644 index 0000000000000000000000000000000000000000..b747a28c9b009e95a435a4418aea1f685b5501e3 --- /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 457f7602b0504d941e2d64e7418a9cacce4ef02b..57a5cac7955b900dbc9d23eb710b5325d7093ee5 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 1c04a88abc1420e24bbfa8d1ee0dbdeba88a8d8d..6dd056bc6b050c2a3d9f90e9748d67d5537a4f69 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 b26fc385f054d565e199b551f9b2b03a9dbbc478..217c5a4d5df6aa145b0ec574b4a9381dc8704cdc 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 {