Spaces:
Runtime error
Runtime error
| # 1. The RoBERTa base model is used, fine-tuned using the SQuAD 2.0 dataset. | |
| # It’s been trained on question-answer pairs, including unanswerable questions, for the task of question and answering. | |
| # from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline | |
| # import gradio as grad | |
| # import ast | |
| # mdl_name = "deepset/roberta-base-squad2" | |
| # my_pipeline = pipeline('question-answering', model=mdl_name, tokenizer=mdl_name) | |
| # def answer_question(question,context): | |
| # text= "{"+"'question': '"+question+"','context': '"+context+"'}" | |
| # di=ast.literal_eval(text) | |
| # response = my_pipeline(di) | |
| # return response | |
| # grad.Interface(answer_question, inputs=["text","text"], outputs="text").launch() | |
| #--------------------------------------------------------------------------------- | |
| # 2. Same task, different model. | |
| # from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline | |
| # import gradio as grad | |
| # import ast | |
| # mdl_name = "distilbert-base-cased-distilled-squad" | |
| # my_pipeline = pipeline('question-answering', model=mdl_name, tokenizer=mdl_name) | |
| # def answer_question(question,context): | |
| # text= "{"+"'question': '"+question+"','context': '"+context+"'}" | |
| # di=ast.literal_eval(text) | |
| # response = my_pipeline(di) | |
| # return response | |
| # grad.Interface(answer_question, inputs=["text","text"], outputs="text").launch() | |
| #--------------------------------------------------------------------------------- | |
| # 3. Different task: language translation. | |
| # from transformers import pipeline | |
| # import gradio as grad | |
| # First model translates English to German. | |
| # mdl_name = "Helsinki-NLP/opus-mt-en-de" | |
| # opus_translator = pipeline("translation", model=mdl_name) | |
| # def translate(text): | |
| # response = opus_translator(text) | |
| # return response | |
| # grad.Interface(translate, inputs=["text",], outputs="text").launch() | |
| #---------------------------------------------------------------------------------- | |
| # 4. Language translation without pipeline API. | |
| # Second model translates English to French. | |
| # from transformers import AutoModelForSeq2SeqLM, AutoTokenizer | |
| # import gradio as grad | |
| # mdl_name = "Helsinki-NLP/opus-mt-en-fr" | |
| # mdl = AutoModelForSeq2SeqLM.from_pretrained(mdl_name) | |
| # my_tkn = AutoTokenizer.from_pretrained(mdl_name) | |
| # def translate(text): | |
| # inputs = my_tkn(text, return_tensors="pt") | |
| # trans_output = mdl.generate(**inputs) | |
| # response = my_tkn.decode(trans_output[0], skip_special_tokens=True) | |
| # return response | |
| # txt = grad.Textbox(lines=1, label="English", placeholder="English Text here") | |
| # out = grad.Textbox(lines=1, label="French") | |
| # grad.Interface(translate, inputs=txt, outputs=out).launch() | |
| #----------------------------------------------------------------------------------- | |
| # 5. Different task: abstractive summarization | |
| # Abstractive summarization is more difficult than extractive summarization, | |
| # which pulls key sentences from a document and combines them to form a “summary.” | |
| # Because abstractive summarization involves paraphrasing words, it is also more time-consuming; | |
| # however, it has the potential to produce a more polished and coherent summary. | |
| from transformers import PegasusForConditionalGeneration, PegasusTokenizer | |
| import gradio as grad | |
| mdl_name = "google/pegasus-xsum" | |
| pegasus_tkn = PegasusTokenizer.from_pretrained(mdl_name) | |
| mdl = PegasusForConditionalGeneration.from_pretrained(mdl_name) | |
| def summarize(text): | |
| tokens = pegasus_tkn(text, truncation=True, padding="longest", return_tensors="pt") | |
| txt_summary = mdl.generate(**tokens) | |
| response = pegasus_tkn.batch_decode(txt_summary, skip_special_tokens=True) | |
| return response | |
| txt = grad.Textbox(lines=10, label="English", placeholder="English Text here") | |
| out = grad.Textbox(lines=10, label="Summary") | |
| grad.Interface(summarize, inputs=txt, outputs=out).launch() | |