|
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 |
|
|
|
nltk.download('stopwords') |
|
|
|
|
|
|
|
def model(prompt): |
|
sentence = prompt |
|
paraphrased_sentences = generate_paraphrase(sentence) |
|
common_grams = find_common_subsequences(sentence, paraphrased_sentences) |
|
highlighted_user_prompt = highlight_common_words(common_grams, [sentence]) |
|
highlighted_paraphrased_sentences = highlight_common_words(common_grams, paraphrased_sentences) |
|
discarded_sentences = [] |
|
tree = generate_plot(sentence) |
|
return highlighted_user_prompt, highlighted_paraphrased_sentences, discarded_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(): |
|
selected_sentence = gr.HTML() |
|
|
|
with gr.Row(): |
|
html_output = gr.HTML() |
|
|
|
with gr.Row(): |
|
discarded_sentences = gr.Textbox(label="Discarded Sentences") |
|
|
|
with gr.Row(): |
|
tree = gr.Plot() |
|
|
|
submit_button.click(model, inputs=user_input, outputs=[selected_sentence, html_output, discarded_sentences, tree]) |
|
clear_button.click(lambda: "", inputs=None, outputs=user_input) |
|
clear_button.click(lambda: "", inputs=None, outputs=[selected_sentence, html_output, discarded_sentences, tree]) |
|
|
|
|
|
demo.launch(share=True) |
|
|
|
|