Spaces:
Runtime error
Runtime error
import gradio as gr | |
import re | |
from transformers import TFGPT2LMHeadModel, GPT2Tokenizer | |
description = "Chatbots for customer service with GPT-2" | |
title = "Please enter the problem you are experiencing" | |
examples = [["I didn't get my order delivered for a long time."]] | |
from transformers import TFGPT2LMHeadModel, GPT2Tokenizer | |
model_name_or_path = "Jinpkk/ITproject_version4" | |
tokenizer = GPT2Tokenizer.from_pretrained(model_name_or_path) | |
model = TFGPT2LMHeadModel.from_pretrained(model_name_or_path) | |
def clean_output(text): | |
# Remove content within square brackets | |
cleaned_text = re.sub(r'\[.*?\]', '', text) | |
# Remove any [SEP] tokens | |
cleaned_text = cleaned_text.replace('[SEP]', '').strip() | |
return cleaned_text | |
def generate_response(input_text): | |
input_ids = tokenizer.encode(input_text, return_tensors='tf') | |
beam_output = model.generate( | |
input_ids, | |
max_length=128, | |
num_beams=5, | |
no_repeat_ngram_size=2, | |
early_stopping=True, | |
pad_token_id=tokenizer.eos_token_id | |
) | |
generated_text = tokenizer.decode(beam_output[0], skip_special_tokens=True) | |
generated_text = generated_text.split('[PAD]')[0].strip() | |
generated_text = generated_text.split('^')[0].strip() | |
generated_text = generated_text.replace(input_text.strip(), '').strip() | |
generated_text = generated_text.replace("<SEP>", "").strip() | |
generated_text = generated_text.split('(')[0].strip() | |
generated_text = clean_output(generated_text) | |
return generated_text | |
def chatbot_response(input_text): | |
# Extract previous messages and the new message | |
previous_messages, new_message = input_text.split("\n")[:-1], input_text.split("\n")[-1] | |
# Get the model's response | |
response = generate_response(new_message) | |
# Add the new message and the model's response to the previous messages | |
updated_chat = "\n".join(previous_messages + [f"You: {new_message}", f"Bot: {response}"]) | |
return updated_chat | |
interface = gr.Interface( | |
fn=generate_response, | |
inputs=gr.inputs.Textbox(lines=10, placeholder="Enter your text..."), | |
outputs=gr.outputs.Textbox(), | |
description=description, | |
title=title, | |
examples=examples | |
) | |
interface_chat = gr.Interface( | |
fn=chatbot_response, | |
inputs=gr.components.Textbox(lines=15, placeholder="Type your message here..."), | |
outputs=gr.components.Textbox(), | |
live=False, | |
description=description, | |
examples=examples, | |
title=title | |
) | |
interface_chat.launch() |