mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-13 03:59:12 +00:00
fix(logging): handle Anthropic system prompt as list of content blocks (#36402)
This commit is contained in:
parent
254c2f6b3b
commit
2f52377777
1 changed files with 10 additions and 7 deletions
|
|
@ -5702,22 +5702,25 @@ class StandardLoggingPayloadSetup:
|
|||
@staticmethod
|
||||
def append_system_prompt_messages(kwargs: dict | None = None, messages: Any | None = None):
|
||||
"""
|
||||
Append system prompt messages to the messages
|
||||
Append system prompt messages to the messages.
|
||||
|
||||
Handles both string and list-of-content-blocks forms of `system`.
|
||||
"""
|
||||
if kwargs is not None:
|
||||
if kwargs.get("system") is not None and isinstance(kwargs.get("system"), str):
|
||||
system = kwargs.get("system")
|
||||
if system is not None:
|
||||
if messages is None:
|
||||
return [{"role": "system", "content": kwargs.get("system")}]
|
||||
return [{"role": "system", "content": system}]
|
||||
elif isinstance(messages, list):
|
||||
if len(messages) == 0:
|
||||
return [{"role": "system", "content": kwargs.get("system")}]
|
||||
return [{"role": "system", "content": system}]
|
||||
# check for duplicates
|
||||
if messages[0].get("role") == "system" and messages[0].get("content") == kwargs.get("system"):
|
||||
if messages[0].get("role") == "system" and messages[0].get("content") == system:
|
||||
return messages
|
||||
messages = [{"role": "system", "content": kwargs.get("system")}] + messages
|
||||
messages = [{"role": "system", "content": system}] + messages
|
||||
elif isinstance(messages, str):
|
||||
messages = [
|
||||
{"role": "system", "content": kwargs.get("system")},
|
||||
{"role": "system", "content": system},
|
||||
{"role": "user", "content": messages},
|
||||
]
|
||||
return messages
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue