import gradio as gr from combining import text_combining import spacy import numpy as np import transformers from transformers import pipeline from transformers import logging logging.set_verbosity_error() import en_core_web_sm nlp = en_core_web_sm.load() fill_mask = pipeline("fill-mask", model="distilbert-base-uncased") visible = 0 def combine(texts): sentences = [] for t in texts: if t != "": sentences.append([t]) sentences = np.array(sentences) return text_combining(sentences, nlp, fill_mask) def show_fn(text3, text4, text5, text6, text7, text8, text9, text10): global visible if visible == 0: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=False), textfield5: gr.update(visible=False), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 1: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=False), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 2: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 3: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 4: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 5: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=True), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 6: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=True), textfield9: gr.update(visible=True), textfield10: gr.update(visible=False), } elif visible == 7: visible += 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=True), textfield9: gr.update(visible=True), textfield10: gr.update(visible=True), } else: return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=True), textfield9: gr.update(visible=True), textfield10: gr.update(visible=True), } def hide_fn(text3, text4, text5, text6, text7, text8, text9, text10): global visible if visible == 9: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=True), textfield9: gr.update(visible=True), textfield10: gr.update(visible=True), } if visible == 8: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=True), textfield9: gr.update(visible=True), textfield10: gr.update(visible=False), } if visible == 7: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=True), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } if visible == 6: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=True), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } if visible == 5: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=True), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } if visible == 4: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=True), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } if visible == 3: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=True), textfield5: gr.update(visible=False), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 2: visible -= 1 return {textfield3: gr.update(visible=True), textfield4: gr.update(visible=False), textfield5: gr.update(visible=False), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } elif visible == 1: visible -= 1 return {textfield3: gr.update(visible=False), textfield4: gr.update(visible=False), textfield5: gr.update(visible=False), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } else: return {textfield3: gr.update(visible=False), textfield4: gr.update(visible=False), textfield5: gr.update(visible=False), textfield6: gr.update(visible=False), textfield7: gr.update(visible=False), textfield8: gr.update(visible=False), textfield9: gr.update(visible=False), textfield10: gr.update(visible=False), } def submit_fn(text1, text2, text3, text4, text5, text6, text7, text8, text9, text10): texts = [text1, text2, text3, text4, text5, text6, text7, text8, text9, text10] return combine(texts) def clear_fn(text1, text2, text3, text4, text5, text6, text7, text8, text9, text10): return {textfield1: gr.update(value=""), textfield2: gr.update(value=""), textfield3: gr.update(value=""), textfield4: gr.update(value=""), textfield5: gr.update(value=""), textfield6: gr.update(value=""), textfield7: gr.update(value=""), textfield8: gr.update(value=""), textfield9: gr.update(value=""), textfield10: gr.update(value=""), } with gr.Blocks() as demo: #gr.Markdown("