Sample to show passing in JSON schema for structured outputs (#2362)

This commit is contained in:
Evan Mattson
2025-11-21 10:42:46 +09:00
committed by GitHub
Unverified
parent cf13e35c73
commit 5bdf8a774a
4 changed files with 116 additions and 2 deletions
@@ -853,6 +853,7 @@ class ChatAgent(BaseAgent):
await self._async_exit_stack.enter_async_context(mcp_server)
final_tools.extend(mcp_server.functions)
merged_additional_options = additional_chat_options or {}
co = run_chat_options & ChatOptions(
model_id=model_id,
conversation_id=thread.service_thread_id,
@@ -871,7 +872,7 @@ class ChatAgent(BaseAgent):
tools=final_tools,
top_p=top_p,
user=user,
**(additional_chat_options or {}),
additional_properties=merged_additional_options, # type: ignore[arg-type]
)
# Filter chat_options from kwargs to prevent duplicate keyword argument
filtered_kwargs = {k: v for k, v in kwargs.items() if k != "chat_options"}
@@ -986,6 +987,7 @@ class ChatAgent(BaseAgent):
await self._async_exit_stack.enter_async_context(mcp_server)
final_tools.extend(mcp_server.functions)
merged_additional_options = additional_chat_options or {}
co = run_chat_options & ChatOptions(
conversation_id=thread.service_thread_id,
allow_multiple_tool_calls=allow_multiple_tool_calls,
@@ -1004,7 +1006,7 @@ class ChatAgent(BaseAgent):
tools=final_tools,
top_p=top_p,
user=user,
**(additional_chat_options or {}),
additional_properties=merged_additional_options, # type: ignore[arg-type]
)
# Filter chat_options from kwargs to prevent duplicate keyword argument