Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
Python's OpenAPI manager
run_openapi_operation
was hard-coded to use certain parameters that would ultimately be built up to make an API request. This didn't allow the model to know which parameters were actually defined as required in the OpenAPI spec and would cause errors during function calling.Description
This PR does a quite major overhaul on the openapi manager, with the caveat that the code is going to be refactored / cleaned up in a next iteration (we're pressed for time right now). In the
_create_function_from_operation
method, therest_operation_params
are now built up from the operation which means we included the required parameters and will have them during function calling. This allows us to properly build up the url, headers, request body and paths to make the API call.openapi_manager.py
file will be broken apart to separate files for classes/moels to clean it up.Contribution Checklist