Spaces:
Running
Running
from gradio_client import Client | |
import threading | |
def generate_textrank_summary(research_paper_text): | |
client = Client("raannakasturi/TextRankSummarizer") | |
summary = client.predict( | |
text_corpus=research_paper_text, | |
api_name="/textrank_summarizer" | |
) | |
return summary | |
def generate_luhn_summary(research_paper_text): | |
client = Client("raannakasturi/LuhnSummarizer") | |
summary = client.predict( | |
text_corpus=research_paper_text, | |
api_name="/luhn_summarizer" | |
) | |
return summary | |
def sanitize_text(input_string): | |
try: | |
encoded_bytes = input_string.encode("utf-8") | |
decoded_string = encoded_bytes.decode("utf-8") | |
return decoded_string | |
except UnicodeEncodeError as e: | |
print(f"Encoding error: {e}") | |
raise | |
except UnicodeDecodeError as e: | |
print(f"Decoding error: {e}") | |
raise | |
def generate_math_summary(research_paper_text): | |
sanitized_text = sanitize_text(research_paper_text) | |
try: | |
textrank_summary = luhn_summary = None | |
def run_textrank(): | |
nonlocal textrank_summary | |
textrank_summary = generate_textrank_summary(sanitized_text) | |
def run_luhn(): | |
nonlocal luhn_summary | |
luhn_summary = generate_luhn_summary(sanitized_text) | |
threads = [] | |
threads.append(threading.Thread(target=run_textrank)) | |
threads.append(threading.Thread(target=run_luhn)) | |
for thread in threads: | |
thread.start() | |
for thread in threads: | |
thread.join() | |
math_summary = textrank_summary.replace("\n", "") + luhn_summary.replace("\n", "") | |
return math_summary | |
except Exception as e: | |
print(e) | |
return False |