-
Notifications
You must be signed in to change notification settings - Fork 470
Open
Labels
Description
Tracer Version(s)
4.0.0
Python Version(s)
3.13.2
Pip Version(s)
N/A
Bug Report
It seems like when running an application that initializes an OpenAI client with function as an api key isn't possible, even with no LLM observability explicitly enabled.
Expected behaviour:
- ddtrace doesn't block the application from running, especially with no LLM observability configured explicitly.
Reproduction Code
import logging
import azure.identity
import openai
logging.basicConfig(level=logging.ERROR)
OPENAI_AZURE_URL = "https://foo.openai.azure.com/openai/v1/"
OPENAI_MODEL = "gpt-4.1-nano"
token_provider = azure.identity.get_bearer_token_provider(
azure.identity.AzureCliCredential(),
"https://cognitiveservices.azure.com/.default",
)
client = openai.OpenAI(base_url=OPENAI_AZURE_URL, api_key=token_provider)Run with ddtrace-run python sample.py or DD_LLMOBS_ENABLED=false ddtrace-run python sample.py
Error Logs
Traceback (most recent call last):
File "/home/.../test_ddtrace_fail.py", line 16, in <module>
client = openai.OpenAI(base_url=OPENAI_AZURE_URL, api_key=token_provider)
File "/home/.../.venv/lib/python3.13/site-packages/ddtrace/contrib/internal/trace_utils.py", line 315, in wrapper
return func(mod, pin, wrapped, instance, args, kwargs)
File "/home/.../.venv/lib/python3.13/site-packages/ddtrace/contrib/internal/openai/patch.py", line 200, in patched_client_init
integration.user_api_key = api_key
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/.../.venv/lib/python3.13/site-packages/ddtrace/llmobs/_integrations/openai.py", line 60, in user_api_key
self._user_api_key = "sk-...%s" % value[-4:]
~~~~~^^^^^
TypeError: 'function' object is not subscriptable
Libraries in Use
ddtrace==4.0.0
openai==2.9.0
azure-identity==1.25.1
Operating System
Ubuntu 24.04