Spaces:
Running
Running
from transformers import AutoTokenizer | |
from transformers import AutoModelForSeq2SeqLM | |
import plotly.graph_objs as go | |
import textwrap | |
from transformers import pipeline | |
import re | |
import time | |
import requests | |
from PIL import Image | |
import itertools | |
import numpy as np | |
import matplotlib.pyplot as plt | |
import matplotlib | |
from matplotlib.colors import ListedColormap, rgb2hex | |
import ipywidgets as widgets | |
from IPython.display import display, HTML | |
import pandas as pd | |
from pprint import pprint | |
from tenacity import retry | |
from tqdm import tqdm | |
import scipy.stats | |
import torch | |
from transformers import GPT2LMHeadModel | |
import seaborn as sns | |
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, AutoModelForMaskedLM | |
import random | |
from nltk.corpus import stopwords | |
from termcolor import colored | |
import nltk | |
from nltk.translate.bleu_score import sentence_bleu | |
from transformers import BertTokenizer, BertModel | |
import gradio as gr | |
from tree import generate_plot | |
from paraphraser import generate_paraphrase | |
from lcs import find_common_subsequences | |
from highlighter import highlight_common_words, highlight_common_words_dict | |
from entailment import analyze_entailment | |
nltk.download('stopwords') | |
# Function for the Gradio interface | |
def model(prompt): | |
sentence = prompt | |
paraphrased_sentences = generate_paraphrase(sentence) | |
analyzed_paraphrased_sentences, selected_sentences, discarded_sentences = analyze_entailment(sentence, paraphrased_sentences, 0.7) | |
common_grams = find_common_subsequences(sentence, selected_sentences) | |
highlighted_user_prompt = highlight_common_words(common_grams, [sentence], "User Prompt (Highlighted and Numbered)") # Pass the sentence as a list | |
highlighted_paraphrased_sentences = highlight_common_words_dict(common_grams, selected_sentences, discarded_sentences, "Sentences Generated by the Paraphraser") | |
tree = generate_plot(sentence, list(selected_sentences.keys())) | |
return highlighted_user_prompt, highlighted_paraphrased_sentences, tree | |
with gr.Blocks(theme=gr.themes.Monochrome()) as demo: | |
gr.Markdown("# **AIISC Watermarking Model**") | |
with gr.Row(): | |
user_input = gr.Textbox(label="User Prompt") | |
with gr.Row(): | |
submit_button = gr.Button("Submit") | |
clear_button = gr.Button("Clear") | |
with gr.Row(): | |
highlighted_user_prompt = gr.HTML() | |
with gr.Row(): | |
highlighted_paraphrased_sentences = gr.HTML() | |
with gr.Row(): | |
tree = gr.Plot() | |
submit_button.click(model, inputs=user_input, outputs=[highlighted_user_prompt, highlighted_paraphrased_sentences, tree]) | |
clear_button.click(lambda: "", inputs=None, outputs=user_input) | |
clear_button.click(lambda: "", inputs=None, outputs=[highlighted_user_prompt, highlighted_paraphrased_sentences, tree]) | |
# Launch the demo | |
demo.launch(share=True) | |