diff --git a/changelog/3422.fixed.md b/changelog/3422.fixed.md new file mode 100644 index 000000000..31b1d93c9 --- /dev/null +++ b/changelog/3422.fixed.md @@ -0,0 +1 @@ +- Fixed a bug in `traced_llm` where the model name in opentelemetry is shown unknown even though it is defined. diff --git a/src/pipecat/utils/tracing/service_decorators.py b/src/pipecat/utils/tracing/service_decorators.py index 22274ae8b..5bcfbd442 100644 --- a/src/pipecat/utils/tracing/service_decorators.py +++ b/src/pipecat/utils/tracing/service_decorators.py @@ -483,9 +483,10 @@ def traced_llm(func: Optional[Callable] = None, *, name: Optional[str] = None) - # Add all available attributes to the span attribute_kwargs = { "service_name": service_class_name, - "model": getattr( - self, getattr(self, "_full_model_name", "model_name"), "unknown" - ), + "model": getattr(self, "_full_model_name", None) + or getattr(self, "model_name", None) + or params.get("model") + or "unknown", "stream": True, # Most LLM services use streaming "parameters": params, }