disi98 commited on
Commit
e942706
1 Parent(s): 3142afd

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +132 -0
app.py ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # import libraries
2
+ import gradio as gr
3
+ import pandas as pd
4
+
5
+
6
+ #load json file into a dataframe
7
+ path="suspicious_samples_run3.jsonl"
8
+ df = pd.read_json(path_or_buf=path, lines=True)
9
+
10
+ # iterate through the responses and create a new dataframe
11
+ def iterate_responses(df):
12
+ data = []
13
+ for i in range(len(df)):
14
+ for j in range(len(df['responses'][i])):
15
+ prompt = str(df['prompt'][i])
16
+ response = str(df['responses'][i][j])
17
+ judgements = df['per_response_judgements'][i][j]
18
+ judgement_1 = str(judgements[0]['reason']) if len(judgements) > 0 else "No Judgement Given"
19
+ judgement_2 = str(judgements[1]['reason']) if len(judgements) > 1 else "No Judgement Given"
20
+ judgement_3 = str(judgements[2]['reason']) if len(judgements) > 2 else "No Judgement Given"
21
+ rubric_1 = str(judgements[0]['rubric']) if len(judgements) > 0 else "No Rubric Given"
22
+ rubric_2 = str(judgements[1]['rubric']) if len(judgements) > 1 else "No Rubric Given"
23
+ rubric_3 = str(judgements[2]['rubric']) if len(judgements) > 2 else "No Rubric Given"
24
+ score_1 = str(judgements[0]['score']) if len(judgements) > 0 else "No Score Given"
25
+ score_2 = str(judgements[1]['score']) if len(judgements) > 1 else "No Score Given"
26
+ score_3 = str(judgements[2]['score']) if len(judgements) > 2 else "No Score Given"
27
+
28
+ data.append([prompt, response, judgement_1, judgement_2, judgement_3, rubric_1, rubric_2, rubric_3, score_1, score_2, score_3])
29
+
30
+ df_resp = pd.DataFrame(data, columns=["prompt", "response", "judgement_1", "judgement_2", "judgement_3", "rubric_1", "rubric_2", "rubric_3", "score_1", "score_2", "score_3"])
31
+ return df_resp
32
+
33
+ df_resps = iterate_responses(df)
34
+
35
+ # function to get response at index i
36
+ def response_at_index_i(i):
37
+ prompt = df_resps["prompt"][i]
38
+ response = df_resps["response"][i]
39
+ judgement_1 = df_resps["judgement_1"][i]
40
+ judgement_2 = df_resps["judgement_2"][i]
41
+ judgement_3 = df_resps["judgement_3"][i]
42
+ rubric_1 = df_resps["rubric_1"][i]
43
+ rubric_2 = df_resps["rubric_2"][i]
44
+ rubric_3 = df_resps["rubric_3"][i]
45
+ score_1 = df_resps["score_1"][i]
46
+ score_2 = df_resps["score_2"][i]
47
+ score_3 = df_resps["score_3"][i]
48
+ return prompt, response, judgement_1, judgement_2, judgement_3, rubric_1, rubric_2, rubric_3, score_1, score_2, score_3
49
+
50
+ # function to get next index
51
+ def nxt(num):
52
+ if num < 0 or num > len(df_resps) - 2:
53
+ return 0
54
+ return num + 1
55
+ # function to get previous index
56
+ def prv(num):
57
+ if num <= 0:
58
+ return len(df_resps) - 2
59
+ elif num > len(df_resps) - 2:
60
+ return 0
61
+ return num - 1
62
+
63
+
64
+ # create a gradio interface
65
+ demo = gr.Blocks(title='Group1_Subtask2')
66
+
67
+ # gradio interface
68
+ with demo:
69
+
70
+ gr.Markdown(
71
+ """
72
+ # Group1 Phase 2
73
+ ## Read from JSON
74
+ """
75
+ )
76
+
77
+ with gr.Row():
78
+ with gr.Column(scale=1):
79
+ nxt_prv_value = gr.Number(label="a", visible=True)
80
+ prompt = gr.Textbox(label='Model Prompt')
81
+
82
+
83
+ with gr.Row():
84
+ prv_btn = gr.Button("Previous")
85
+ nxt_btn = gr.Button("Next")
86
+
87
+ with gr.Row():
88
+ with gr.Column(scale=1):
89
+ with gr.Row():
90
+ response = gr.Textbox(label='AI Answer')
91
+ judgement_1 = gr.Textbox(label='Reference Answer')
92
+ # with gr.Column(scale=1):
93
+ with gr.Row():
94
+ rubric_1 = gr.Textbox(label='Rubric')
95
+ rubric_2 = gr.Textbox(label='Rubric')
96
+ rubric_3 = gr.Textbox(label='Rubric')
97
+ with gr.Row():
98
+ judgement_1 = gr.Textbox(label='Judger 1')
99
+ judgement_2 = gr.Textbox(label='Judger 2')
100
+ judgement_3 = gr.Textbox(label='Judger 3')
101
+
102
+ with gr.Row():
103
+
104
+ score_1 = gr.Number()
105
+ score_2 = gr.Number()
106
+ score_3 = gr.Number()
107
+
108
+ with gr.Row():
109
+
110
+ score_1_g = gr.Radio(["1", "2", "3", "4", "5"], label="Confirm Score 1")
111
+ score_2_g = gr.Radio(["1", "2", "3", "4", "5"], label="Confirm Score 2")
112
+ score_3_g = gr.Radio(["1", "2", "3", "4", "5"], label="Confirm Score 3")
113
+ with gr.Row():
114
+ submit = gr.Button("Submit")
115
+ nxt_btn.click(nxt, nxt_prv_value, nxt_prv_value)
116
+ prv_btn.click(prv, nxt_prv_value, nxt_prv_value)
117
+ history = gr.Textbox(label='History')
118
+
119
+ nxt_prv_value.change(response_at_index_i, nxt_prv_value, outputs=[prompt, response, judgement_1, judgement_2, judgement_3, rubric_1, rubric_2, rubric_3, score_1, score_2, score_3])
120
+
121
+
122
+
123
+
124
+
125
+ demo.launch(share=True)
126
+
127
+ # Team Members
128
+ '''
129
+ Collins Okoth: collins.okech@digitaldividedata.com
130
+ Albert Disi: albert.disi@digitaldividedata.com
131
+ Joseph Amadi: joseph.amadi@digitaldividedata.com
132
+ '''