I think this is a bug
When it returns a status of “completed”, the output looks as below
#Run(id='run_7PwxFeLM3g22swyW26oNvQfd', assistant_id='asst_j7x9jBZSGmiLRvggElZ8l9Z4', cancelled_at=None, completed_at=1701024960, created_at=1701024957, expires_at=None, failed_at=None, file_ids=[], instructions='You are a helpful weather bot. You use the provided functions to answer questions', last_error=None, metadata={}, model='gpt-4-1106-preview', object='thread.run', required_action=None, started_at=1701024957, status='completed', thread_id='thread_P1IbW8PcP7j0eb3UHtKBJkwj', tools=[ToolAssistantToolsFunction(function=FunctionDefinition(name='getCurrentWeather', parameters={'type': 'object', 'properties': {'location': {'type': 'string', 'description': 'The city and state e.g. San Francisco, CA'}, 'unit': {'type': 'string', 'enum': ['c', 'f']}}, 'required': ['location', 'unit']}, description='Get the weather in location'), type='function')])
When it returns a status of “requires_action”, the output looks as below
#Run(id='run_8aCl6wiotKMBTcQpUtUgkTv4', assistant_id='asst_j7x9jBZSGmiLRvggElZ8l9Z4', cancelled_at=None, completed_at=None, created_at=1701025110, expires_at=1701025710, failed_at=None, file_ids=[], instructions='You are a helpful weather bot. You use the provided functions to answer questions', last_error=None, metadata={}, model='gpt-4-1106-preview', object='thread.run', required_action=RequiredAction(submit_tool_outputs=RequiredActionSubmitToolOutputs(tool_calls=[RequiredActionFunctionToolCall(id='call_jpKWGWmmHfbGYkZmRlzKxz8Q', function=Function(arguments='{"location":"CA","unit":"f"}', name='getCurrentWeather'), type='function')]), type='submit_tool_outputs'), started_at=1701025110, status='requires_action', thread_id='thread_TQTtwXKYnyrYjDj3xRN1hPwg', tools=[ToolAssistantToolsFunction(function=FunctionDefinition(name='getCurrentWeather', parameters={'type': 'object', 'properties': {'location': {'type': 'string', 'description': 'The city and state e.g. San Francisco, CA'}, 'unit': {'type': 'string', 'enum': ['c', 'f']}}, 'required': ['location', 'unit']}, description='Get the weather in location'), type='function')])
In both cases, it is identifying it as a function call, but the lifecycle and output is different. I think this is not how it was intended to work.