Convert developer messages to user in Perplexity adapter

Perplexity doesn't support the "developer" role. Developer messages are
now converted to "user" before other transformations are applied.
This commit is contained in:
Paul Kompfner
2026-03-20 18:14:48 -04:00
parent 0d1b834770
commit 0530722c58
2 changed files with 41 additions and 0 deletions

View File

@@ -109,6 +109,12 @@ class PerplexityLLMAdapter(OpenAILLMAdapter):
messages = copy.deepcopy(messages)
# Step 0: Convert "developer" messages to "user".
# Perplexity doesn't support the "developer" role.
for msg in messages:
if msg.get("role") == "developer":
msg["role"] = "user"
# Step 1: Convert non-initial system messages to "user".
# Perplexity allows system messages at the start, but rejects them
# after any non-system message.