diff --git a/ddtrace/contrib/internal/openai/patch.py b/ddtrace/contrib/internal/openai/patch.py index 77e936ebd7a..483bdcd3d65 100644 --- a/ddtrace/contrib/internal/openai/patch.py +++ b/ddtrace/contrib/internal/openai/patch.py @@ -185,11 +185,6 @@ def patched_client_init(openai, pin, func, instance, args, kwargs): func(*args, **kwargs) integration = openai._datadog_integration integration._client = instance - api_key = kwargs.get("api_key") - if api_key is None: - api_key = instance.api_key - if api_key is not None: - integration.user_api_key = api_key return diff --git a/ddtrace/llmobs/_integrations/openai.py b/ddtrace/llmobs/_integrations/openai.py index dcaff1dbfbd..ec387623200 100644 --- a/ddtrace/llmobs/_integrations/openai.py +++ b/ddtrace/llmobs/_integrations/openai.py @@ -50,20 +50,7 @@ def __init__(self, integration_config, openai): # object that is strongly linked with configuration. super().__init__(integration_config) self._openai = openai - self._user_api_key = None self._client = None - if self._openai.api_key is not None: - self.user_api_key = self._openai.api_key - - @property - def user_api_key(self) -> Optional[str]: - """Get a representation of the user API key for tagging.""" - return self._user_api_key - - @user_api_key.setter - def user_api_key(self, value: str) -> None: - # Match the API key representation that OpenAI uses in their UI. - self._user_api_key = "sk-...%s" % value[-4:] def trace(self, pin: Pin, operation_id: str, submit_to_llmobs: bool = False, **kwargs: Dict[str, Any]) -> Span: traced_operations = ( diff --git a/releasenotes/notes/fix-openai-remove-api-key-c372e143ca7f00f5.yaml b/releasenotes/notes/fix-openai-remove-api-key-c372e143ca7f00f5.yaml new file mode 100644 index 00000000000..f52874c36dc --- /dev/null +++ b/releasenotes/notes/fix-openai-remove-api-key-c372e143ca7f00f5.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - | + openai: Resolves an issue where instantiating an OpenAI client with a non-string API key resulted in parsing issues.