[Frontend] add tools for dsv32 developer role (#30040)

Signed-off-by: pridejcyang <pridejcyang@tencent.com>
Co-authored-by: pridejcyang <pridejcyang@tencent.com>
Co-authored-by: Jee Jee Li <pandaleefree@gmail.com>
This commit is contained in:
yjc9696 2025-12-15 23:08:47 +08:00 committed by GitHub
parent d0502b4928
commit 855b101d75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -24,6 +24,7 @@ from openai.types.chat import (
ChatCompletionContentPartInputAudioParam,
ChatCompletionContentPartRefusalParam,
ChatCompletionContentPartTextParam,
ChatCompletionFunctionToolParam,
ChatCompletionMessageToolCallParam,
ChatCompletionToolMessageParam,
)
@ -269,6 +270,9 @@ class CustomChatCompletionMessageParam(TypedDict, total=False):
reasoning: str | None
"""The reasoning content for interleaved thinking."""
tools: list[ChatCompletionFunctionToolParam] | None
"""The tools for developer role."""
ChatCompletionMessageParam: TypeAlias = (
OpenAIChatCompletionMessageParam
@ -300,6 +304,9 @@ class ConversationMessage(TypedDict, total=False):
reasoning_content: str | None
"""Deprecated: The reasoning content for interleaved thinking."""
tools: list[ChatCompletionFunctionToolParam] | None
"""The tools for developer role."""
# Passed in by user
ChatTemplateContentFormatOption = Literal["auto", "string", "openai"]
@ -1619,6 +1626,8 @@ def _parse_chat_message_content(
if "name" in message and isinstance(message["name"], str):
result_msg["name"] = message["name"]
if role == "developer":
result_msg["tools"] = message.get("tools", None)
return result