Browse Source

fix: token count includes base64 string of input images (#5868)

Masashi Tomooka 9 months ago
parent
commit
3b23d6764f
1 changed files with 4 additions and 1 deletions
  1. 4 1
      api/core/model_runtime/model_providers/bedrock/llm/llm.py

+ 4 - 1
api/core/model_runtime/model_providers/bedrock/llm/llm.py

@@ -554,7 +554,10 @@ class BedrockLargeLanguageModel(LargeLanguageModel):
         content = message.content
 
         if isinstance(message, UserPromptMessage):
-            message_text = f"{human_prompt_prefix} {content} {human_prompt_postfix}"
+            body = content
+            if (isinstance(content, list)):
+                body = "".join([c.data for c in content if c.type == PromptMessageContentType.TEXT])
+            message_text = f"{human_prompt_prefix} {body} {human_prompt_postfix}"
         elif isinstance(message, AssistantPromptMessage):
             message_text = f"{ai_prompt} {content}"
         elif isinstance(message, SystemPromptMessage):