import gradio as gr import transformers from transformers import BertTokenizer, DataCollatorWithPadding from transformers import AutoModelForSequenceClassification tokenizer = BertTokenizer.from_pretrained('huolongguo10/check_sec') model = AutoModelForSequenceClassification.from_pretrained('huolongguo10/check_sec', num_labels=2) import torch def check(text): inputs = tokenizer(text, return_tensors="pt") with torch.no_grad(): logits = model(**inputs).logits predicted_class_id = logits.argmax().item() print(f'{logits.argmax().item()}:{text}') return 'secure' if predicted_class_id==0 else 'insecure' with gr.Blocks() as demo: text = gr.Textbox(label="Text") output = gr.Textbox(label="Output Box") # org = gr.Textbox(label="By normal check") greet_btn = gr.Button("Check!") greet_btn.click(fn=check, inputs=text, outputs=output, api_name="check") gr.Markdown('''# check_sec 检查web参数安全性,目前只支持xss ## 类型 ``` LABEL_0: secure LABEL_1: insecure(可能包含xss payload) ``` ''') # gr.Interface.load("models/huolongguo10/check_sec").launch() demo.launch()