From 713b642d416e9f0ca4bd7220c07712875c927e32 Mon Sep 17 00:00:00 2001 From: Yashwant Jodha <76436993+yashwantjodha@users.noreply.github.com> Date: Wed, 1 Nov 2023 00:08:12 +0530 Subject: [PATCH] Add support for Azure deployment endpoints (#809) --- examples/api_request_parallel_processor.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/api_request_parallel_processor.py b/examples/api_request_parallel_processor.py index 2ce6a135..542c355f 100644 --- a/examples/api_request_parallel_processor.py +++ b/examples/api_request_parallel_processor.py @@ -132,6 +132,9 @@ async def process_api_requests_from_file( # infer API endpoint and construct request header api_endpoint = api_endpoint_from_url(request_url) request_header = {"Authorization": f"Bearer {api_key}"} + # use api-key header for Azure deployments + if '/deployments' in request_url: + request_header = {"api-key": f"{api_key}"} # initialize trackers queue_of_requests_to_retry = asyncio.Queue() @@ -366,6 +369,9 @@ class APIRequest: def api_endpoint_from_url(request_url): """Extract the API endpoint from the request URL.""" match = re.search("^https://[^/]+/v\\d+/(.+)$", request_url) + if match is None: + # for Azure OpenAI deployment urls + match = re.search(r"^https://[^/]+/openai/deployments/[^/]+/(.+?)(\?|$)", request_url) return match[1]