Spaces:
Sleeping
Sleeping
from transformers import AutoTokenizer, AutoModelForCausalLM | |
model_name = 'armandnlp/gpt2-TOD_finetuned_SGD' | |
tokenizer_TOD = AutoTokenizer.from_pretrained(model_name) | |
model_TOD = AutoModelForCausalLM.from_pretrained(model_name) | |
def generate_response(prompt): | |
input_ids = tokenizer_TOD(prompt, return_tensors="pt").input_ids | |
outputs = model_TOD.generate(input_ids, | |
do_sample=False, | |
max_length=1024, | |
eos_token_id=50262) | |
return tokenizer_TOD.batch_decode(outputs)[0] | |
#<|context|> <|user|> I want to go to the restaurant.<|endofcontext|> | |
def chat(message, history): | |
history = history or [] | |
if history == []: | |
context = '<|context|> <|user|> ' + message + ' <|endofcontext|> ' | |
else: | |
context, _ = history[-1][0].split('<|endofcontext|>') | |
context += ' <|system|> ' | |
context += history[-1][1].split('<|response|>')[1] | |
context = context.replace('<|endofresponse|>', '') | |
context += ' <|user|> ' + message + ' <|endofcontext|> ' | |
output = generate_response(context) | |
_ , response = output.split('<|endofcontext|>') | |
history.append((message, response)) | |
return history, history | |
import random | |
def chat_test(message, history): | |
history = history or [] | |
if message.startswith("How many"): | |
response = random.randint(1, 10) | |
elif message.startswith("How"): | |
response = random.choice(["Great", "Good", "Okay", "Bad"]) | |
elif message.startswith("Where"): | |
response = random.choice(["Here", "There", "Somewhere"]) | |
else: | |
response = "I don't know" | |
history.append((message, response)) | |
return history, history | |
import gradio as gr | |
chatbot = gr.Chatbot(color_map=("green", "gray")) | |
iface = gr.Interface(chat_test, | |
["text", "state"], | |
[chatbot, "state"], | |
allow_screenshot=False, | |
allow_flagging="never", | |
) | |
""" | |
iface = gr.Interface(fn=generate_response, | |
inputs="text", | |
outputs="text", | |
title="gpt2-TOD", | |
examples=[["<|context|> <|user|> I'm super hungry ! I want to go to the restaurant.<|endofcontext|>"]], | |
description="Passing in a task-oriented dialogue context generates a belief state, actions to take and a response based on those actions", | |
) | |
""" | |
iface.launch(debug=True) | |