zach commited on
Commit
49be7fc
·
1 Parent(s): d7356ce

Remove excessive logging from debugging

Browse files
src/app.py CHANGED
@@ -41,22 +41,17 @@ def process_prompt(prompt: str) -> str:
41
  Returns:
42
  tuple: The generated text and audio data from both Hume and ElevenLabs.
43
  """
44
- logger.debug(f"Entering process_prompt with prompt: {prompt}")
45
  try:
46
  # Validate prompt length before processing
47
  validate_prompt_length(prompt, PROMPT_MAX_LENGTH, PROMPT_MIN_LENGTH)
48
 
49
  # Generate text with Claude API
50
  generated_text = generate_text_with_claude(prompt)
51
- logger.debug(f"Generated text: {generated_text}")
52
 
53
- # Convert text to speech with Hume TTS API
54
  hume_audio = text_to_speech_with_hume(prompt, generated_text)
55
- logger.debug(f"Hume audio data: {len(hume_audio)} bytes")
56
-
57
- # Convert text to speech with ElevenLabs TTS API
58
  elevenlabs_audio = text_to_speech_with_elevenlabs(generated_text)
59
- logger.debug(f"ElevenLabs audio data: {len(elevenlabs_audio)} bytes")
60
 
61
  logger.info("Successfully processed prompt.")
62
  return generated_text, hume_audio, elevenlabs_audio
 
41
  Returns:
42
  tuple: The generated text and audio data from both Hume and ElevenLabs.
43
  """
44
+ logger.info(f"Processing prompt: {truncate_text(prompt, max_length=100)}")
45
  try:
46
  # Validate prompt length before processing
47
  validate_prompt_length(prompt, PROMPT_MAX_LENGTH, PROMPT_MIN_LENGTH)
48
 
49
  # Generate text with Claude API
50
  generated_text = generate_text_with_claude(prompt)
51
+ logger.info(f"Generated text (length={len(generated_text)} characters).")
52
 
 
53
  hume_audio = text_to_speech_with_hume(prompt, generated_text)
 
 
 
54
  elevenlabs_audio = text_to_speech_with_elevenlabs(generated_text)
 
55
 
56
  logger.info("Successfully processed prompt.")
57
  return generated_text, hume_audio, elevenlabs_audio
src/config.py CHANGED
@@ -51,4 +51,5 @@ def log_env_variable(var_name: str, value: str) -> None:
51
  """
52
  logger.debug(f"Environment variable '{var_name}' validated with value: {value}")
53
 
54
- log_env_variable("DEBUG", str(DEBUG))
 
 
51
  """
52
  logger.debug(f"Environment variable '{var_name}' validated with value: {value}")
53
 
54
+ if DEBUG:
55
+ logger.debug(f"DEBUG mode enabled.")
src/integrations/anthropic_api.py CHANGED
@@ -119,10 +119,7 @@ def generate_text_with_claude(prompt: str) -> str:
119
  >>> generate_text_with_claude("")
120
  "The prompt exceeds the maximum allowed length of 500 characters. Your prompt contains 512 characters."
121
  """
122
- # Log model, max tokens, and system prompt for debugging
123
- logger.debug(f"Using model: {anthropic_config.model}, max tokens: {anthropic_config.max_tokens}")
124
- logger.debug(f"System prompt: {truncate_text(anthropic_config.system_prompt)}")
125
- logger.debug(f"Preparing API request with prompt: {prompt[:50]}{'...' if len(prompt) > 50 else ''}")
126
 
127
  try:
128
  response: Message = anthropic_config.client.messages.create(
 
119
  >>> generate_text_with_claude("")
120
  "The prompt exceeds the maximum allowed length of 500 characters. Your prompt contains 512 characters."
121
  """
122
+ logger.debug(f"Generating text with Claude. Prompt length: {len(prompt)} characters.")
 
 
 
123
 
124
  try:
