Add support for 'developer' role in chat messages (#209)
This commit is contained in:
committed by
GitHub
parent
b41633b826
commit
1a7f55b89b
@@ -24,6 +24,7 @@ from api.schema import (
|
||||
Choice,
|
||||
ChoiceDelta,
|
||||
CompletionTokensDetails,
|
||||
DeveloperMessage,
|
||||
Embedding,
|
||||
EmbeddingsRequest,
|
||||
EmbeddingsResponse,
|
||||
@@ -455,7 +456,7 @@ class BedrockModel(BaseChatModel):
|
||||
"""
|
||||
system_prompts = []
|
||||
for message in chat_request.messages:
|
||||
if message.role != "system":
|
||||
if message.role not in ("system", "developer"):
|
||||
continue
|
||||
if not isinstance(message.content, str):
|
||||
raise TypeError(f"System message content must be a string, got {type(message.content).__name__}")
|
||||
|
||||
@@ -75,6 +75,12 @@ class ToolMessage(BaseModel):
|
||||
tool_call_id: str
|
||||
|
||||
|
||||
class DeveloperMessage(BaseModel):
|
||||
name: str | None = None
|
||||
role: Literal["developer"] = "developer"
|
||||
content: str
|
||||
|
||||
|
||||
class Function(BaseModel):
|
||||
name: str
|
||||
description: str | None = None
|
||||
@@ -91,7 +97,7 @@ class StreamOptions(BaseModel):
|
||||
|
||||
|
||||
class ChatRequest(BaseModel):
|
||||
messages: list[SystemMessage | UserMessage | AssistantMessage | ToolMessage]
|
||||
messages: list[SystemMessage | UserMessage | AssistantMessage | ToolMessage | DeveloperMessage]
|
||||
model: str = DEFAULT_MODEL
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user