From 20ddd243e97bf1553ed33efbc3e321e2fb34080e Mon Sep 17 00:00:00 2001 From: Brian Westphal Date: Thu, 26 Jun 2025 18:44:18 -0700 Subject: [PATCH] add max_version for deprecated imports In OpenAI 1.92.0 some paths for imports were migrated. This change implements a max_version to prevent deprecated `beta` imports which have migrated from being referenced on versions after. See issue: https://github.com/langfuse/langfuse/issues/7533 --- langfuse/openai.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/langfuse/openai.py b/langfuse/openai.py index 7d0f2a454..b3981eb40 100644 --- a/langfuse/openai.py +++ b/langfuse/openai.py @@ -60,6 +60,7 @@ class OpenAiDefinition: type: str sync: bool min_version: Optional[str] = None + max_version: Optional[str] = None OPENAI_METHODS_V0 = [ @@ -116,6 +117,7 @@ class OpenAiDefinition: type="chat", sync=True, min_version="1.50.0", + max_version="1.91.0", ), OpenAiDefinition( module="openai.resources.beta.chat.completions", @@ -124,6 +126,23 @@ class OpenAiDefinition: type="chat", sync=False, min_version="1.50.0", + max_version="1.91.0", + ), + OpenAiDefinition( + module="openai.resources.chat.completions", + object="Completions", + method="parse", + type="chat", + sync=True, + min_version="1.92.0", + ), + OpenAiDefinition( + module="openai.resources.chat.completions", + object="AsyncCompletions", + method="parse", + type="chat", + sync=False, + min_version="1.92.0", ), OpenAiDefinition( module="openai.resources.responses", @@ -799,6 +818,11 @@ def register_tracing(): ): continue + if resource.max_version is not None and Version(openai.__version__) > Version( + resource.max_version + ): + continue + wrap_function_wrapper( resource.module, f"{resource.object}.{resource.method}",