chansung commited on
Commit
b24805e
1 Parent(s): 69a3185

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -35
app.py CHANGED
@@ -1,43 +1,57 @@
 
1
  import gradio as gr
 
 
2
 
3
  get_local_storage = """
4
- function() {
5
- globalThis.setStorage = (key, value)=>{
6
- localStorage.setItem(key, JSON.stringify(value))
7
- }
8
- globalThis.getStorage = (key, value)=>{
9
- return JSON.parse(localStorage.getItem(key))
10
- }
11
- const text_input = getStorage('text_input')
12
- const dropdown = getStorage('dropdown')
13
- const local_data = getStorage('local_data')
14
- return [text_input, dropdown, local_data];
15
- }
16
- """
17
 
 
 
 
 
 
 
 
 
 
 
18
 
19
- def predict(text_input, dropdown):
20
- return {
21
- "text": text_input,
22
- "dropdown": dropdown,
23
- "something_else": [text_input] * 3 + [dropdown],
24
- }
25
 
 
 
26
 
27
- with gr.Blocks() as block:
28
- text_input = gr.Text(label="Input")
29
- dropdown = gr.Dropdown(["first", "second", "third"], type="index")
30
- local_data = gr.JSON({}, label="Local Storage")
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
- dropdown.change(None, dropdown, None, _js="(v)=>{ setStorage('dropdown',v) }")
33
- text_input.change(None, text_input, None, _js="(v)=>{ setStorage('text_input',v) }")
34
- local_data.change(None, local_data, None, _js="(v)=>{ setStorage('local_data',v) }")
35
- btn = gr.Button("Set New Data")
36
- btn.click(fn=predict, inputs=[text_input, dropdown], outputs=[local_data])
37
- block.load(
38
- None,
39
- inputs=None,
40
- outputs=[text_input, dropdown, local_data],
41
- _js=get_local_storage,
42
- )
43
- block.launch(debug=True)
 
1
+ import json
2
  import gradio as gr
3
+ from pingpong import PingPong
4
+ from pingpong.gradio import GradioAlpacaChatPPManager
5
 
6
  get_local_storage = """
7
+ function() {
8
+ globalThis.setStorage = (key, value)=>{
9
+ localStorage.setItem(key, JSON.stringify(value));
10
+ }
11
+ globalThis.getStorage = (key, value)=>{
12
+ return JSON.parse(localStorage.getItem(key));
13
+ }
14
+ const local_data = globalThis.getStorage('local_data');
15
+ console.log(local_data);
16
+ return local_data;
17
+ }
18
+ """
 
19
 
20
+ def add_pingpong(ld, ping, pong):
21
+ if ld is not None:
22
+ ppm = GradioAlpacaChatPPManager.from_json(json.dumps(ld))
23
+ ppm.add_pingpong(PingPong(ping, pong))
24
+ return str(ppm)
25
+
26
+ else:
27
+ ppm = GradioAlpacaChatPPManager()
28
+ ppm.add_pingpong(PingPong(ping, pong))
29
+ return str(ppm)
30
 
31
+ with gr.Blocks() as block:
32
+ local_data = gr.JSON(
33
+ {},
34
+ label="Local Storage"
35
+ )
 
36
 
37
+ ping = gr.Text(label="ping")
38
+ pong = gr.Text(label="pong")
39
 
40
+ btn = gr.Button("Add new ping pong")
41
+ btn.click(
42
+ fn=add_pingpong,
43
+ inputs=[local_data, ping, pong],
44
+ outputs=local_data
45
+ ).then(
46
+ None, local_data, None,
47
+ _js="(v)=>{ setStorage('local_data',v) }"
48
+ )
49
+
50
+ block.load(
51
+ None,
52
+ inputs=None,
53
+ outputs=local_data,
54
+ _js=get_local_storage,
55
+ )
56
 
57
+ block.launch(debug=True)