LingEval / app.py
research14's picture
test
d4e59c1
raw
history blame
3.61 kB
import gradio as gr
import random
import time
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load Vicuna 7B model and tokenizer
model_name = "lmsys/vicuna-7b-v1.3"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
def respond_vicuna(message, chat_history, vicuna_chatbot):
input_ids = tokenizer.encode(message, return_tensors="pt")
output = model.generate(input_ids, max_length=50, num_beams=5, no_repeat_ngram_size=2)
bot_message = tokenizer.decode(output[0], skip_special_tokens=True)
chat_history.append((message, bot_message))
time.sleep(2)
return "", chat_history
with gr.Blocks() as demo:
gr.Markdown("# LLM Evaluator With Linguistic Scrutiny")
with gr.Tab("POS"):
gr.Markdown("Strategy 1 QA")
with gr.Row():
vicuna_chatbot1 = gr.Chatbot(label="vicuna-7b", live=True)
llama_chatbot1 = gr.Chatbot(label="llama-7b", live=False)
gpt_chatbot1 = gr.Chatbot(label="gpt-3.5", live=False)
gr.Markdown("Strategy 2 Instruction")
with gr.Row():
vicuna_chatbot2 = gr.Chatbot(label="vicuna-7b", live=True)
llama_chatbot2 = gr.Chatbot(label="llama-7b", live=False)
gpt_chatbot2 = gr.Chatbot(label="gpt-3.5", live=False)
gr.Markdown("Strategy 3 Structured Prompting")
with gr.Row():
vicuna_chatbot3 = gr.Chatbot(label="vicuna-7b", live=True)
llama_chatbot3 = gr.Chatbot(label="llama-7b", live=False)
gpt_chatbot3 = gr.Chatbot(label="gpt-3.5", live=False)
with gr.Row():
prompt = gr.Textbox(show_label=False, placeholder="Enter prompt")
send_button_POS = gr.Button("Send", scale=0)
clear = gr.ClearButton([prompt, vicuna_chatbot1])
with gr.Tab("Chunk"):
gr.Markdown("Strategy 1 QA")
with gr.Row():
vicuna_chatbot1_chunk = gr.Chatbot(label="vicuna-7b", live=True)
llama_chatbot1_chunk = gr.Chatbot(label="llama-7b", live=False)
gpt_chatbot1_chunk = gr.Chatbot(label="gpt-3.5", live=False)
gr.Markdown("Strategy 2 Instruction")
with gr.Row():
vicuna_chatbot2_chunk = gr.Chatbot(label="vicuna-7b", live=True)
llama_chatbot2_chunk = gr.Chatbot(label="llama-7b", live=False)
gpt_chatbot2_chunk = gr.Chatbot(label="gpt-3.5", live=False)
gr.Markdown("Strategy 3 Structured Prompting")
with gr.Row():
vicuna_chatbot3_chunk = gr.Chatbot(label="vicuna-7b", live=True)
llama_chatbot3_chunk = gr.Chatbot(label="llama-7b", live=False)
gpt_chatbot3_chunk = gr.Chatbot(label="gpt-3.5", live=False)
with gr.Row():
prompt_chunk = gr.Textbox(show_label=False, placeholder="Enter prompt")
send_button_Chunk = gr.Button("Send", scale=0)
clear = gr.ClearButton([prompt_chunk, vicuna_chatbot1_chunk])
def respond(message, chat_history):
input_ids = tokenizer.encode(message, return_tensors="pt")
output = model.generate(input_ids, max_length=50, num_beams=5, no_repeat_ngram_size=2)
bot_message = tokenizer.decode(output[0], skip_special_tokens=True)
chat_history.append((message, bot_message))
time.sleep(2)
return "", chat_history
# Replace the old respond function with the new general function for Vicuna
prompt.submit(lambda message, chat_history: respond_vicuna(message, chat_history, vicuna_chatbot1), [prompt, vicuna_chatbot1, vicuna_chatbot1_chunk])
demo.launch()