TextAttack_demo / app.py
faizaaska517's picture
Update app.py
320f116 verified
raw
history blame contribute delete
926 Bytes
import gradio as gr
from textattack.attack_recipes import TextFoolerJin2019
from textattack.models.wrappers import HuggingFaceModelWrapper
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
#Load Hugging Face model (e.g., distilbert for demo)
model_name = "textattack/distilbert-base-uncased-SST-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
#Wrap model for TextAttack
model_wrapper = HuggingFaceModelWrapper(model, tokenizer)
#Load Attack
attack = TextFoolerJin2019.build(model_wrapper)
#Function to run attack
def run_attack(input_text):
result = attack.attack(input_text, ground_truth_output=1)
return str(result)
#Gradio UI
gr.Interface(fn=run_attack,
inputs=gr.Textbox(lines=4, placeholder="Enter sentence to attack..."),
outputs="text",
title="TextAttack Demo on Hugging Face Model").launch()