Feature request: expose provider response/request ids (OpenAI Responses, Deepgram, ElevenLabs) without DEBUG logging
Feature request: surface the provider response id / request id for LLM (and TTS/STT) requests in a documented way
Why: when a provider has a slow or failed window (see #5842), the provider's support needs request ids to investigate. OpenAIResponsesLLMService receives the response id in response.created and keeps it in _current_response_id (services/openai/responses/llm.py ~L1096), and logs it only at DEBUG ("Response started: resp_…"). Running the whole process at DEBUG is not an option for us because the same module logs the full system instruction on every context frame at DEBUG (responses/llm.py ~L296; ours is ~12k tokens per turn), so in production we run INFO and the ids are lost.
Ask: a documented, public way to get the provider's response/request id per request without DEBUG logging, for example:
- include it in the existing
LLMUsageMetricsFrame/ metrics data (alongside token counts), or - an event (
on_response_started(service, response_id)), or - log the id at INFO on
response.created.
Same for TTS/STT services where the provider returns a request id in headers (Deepgram's dg-request-id, ElevenLabs' request-id): today we cannot attach those to a stored call record either.
Happy to open a PR if you tell me which shape you would accept.
Source: pipecat-ai/pipecat