From 0ce45746184238279bc84caf42d5cf688d713c02 Mon Sep 17 00:00:00 2001 From: arnab812 Date: Sun, 23 Aug 2026 22:26:24 +0530 Subject: [PATCH] feat(openai): capture audio transcript deltas in streaming chat completions - Update _extract_streamed_openai_response to inspect delta.audio for streaming chunks - Extract and concatenate transcript tokens into completion["content"] - Ensure text output is captured in Langfuse dashboard traces when using audio modalities --- langfuse/openai.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/langfuse/openai.py b/langfuse/openai.py index 94d7d1393..0b6cddb24 100644 --- a/langfuse/openai.py +++ b/langfuse/openai.py @@ -800,6 +800,20 @@ def _extract_streamed_openai_response(resource: Any, chunks: Any) -> Any: else completion["content"] + delta.get("content", None) ) + # Handle streaming audio delta + audio_delta = delta.get("audio", None) + if audio_delta is not None: + if hasattr(audio_delta, "__dict__"): + audio_delta = audio_delta.__dict__ + + transcript_chunk = _get_attr_or_item(audio_delta, "transcript", None) + if transcript_chunk is not None: + completion["content"] = ( + transcript_chunk + if completion["content"] is None + else completion["content"] + transcript_chunk + ) + if delta.get("function_call", None) is not None: curr = completion["function_call"] tool_call_chunk = delta.get("function_call", None)