From d01876ee6050d469fa72b10a2f312de337be4769 Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Fri, 14 Nov 2025 12:13:49 -0500 Subject: [PATCH] Remove fallbacks in traced_llm --- src/pipecat/utils/tracing/service_decorators.py | 16 +++------------- uv.lock | 6 +++--- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/pipecat/utils/tracing/service_decorators.py b/src/pipecat/utils/tracing/service_decorators.py index 3c743c1a6..ead4aa9e8 100644 --- a/src/pipecat/utils/tracing/service_decorators.py +++ b/src/pipecat/utils/tracing/service_decorators.py @@ -23,7 +23,7 @@ if TYPE_CHECKING: from opentelemetry import context as context_api from opentelemetry import trace -from pipecat.processors.aggregators.llm_context import LLMContext +from pipecat.processors.aggregators.llm_context import NOT_GIVEN, LLMContext from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.utils.tracing.service_attributes import ( add_gemini_live_span_attributes, @@ -399,11 +399,6 @@ def traced_llm(func: Optional[Callable] = None, *, name: Optional[str] = None) - if hasattr(self, "get_llm_adapter"): adapter = self.get_llm_adapter() messages = adapter.get_messages_for_logging(context) - elif hasattr(context, "get_messages"): - # Fallback for unknown context types - messages = context.get_messages() - elif hasattr(context, "messages"): - messages = context.messages # Serialize messages if available if messages: @@ -424,15 +419,10 @@ def traced_llm(func: Optional[Callable] = None, *, name: Optional[str] = None) - if hasattr(self, "get_llm_adapter") and hasattr(context, "tools"): adapter = self.get_llm_adapter() tools = adapter.from_standard_tools(context.tools) - elif hasattr(context, "tools"): - # Fallback for unknown context types - tools = context.tools # Serialize and count tools if available - # Check if tools is not None and not NOT_GIVEN (using attribute check as fallback) - if tools is not None and not ( - hasattr(tools, "__name__") and tools.__name__ == "NOT_GIVEN" - ): + # Check if tools is not None and not NOT_GIVEN + if tools is not None and tools is not NOT_GIVEN: serialized_tools = json.dumps(tools) tool_count = len(tools) if isinstance(tools, list) else 1 diff --git a/uv.lock b/uv.lock index 0dc6c74f8..eabe03714 100644 --- a/uv.lock +++ b/uv.lock @@ -36,12 +36,12 @@ wheels = [ [[package]] name = "aic-sdk" -version = "1.0.2" +version = "1.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/51/90/b02e853e863c303f8456c689b42ac24ad403b781adc9642d0a91ed4bed7e/aic_sdk-1.0.2.tar.gz", hash = "sha256:239097dd3aaa8a8a0fd7542b75d2510cb34144caec796370639b7c636acbc56e", size = 32059, upload-time = "2025-08-24T09:20:03.9Z" } +sdist = { url = "https://files.pythonhosted.org/packages/99/83/bf38b95d98c67b8ebc574fb4a4f23c07a3740b51992d7522976173d30b98/aic_sdk-1.1.0.tar.gz", hash = "sha256:04e08df695581c8cb4db8acca20e73815e9f449e7bd08e0162fd55518c727963", size = 34954, upload-time = "2025-11-11T20:45:24.25Z" } [[package]] name = "aioboto3" @@ -4647,7 +4647,7 @@ docs = [ [package.metadata] requires-dist = [ { name = "accelerate", marker = "extra == 'moondream'", specifier = "~=1.10.0" }, - { name = "aic-sdk", marker = "extra == 'aic'", specifier = "~=1.0.1" }, + { name = "aic-sdk", marker = "extra == 'aic'", specifier = "~=1.1.0" }, { name = "aioboto3", marker = "extra == 'aws'", specifier = "~=15.0.0" }, { name = "aiofiles", specifier = ">=24.1.0,<25" }, { name = "aiohttp", specifier = ">=3.11.12,<4" },