* Add azure deployments + an example/tutorial for using Azure endpoints.
* Small change to the error response for the Azure API
* Adressed comeents
* Fix error message
* Add support for fine-tunning and files using the Azure API.
* Small changes + version bumps
* Version bump after merge
* fix typo
* adressed comments
* Fixed 2 small issues that cause unit tests to fail.
* Adressed comments
* Version bump
* Add support for fine-tunning and files using the Azure API.
* Small changes + version bumps
* Version bump after merge
* fix typo
* adressed comments
* Add an option to use Azure endpoints for the /completions operation.
* Add the azure endpoints option for the /search operation + small fixes.
* errata
* Adressed CR comments
- Add `.isort.cfg` and fix imports to match.
- Exit with status 1 instead of 0 on error in `openai`.
- Support `openai.api_key_path` variable to make it easy to have long-running processes with auto-updated keys.
- Drop support for unverified SSL connections.
- Substantially simplify HTTP client code. Now that we use `requests` for everything, we do not need distinct `HTTPClient` and `APIRequestor` abstractions, and we can use the `requests` implementation for multipart data, rather than our own.
- Drop vestigial code originally from the Stripe client. For example, there was a bunch of code related to an idempotency framework; OpenAI does not have an idempotency framework.
- Drop support for `APIResource.delete` as an instance method; it is just a class method now.
- Drop support for `APIResource.save`; use `APIResource.modify` instead. This substantially simplifies API resources, since they no longer need to track changed fields, and there's less risk of race conditions. And the only thing it could be used for is changing the number of replicas an engine had, which does not justify the complexity of the code.
- Drop the request-metrics code. It is unused.