MCPcopy
hub / github.com/openai/openai-python / parse_function_tool_arguments

Function parse_function_tool_arguments

src/openai/lib/_parsing/_responses.py:166–185  ·  view source on GitHub ↗
(
    *,
    input_tools: Iterable[ToolParam] | Omit | None,
    function_call: ParsedResponseFunctionToolCall | ResponseFunctionToolCall,
)

Source from the content-addressed store, hash-verified

164
165
166def parse_function_tool_arguments(
167 *,
168 input_tools: Iterable[ToolParam] | Omit | None,
169 function_call: ParsedResponseFunctionToolCall | ResponseFunctionToolCall,
170) -> object:
171 if input_tools is None or not is_given(input_tools):
172 return None
173
174 input_tool = get_input_tool_by_name(input_tools=input_tools, name=function_call.name)
175 if not input_tool:
176 return None
177
178 tool = cast(object, input_tool)
179 if isinstance(tool, ResponsesPydanticFunctionTool):
180 return model_parse_json(tool.model, function_call.arguments)
181
182 if not input_tool.get("strict"):
183 return None
184
185 return json.loads(function_call.arguments)

Callers 2

parse_responseFunction · 0.70
_add_tool_done_eventMethod · 0.50

Calls 4

is_givenFunction · 0.85
model_parse_jsonFunction · 0.85
get_input_tool_by_nameFunction · 0.70
getMethod · 0.45

Tested by

no test coverage detected