125
  response: Message = anthropic_config.client.messages.create(
src/integrations/elevenlabs_api.py CHANGED
@@ -90,10 +90,7 @@ def text_to_speech_with_elevenlabs(text: str) -> bytes:
90
  Raises:
91
  ElevenLabsException: If there is an error communicating with the ElevenLabs API or processing the response.
92
  """
93
- logger.debug(f"Generated text for TTS: {truncate_text(text)}")
94
- logger.debug(f"Using Voice ID: {elevenlabs_config.voice_id}")
95
- logger.debug(f"Using Model ID: {elevenlabs_config.model_id}")
96
- logger.debug(f"Using Output Format: {elevenlabs_config.output_format}")
97
 
98
  try:
99
  # Generate audio using the ElevenLabs SDK
@@ -106,7 +103,7 @@ def text_to_speech_with_elevenlabs(text: str) -> bytes:
106
 
107
  # Ensure the response is an iterator
108
  if not hasattr(audio_iterator, "__iter__") or not hasattr(audio_iterator, "__next__"):
109
- logger.error(f"Invalid audio iterator response: {audio_iterator}")
110
  raise ElevenLabsException("Invalid audio iterator received from ElevenLabs API.")
111
 
112
  # Combine chunks into a single bytes object
@@ -117,14 +114,11 @@ def text_to_speech_with_elevenlabs(text: str) -> bytes:
117
  logger.error("No audio data received from ElevenLabs API.")
118
  raise ElevenLabsException("Empty audio data received from ElevenLabs API.")
119
 
120
- logger.debug(f"Received binary audio data: {len(audio)} bytes")
121
  return audio
122
 
123
  except Exception as e:
124
- logger.exception(
125
- f"Error generating text-to-speech with ElevenLabs: {e}. "
126
- f"Text: {truncate_text(text)}, Voice ID: {elevenlabs_config.voice_id}"
127
- )
128
  raise ElevenLabsException(
129
  message=f"Failed to generate audio with ElevenLabs: {e}",
130
  original_exception=e,
 
90
  Raises:
91
  ElevenLabsException: If there is an error communicating with the ElevenLabs API or processing the response.
92
  """
93
+ logger.debug(f"Generating speech with ElevenLabs. Text length: {len(text)} characters.")
 
 
 
94
 
95
  try:
96
  # Generate audio using the ElevenLabs SDK
 
103
 
104
  # Ensure the response is an iterator
105
  if not hasattr(audio_iterator, "__iter__") or not hasattr(audio_iterator, "__next__"):
106
+ logger.error("Invalid audio iterator response.")
107
  raise ElevenLabsException("Invalid audio iterator received from ElevenLabs API.")
108
 
109
  # Combine chunks into a single bytes object
 
114
  logger.error("No audio data received from ElevenLabs API.")
115
  raise ElevenLabsException("Empty audio data received from ElevenLabs API.")
116
 
117
+ logger.info(f"Received ElevenLabs audio ({len(audio)} bytes).")
118
  return audio
119
 
120
  except Exception as e:
121
+ logger.exception(f"Error generating speech: {e}")
 
 
 
122
  raise ElevenLabsException(
123
  message=f"Failed to generate audio with ElevenLabs: {e}",
124
  original_exception=e,
src/integrations/hume_api.py CHANGED
@@ -78,8 +78,7 @@ def text_to_speech_with_hume(prompt: str, text: str) -> bytes:
78
  Raises:
79
  HumeException: If there is an error communicating with the Hume TTS API.
80
  """
81
- logger.debug(f"Preparing TTS request for prompt: {truncate_text(prompt)}")
82
- logger.debug(f"Generated text for TTS: {truncate_text(text)}")
83
 
84
  request_body = {
85
  "text": text,
@@ -95,21 +94,18 @@ def text_to_speech_with_hume(prompt: str, text: str) -> bytes:
95
  json=request_body,
96
  )
97
 
98
- # Log the status and content type for debugging
99
- logger.debug(f"Hume TTS API Response Status: {response.status_code}")
100
-
101
  if response.status_code != 200:
102
  logger.error(f"Hume TTS API Error: {response.status_code} - {response.text[:200]}... (truncated)")
103
  raise HumeException(f"Hume TTS API responded with status {response.status_code}: {response.text}")
104
 
105
- # If Content-Type is audio, return the binary audio data
106
  if response.headers.get("Content-Type", "").startswith("audio/"):
107
  audio_data = response.content # Raw binary audio data
108
- logger.debug(f"Received binary audio data: {len(audio_data)} bytes")
109
  return audio_data
110
 
111
  # Unexpected content type
112
- logger.error(f"Unexpected Content-Type: {response.headers.get('Content-Type', 'Unknown')}")
113
  raise HumeException(f"Unexpected Content-Type: {response.headers.get('Content-Type', 'Unknown')}")
114
 
115
  except requests.exceptions.RequestException as e:
@@ -119,7 +115,7 @@ def text_to_speech_with_hume(prompt: str, text: str) -> bytes:
119
  original_exception=e,
120
  )
121
  except Exception as e:
122
- logger.exception(f"Unexpected error: {e}")
123
  raise HumeException(
124
  message=f"Unexpected error while processing the Hume TTS response: {e}",
125
  original_exception=e,
 
78
  Raises:
79
  HumeException: If there is an error communicating with the Hume TTS API.
80
  """
81
+ logger.debug(f"Processing TTS with Hume. Prompt length: {len(prompt)} characters. Text length: {len(text)} characters.")
 
82
 
83
  request_body = {
84
  "text": text,
 
94
  json=request_body,
95
  )
96
 
97
+ # Validate response
 
 
98
  if response.status_code != 200:
99
  logger.error(f"Hume TTS API Error: {response.status_code} - {response.text[:200]}... (truncated)")
100
  raise HumeException(f"Hume TTS API responded with status {response.status_code}: {response.text}")
101
 
102
+ # Process audio response
103
  if response.headers.get("Content-Type", "").startswith("audio/"):
104
  audio_data = response.content # Raw binary audio data
105
+ logger.info(f"Received audio data from Hume ({len(response.content)} bytes).")
106
  return audio_data
107
 
108
  # Unexpected content type
 
109
  raise HumeException(f"Unexpected Content-Type: {response.headers.get('Content-Type', 'Unknown')}")
110
 
111
  except requests.exceptions.RequestException as e:
 
115
  original_exception=e,
116
  )
117
  except Exception as e:
118
+ logger.exception("Request to Hume TTS API failed.")
119
  raise HumeException(
120
  message=f"Unexpected error while processing the Hume TTS response: {e}",
121
  original_exception=e,
src/utils.py CHANGED
@@ -40,16 +40,14 @@ def truncate_text(text: str, max_length: int = 50) -> str:
40
  ''
41
  """
42
  if max_length <= 0:
43
- logger.warning(f"Invalid max_length: {max_length}. Returning empty string.")
44
  return ""
45
 
46
  is_truncated = len(text) > max_length
47
- truncated_text = text[:max_length]
48
  if is_truncated:
49
- truncated_text += "..."
50
 
51
- logger.debug(f"Truncating text to max_length={max_length}. Result: {truncated_text}")
52
- return truncated_text
53
 
54
 
55
  def validate_env_var(var_name: str) -> str:
@@ -76,7 +74,6 @@ def validate_env_var(var_name: str) -> str:
76
  ...
77
  ValueError: MISSING_VAR is not set. Please ensure it is defined in your environment variables.
78
  """
79
- logger.debug(f"Validating environment variable: {var_name}")
80
  value = os.environ.get(var_name, "")
81
  if not value:
82
  raise ValueError(f"{var_name} is not set. Please ensure it is defined in your environment variables.")
 
40
  ''
41
  """
42
  if max_length <= 0:
43
+ logger.warning(f"Invalid max_length={max_length}. Returning empty string.")
44
  return ""
45
 
46
  is_truncated = len(text) > max_length
 
47
  if is_truncated:
48
+ logger.debug(f"Truncated text to {max_length} characters.")
49
 
50
+ return text[:max_length] + ("..." if is_truncated else "")
 
51
 
52
 
53
  def validate_env_var(var_name: str) -> str:
 
74
  ...
75
  ValueError: MISSING_VAR is not set. Please ensure it is defined in your environment variables.
76
  """
 
77
  value = os.environ.get(var_name, "")
78
  if not value:
79
  raise ValueError(f"{var_name} is not set. Please ensure it is defined in your environment variables.")