Aadityaramrame commited on
Commit
62d4c39
·
verified ·
1 Parent(s): 3a80d74

Update summarizer/summarizer.py

Browse files
Files changed (1) hide show
  1. summarizer/summarizer.py +13 -7
summarizer/summarizer.py CHANGED
@@ -38,30 +38,36 @@ class Summarizer:
38
  return f"Translation failed: {str(e)}"
39
  def summarize_text(self, text: str, target_lang: str = 'en') -> str:
40
  """Detect language, translate if needed, summarize, format, and retranslate if needed."""
41
- try:
42
- cleaned_text = self.clean_text(text)
43
  # Translate if not in English
44
- if target_lang != 'en':
45
- cleaned_text = self.translate_text(cleaned_text, "en")
46
- # Summarize using Hugging Face API (simplify the payload)
47
  payload = {
48
- "inputs": cleaned_text # Send just the cleaned text as input
49
  }
50
  response = requests.post(self.summarizer_api_url, headers=self.headers, json=payload, timeout=30)
51
  response.raise_for_status()
 
52
  response_data = response.json()
 
53
  if isinstance(response_data, list) and "generated_text" in response_data[0]:
54
  summary = response_data[0]["generated_text"]
55
  else:
56
  return "Unexpected response format from Hugging Face API."
 
57
  formatted_summary = self.format_summary(summary)
 
58
  # Translate back to target language if needed
59
  if target_lang != 'en':
60
  formatted_summary = self.translate_text(formatted_summary, target_lang)
 
61
  return formatted_summary
 
62
  except requests.exceptions.Timeout:
63
  return "Summarization request timed out."
64
  except requests.exceptions.RequestException as e:
65
  return f"Summarization request failed: {str(e)}"
66
  except Exception as e:
67
- return f"An error occurred during summarization: {str(e)}"
 
38
  return f"Translation failed: {str(e)}"
39
  def summarize_text(self, text: str, target_lang: str = 'en') -> str:
40
  """Detect language, translate if needed, summarize, format, and retranslate if needed."""
41
+ try:
42
+ cleaned_text = self.clean_text(text)
43
  # Translate if not in English
44
+ if target_lang != 'en':
45
+ cleaned_text = self.translate_text(cleaned_text, "en")
46
+ # Summarize using Hugging Face API
47
  payload = {
48
+ "inputs": f"summarize the clinical case with diagnosis, comorbidities, and treatment plan: {cleaned_text}"
49
  }
50
  response = requests.post(self.summarizer_api_url, headers=self.headers, json=payload, timeout=30)
51
  response.raise_for_status()
52
+
53
  response_data = response.json()
54
+
55
  if isinstance(response_data, list) and "generated_text" in response_data[0]:
56
  summary = response_data[0]["generated_text"]
57
  else:
58
  return "Unexpected response format from Hugging Face API."
59
+
60
  formatted_summary = self.format_summary(summary)
61
+
62
  # Translate back to target language if needed
63
  if target_lang != 'en':
64
  formatted_summary = self.translate_text(formatted_summary, target_lang)
65
+
66
  return formatted_summary
67
+
68
  except requests.exceptions.Timeout:
69
  return "Summarization request timed out."
70
  except requests.exceptions.RequestException as e:
71
  return f"Summarization request failed: {str(e)}"
72
  except Exception as e:
73
+ return f"An error occurred during summarization: {str(e)}"