O3-mini `tool_choice` not working during streaming? Also `parallel_tool_calls` just doesn't work with this model?

When streaming, using tool_choice: {"type": "function", "function": {"name": "get_weather"}} just doesn’t work with o3-mini and the model decides to just stream some arbitrary attempt of the function in chunk.choices[0].delta.content instead of the tool_calls field.

Replicable in the playground (notice I did 2 calls here, the first where I specified the function in the Tool choice which function to call which according to the docs is a " Forced Function: Call exactly one specific function." and the second where I put “required” and only 1 function in which it called it correctly):

Secondly, parallel_tool_calls breaks and gives the warning openai.BadRequestError: Error code: 400 - {'error': {'message': "Unsupported parameter: 'parallel_tool_calls' is not supported with this model.", 'type': 'invalid_request_error', 'param': 'parallel_tool_calls', 'code': 'unsupported_parameter'}}. Where is this documented? I dont see it anywhere in the parallel tool calls docs.

5 Likes

This issue seems related