report processor name in error logs

This commit is contained in:
Aleix Conchillo Flaqué
2024-06-13 09:36:01 -07:00
parent befb8db120
commit 099e65f3b6
14 changed files with 25 additions and 24 deletions

View File

@@ -73,7 +73,7 @@ class LangchainProcessor(FrameProcessor):
await self.push_frame(TextFrame(self.__get_token_value(token)))
await self.push_frame(LLMResponseEndFrame())
except GeneratorExit:
logger.warning("Generator was closed prematurely")
logger.warning(f"{self} generator was closed prematurely")
except Exception as e:
logger.error(f"An unknown error occurred: {e}")
logger.error(f"{self} an unknown error occurred: {e}")
await self.push_frame(LLMFullResponseEndFrame())

View File

@@ -122,7 +122,7 @@ class AnthropicLLMService(LLMService):
await self.push_frame(LLMResponseEndFrame())
except Exception as e:
logger.error(f"Anthropic exception: {e}")
logger.error(f"{self} exception: {e}")
finally:
await self.push_frame(LLMFullResponseEndFrame())

View File

@@ -72,7 +72,7 @@ class AzureTTSService(TTSService):
cancellation_details = result.cancellation_details
logger.warning(f"Speech synthesis canceled: {cancellation_details.reason}")
if cancellation_details.reason == CancellationReason.Error:
logger.error(f"Error details: {cancellation_details.error_details}")
logger.error(f"{self} error: {cancellation_details.error_details}")
class AzureLLMService(BaseOpenAILLMService):
@@ -143,7 +143,7 @@ class AzureImageGenServiceREST(ImageGenService):
while status != "succeeded":
attempts_left -= 1
if attempts_left == 0:
logger.error("Image generation timed out")
logger.error(f"{self} error: image generation timed out")
yield ErrorFrame("Image generation timed out")
return
@@ -156,7 +156,7 @@ class AzureImageGenServiceREST(ImageGenService):
image_url = json_response["result"]["data"][0]["url"] if json_response else None
if not image_url:
logger.error("Image generation failed")
logger.error(f"{self} error: image generation failed")
yield ErrorFrame("Image generation failed")
return

View File

@@ -37,7 +37,7 @@ class CartesiaTTSService(TTSService):
voice_id = voices[self._voice_name]["id"]
self._voice = self._client.get_voice_embedding(voice_id=voice_id)
except Exception as e:
logger.error(f"Cartesia initialization error: {e}")
logger.error(f"{self} initialization error: {e}")
def can_generate_metrics(self) -> bool:
return True
@@ -60,4 +60,4 @@ class CartesiaTTSService(TTSService):
await self.stop_ttfb_metrics()
yield AudioRawFrame(chunk["audio"], chunk["sampling_rate"], 1)
except Exception as e:
logger.error(f"Cartesia exception: {e}")
logger.error(f"{self} exception: {e}")

View File

@@ -74,7 +74,7 @@ class DeepgramTTSService(TTSService):
return
logger.error(
f"Error getting audio (status: {r.status}, error: {response_text})")
f"{self} error getting audio (status: {r.status}, error: {response_text})")
yield ErrorFrame(f"Error getting audio (status: {r.status}, error: {response_text})")
return
@@ -83,7 +83,7 @@ class DeepgramTTSService(TTSService):
frame = AudioRawFrame(audio=data, sample_rate=16000, num_channels=1)
yield frame
except Exception as e:
logger.error(f"Deepgram exception: {e}")
logger.error(f"{self} exception: {e}")
class DeepgramSTTService(AIService):

View File

@@ -55,7 +55,7 @@ class ElevenLabsTTSService(TTSService):
async with self._aiohttp_session.post(url, json=payload, headers=headers, params=querystring) as r:
if r.status != 200:
text = await r.text()
logger.error(f"Error getting audio (status: {r.status}, error: {text})")
logger.error(f"{self} error getting audio (status: {r.status}, error: {text})")
yield ErrorFrame(f"Error getting audio (status: {r.status}, error: {text})")
return

