Skip to content

Commit 1db1479

Browse files
authored
fix(anthropic_llm): Ignore non-text parts in the system prompt. (langgenius#11107)
1 parent cbb4e95 commit 1db1479

File tree

1 file changed

+9
-1
lines changed
  • api/core/model_runtime/model_providers/anthropic/llm

1 file changed

+9
-1
lines changed

api/core/model_runtime/model_providers/anthropic/llm/llm.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,15 @@ def _convert_prompt_messages(self, prompt_messages: list[PromptMessage]) -> tupl
461461
first_loop = True
462462
for message in prompt_messages:
463463
if isinstance(message, SystemPromptMessage):
464-
message.content = message.content.strip()
464+
if isinstance(message.content, str):
465+
message.content = message.content.strip()
466+
elif isinstance(message.content, list):
467+
# System prompt only support text
468+
message.content = "".join(
469+
c.data.strip() for c in message.content if isinstance(c, TextPromptMessageContent)
470+
)
471+
else:
472+
raise ValueError(f"Unknown system prompt message content type {type(message.content)}")
465473
if first_loop:
466474
system = message.content
467475
first_loop = False

0 commit comments

Comments
 (0)