Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import pipeline,AutoTokenizer, AutoModelForSeq2SeqLM | |
| from bs4 import BeautifulSoup | |
| from bs4.element import Comment | |
| from urllib.request import urlopen | |
| import urllib.request | |
| from bs4 import BeautifulSoup | |
| def easyterms(text:str)->str: | |
| print("In summerizing function of easyterms") | |
| tokenizer = AutoTokenizer.from_pretrained("EasyTerms/etsummerizer_v2") | |
| model = AutoModelForSeq2SeqLM.from_pretrained("EasyTerms/etsummerizer_v2") | |
| inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512) | |
| summary_ids = model.generate(inputs['input_ids'], attention_mask=inputs['attention_mask'], max_length=128, num_beams=4) | |
| summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True) | |
| return summary | |
| def get_paragaph(url:str)-> list: | |
| parser = 'html.parser' # or 'lxml' (preferred) or 'html5lib', if installed | |
| html = urllib.request.urlopen(url) | |
| # parsing the html file | |
| soup = BeautifulSoup(html, parser, from_encoding=html.info().get_param('charset')) | |
| samples = soup.findAll("p") | |
| samples = [item.text for item in samples] | |
| return samples | |
| def summerize(Option:str, Text:str)-> str: | |
| print(Option) | |
| if Option == "text": | |
| return easyterms(Text) | |
| else: | |
| paragraph = get_paragaph(Text) | |
| result = [] | |
| for par in paragraph: | |
| result.append(easyterms(par)) | |
| res = '\n'.join(data for data in result) | |
| return res | |
| intro = gr.Markdown( | |
| ''' | |
| <center><h1>A Legal document summerizer.</h1></span> | |
| If you want to better understand legal text or document, this platform is for you. By choosing the url option you submit a url whose content will in turn be summerized for you. | |
| Otherwhise you can choose the text option and submit your own text to be summerized. | |
| ''' | |
| ) | |
| interface = gr.Interface( | |
| fn=summerize, | |
| inputs=[gr.Radio(["url", "text"]),"text"], | |
| outputs=["text"] | |
| ) | |
| interface.launch() | |