I am developing an application backend using Django Ninja and Django Channels. I am calling the embeddings endpoint inside an asyncio.create_task(). I am getting occasional APITimeoutError when using AsyncOpenAI on Python, sometimes it works, sometimes it doesn't. This happens only when accessing the the embeddings endpoint:
client = AsyncOpenAI(api_key=API_KEY, timeout=10, max_retries=5)
response = await client.embeddings.create(
model=model, input=input, dimensions=NUMBER_OF_EMBEDDING_DIMENSIONS
)
I get many logs of:
INFO Retrying request to /embeddings in 3.113995 seconds
And with that:
File "/usr/local/lib/python3.11/site-packages/openai/_base_client.py", line 1446, in _request
2024-01-28T20:50:50.823-03:00
return await self._retry_request(
2024-01-28T20:50:50.823-03:00
^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-01-28T20:50:50.823-03:00
File "/usr/local/lib/python3.11/site-packages/openai/_base_client.py", line 1530, in _retry_request
2024-01-28T20:50:50.823-03:00
return await self._request(
2024-01-28T20:50:50.823-03:00
^^^^^^^^^^^^^^^^^^^^
2024-01-28T20:50:50.823-03:00
File "/usr/local/lib/python3.11/site-packages/openai/_base_client.py", line 1456, in _request
2024-01-28T20:50:50.823-03:00
raise APITimeoutError(request=request) from err
2024-01-28T20:50:50.823-03:00
openai.APITimeoutError: Request timed out.
Maybe something related to networking in asyncio, or another framework I use? Is this an OpenAI problem or is my code probably messing something up?