Add support for 'developer' role in chat messages (#209)

This commit is contained in:
Angélica de Oliveira
2025-12-09 11:26:10 +08:00
committed by GitHub
parent b41633b826
commit 1a7f55b89b
2 changed files with 9 additions and 2 deletions
+2 -1
View File
@@ -24,6 +24,7 @@ from api.schema import (
Choice, Choice,
ChoiceDelta, ChoiceDelta,
CompletionTokensDetails, CompletionTokensDetails,
DeveloperMessage,
Embedding, Embedding,
EmbeddingsRequest, EmbeddingsRequest,
EmbeddingsResponse, EmbeddingsResponse,
@@ -455,7 +456,7 @@ class BedrockModel(BaseChatModel):
""" """
system_prompts = [] system_prompts = []
for message in chat_request.messages: for message in chat_request.messages:
if message.role != "system": if message.role not in ("system", "developer"):
continue continue
if not isinstance(message.content, str): if not isinstance(message.content, str):
raise TypeError(f"System message content must be a string, got {type(message.content).__name__}") raise TypeError(f"System message content must be a string, got {type(message.content).__name__}")
+7 -1
View File
@@ -75,6 +75,12 @@ class ToolMessage(BaseModel):
tool_call_id: str tool_call_id: str
class DeveloperMessage(BaseModel):
name: str | None = None
role: Literal["developer"] = "developer"
content: str
class Function(BaseModel): class Function(BaseModel):
name: str name: str
description: str | None = None description: str | None = None
@@ -91,7 +97,7 @@ class StreamOptions(BaseModel):
class ChatRequest(BaseModel): class ChatRequest(BaseModel):
messages: list[SystemMessage | UserMessage | AssistantMessage | ToolMessage] messages: list[SystemMessage | UserMessage | AssistantMessage | ToolMessage | DeveloperMessage]
model: str = DEFAULT_MODEL model: str = DEFAULT_MODEL
frequency_penalty: float | None = Field(default=0.0, le=2.0, ge=-2.0) # Not used frequency_penalty: float | None = Field(default=0.0, le=2.0, ge=-2.0) # Not used
presence_penalty: float | None = Field(default=0.0, le=2.0, ge=-2.0) # Not used presence_penalty: float | None = Field(default=0.0, le=2.0, ge=-2.0) # Not used