File size: 4,542 Bytes
b308128
937be2f
7f877a9
738a5f6
 
 
b308128
8eb0f9a
7eaa7b0
937be2f
 
04fc021
738a5f6
 
3c712c1
 
 
 
 
 
 
 
 
 
 
 
 
 
738a5f6
 
49c7ae8
738a5f6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49c7ae8
35e0ec8
 
edb0bcd
738a5f6
 
35e0ec8
738a5f6
 
a450a5f
738a5f6
c597e04
738a5f6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a04a444
738a5f6
 
 
 
 
 
 
 
a450a5f
738a5f6
 
 
5e8be56
8c245db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import time
import openai

openai.api_key = "OPENAI_API_KEY"

# Load the Vicuna 7B v1.3 LMSys model and tokenizer
model_name = "lmsys/vicuna-7b-v1.3"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

template_single = '''Please output any <{}> in the following sentence one per line without any additional text: "{}"'''

def gpt3(prompt):
    response = openai.ChatCompletion.create(
        model='gpt3.5', messages=[{"role": "user", "content": prompt}])
    return response['choices'][0]['message']['content']

def respond(message, chat_history):
    input_ids = tokenizer.encode(message, return_tensors="pt")
    output_ids = model.generate(input_ids, max_length=50, num_beams=5, no_repeat_ngram_size=2)
    bot_message = tokenizer.decode(output_ids[0], skip_special_tokens=True)
        
    chat_history.append((message, bot_message))
    time.sleep(2)
    return "", chat_history

def interface():
        gr.Markdown(" Description ")

        prompt_POS = gr.Textbox(show_label=False, placeholder="Write a prompt and press enter")
        openai_key = gr.Textbox(label="Open AI Key", placeholder="Enter your Openai key here", type="password")

        gr.Markdown("Strategy 1 QA-Based Prompting")
        with gr.Row():
            vicuna_S1_chatbot_POS = gr.Chatbot(label="vicuna-7b")
            llama_S1_chatbot_POS = gr.Chatbot(label="llama-7b")
            gpt_S1_chatbot_POS = gr.Chatbot(label="gpt-3.5")
        clear = gr.ClearButton([prompt_POS, vicuna_S1_chatbot_POS])
        gr.Markdown("Strategy 2 Instruction-Based Prompting")
        with gr.Row():
            vicuna_S2_chatbot_POS = gr.Chatbot(label="vicuna-7b")
            llama_S2_chatbot_POS = gr.Chatbot(label="llama-7b")
            gpt_S2_chatbot_POS = gr.Chatbot(label="gpt-3.5")
        clear = gr.ClearButton([prompt_POS, vicuna_S2_chatbot_POS])
        gr.Markdown("Strategy 3 Structured Prompting")
        with gr.Row():
            vicuna_S3_chatbot_POS = gr.Chatbot(label="vicuna-7b")
            llama_S3_chatbot_POS = gr.Chatbot(label="llama-7b")
            gpt_S3_chatbot_POS = gr.Chatbot(label="gpt-3.5")
        clear = gr.ClearButton([prompt_POS, vicuna_S3_chatbot_POS])

        prompt_POS.submit(respond, [prompt_POS, vicuna_S1_chatbot_POS], [prompt_POS, vicuna_S1_chatbot_POS])
        prompt_POS.submit(respond, [prompt_POS, vicuna_S2_chatbot_POS], [prompt_POS, vicuna_S2_chatbot_POS])
        prompt_POS.submit(respond, [prompt_POS, vicuna_S3_chatbot_POS], [prompt_POS, vicuna_S3_chatbot_POS])
        

with gr.Blocks() as demo:
    gr.Markdown("# LLM Evaluator With Linguistic Scrutiny")

    with gr.Tab("Noun"):
        interface()
    
    with gr.Tab("Determiner"):
        gr.Markdown(" Description ")

        prompt_CHUNK = gr.Textbox(show_label=False, placeholder="Write a prompt and press enter")

        gr.Markdown("Strategy 1 QA")
        with gr.Row():
            vicuna_S1_chatbot_CHUNK = gr.Chatbot(label="vicuna-7b")
            llama_S1_chatbot_CHUNK = gr.Chatbot(label="llama-7b")
            gpt_S1_chatbot_CHUNK = gr.Chatbot(label="gpt-3.5")
        clear = gr.ClearButton([prompt_CHUNK, vicuna_S1_chatbot_CHUNK])
        gr.Markdown("Strategy 2 Instruction")
        with gr.Row():
            vicuna_S2_chatbot_CHUNK = gr.Chatbot(label="vicuna-7b")
            llama_S2_chatbot_CHUNK = gr.Chatbot(label="llama-7b")
            gpt_S2_chatbot_CHUNK = gr.Chatbot(label="gpt-3.5")
        clear = gr.ClearButton([prompt_CHUNK, vicuna_S2_chatbot_CHUNK])
        gr.Markdown("Strategy 3 Structured Prompting")
        with gr.Row():
            vicuna_S3_chatbot_CHUNK = gr.Chatbot(label="vicuna-7b")
            llama_S3_chatbot_CHUNK = gr.Chatbot(label="llama-7b")
            gpt_S3_chatbot_CHUNK = gr.Chatbot(label="gpt-3.5")
        clear = gr.ClearButton([prompt_CHUNK, vicuna_S3_chatbot_CHUNK])
    
    with gr.Tab("Noun phrase"):
        interface()
    with gr.Tab("Verb phrase"):
        interface()
    with gr.Tab("Dependent clause"):
        interface()
    with gr.Tab("T-units"):
        interface()

    prompt_CHUNK.submit(respond, [prompt_CHUNK, vicuna_S1_chatbot_CHUNK], [prompt_CHUNK, vicuna_S1_chatbot_CHUNK])
    prompt_CHUNK.submit(respond, [prompt_CHUNK, vicuna_S2_chatbot_CHUNK], [prompt_CHUNK, vicuna_S2_chatbot_CHUNK])
    prompt_CHUNK.submit(respond, [prompt_CHUNK, vicuna_S3_chatbot_CHUNK], [prompt_CHUNK, vicuna_S3_chatbot_CHUNK])

demo.launch()