View File

@@ -62,7 +62,7 @@ class FalImageGenService(ImageGenService):
image_url = response["images"][0]["url"] if response else None
if not image_url:
logger.error("Image generation failed")
logger.error(f"{self} error: image generation failed")
yield ErrorFrame("Image generation failed")
return

View File

@@ -104,10 +104,10 @@ class GoogleLLMService(LLMService):
logger.debug(
f"LLM refused to generate content for safety reasons - {messages}.")
else:
logger.error(f"Error {e}")
logger.error(f"{self} error: {e}")
except Exception as e:
logger.error(f"Exception: {e}")
logger.error(f"{self} exception: {e}")
finally:
await self.push_frame(LLMFullResponseEndFrame())

View File

@@ -71,7 +71,7 @@ class MoondreamService(VisionService):
async def run_vision(self, frame: VisionImageRawFrame) -> AsyncGenerator[Frame, None]:
if not self._model:
logger.error("Moondream model not available")
logger.error(f"{self} error: Moondream model not available")
yield ErrorFrame("Moondream model not available")
return

View File

@@ -270,7 +270,7 @@ class OpenAIImageGenService(ImageGenService):
image_url = image.data[0].url
if not image_url:
logger.error(f"No image provided in response: {image}")
logger.error(f"{self} No image provided in response: {image}")
yield ErrorFrame("Image generation failed")
return
@@ -324,7 +324,8 @@ class OpenAITTSService(TTSService):
) as r:
if r.status_code != 200:
error = await r.text()
logger.error(f"Error getting audio (status: {r.status_code}, error: {error})")
logger.error(
f"{self} error getting audio (status: {r.status_code}, error: {error})")
yield ErrorFrame(f"Error getting audio (status: {r.status_code}, error: {error})")
return
async for chunk in r.iter_bytes(8192):
@@ -333,4 +334,4 @@ class OpenAITTSService(TTSService):
frame = AudioRawFrame(chunk, 24_000, 1)
yield frame
except BadRequestError as e:
logger.error(f"Error generating TTS: {e}")
logger.error(f"{self} error generating TTS: {e}")

View File

@@ -80,4 +80,4 @@ class PlayHTTTSService(TTSService):
frame = AudioRawFrame(chunk, 16000, 1)
yield frame
except Exception as e:
logger.error(f"Error generating TTS: {e}")
logger.error(f"{self} error generating TTS: {e}")

View File

@@ -72,8 +72,8 @@ class WhisperSTTService(STTService):
async def run_stt(self, audio: bytes) -> AsyncGenerator[Frame, None]:
"""Transcribes given audio using Whisper"""
if not self._model:
logger.error(f"{self} error: Whisper model not available")
yield ErrorFrame("Whisper model not available")
logger.error("Whisper model not available")
return
await self.start_ttfb_metrics()

View File

@@ -186,4 +186,4 @@ class BaseInputTransport(FrameProcessor):
except queue.Empty:
pass
except BaseException as e:
logger.error(f"Error reading audio frames: {e}")
logger.error(f"{self} error reading audio frames: {e}")

View File

@@ -201,7 +201,7 @@ class BaseOutputTransport(FrameProcessor):
except queue.Empty:
pass
except BaseException as e:
logger.error(f"Error processing sink queue: {e}")
logger.error(f"{self} error processing sink queue: {e}")
#
# Push frames task
@@ -270,7 +270,7 @@ class BaseOutputTransport(FrameProcessor):
except queue.Empty:
pass
except Exception as e:
logger.error(f"Error writing to camera: {e}")
logger.error(f"{self} error writing to camera: {e}")
#
# Audio out
@@ -286,5 +286,5 @@ class BaseOutputTransport(FrameProcessor):
buffer = buffer[self._audio_chunk_size:]
return buffer
except BaseException as e:
logger.error(f"Error writing audio frames: {e}")
logger.error(f"{self} error writing audio frames: {e}")
return buffer