add support for azure managed identity auth
allow the user to pass the azure_ad_token_provider as in https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/managed-identity#chat-completions to AzureChat.
The included jupyter notebook quickstart_azure.ipynb run the same example as quickstart.ipynb, however, it uses AzureChat with a azure_ad_token_provider
Hi @andrescodas - thanks so much for putting this in! I was wondering whether it would be cleaner to use api_key for also the azure token provider. In the runner class, we could then check via callable(config["api_key"]). What do you think?
Hi!. I think it could be confusing, because these refer to different authorization methods. The api_key is interfaced in the headers with
headers = {"api_key": "my_api_key"}
while a token is interfaced with:
headers = {"Authorization": "Bearer my_token"}