Spaces:
Runtime error
Runtime error
add
Browse files- app.py +11 -4
- gradio_backend.py +7 -8
app.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
import sys
|
|
|
2 |
|
3 |
from gradio_base import UIHelper, WebUI
|
4 |
import os
|
@@ -8,6 +9,7 @@ from typing import List, Tuple, Any
|
|
8 |
import gradio as gr
|
9 |
import time
|
10 |
|
|
|
11 |
class DebateUI(WebUI):
|
12 |
FORMAT = "{}\n<debate topic>\n{}\nAffirmative viewpoint:{}\nNegative viewpoint:{}\n<debate topic>{}"
|
13 |
AUDIENCE = "Audience"
|
@@ -77,13 +79,13 @@ class DebateUI(WebUI):
|
|
77 |
render_data = self.render_bubble(history, self.data_history, node_name, render_node_name= True or state % 10 == 2)
|
78 |
return render_data
|
79 |
|
80 |
-
def start_button_when_click(self, theme, positive, negative, choose, mode):
|
81 |
"""
|
82 |
inputs=[self.text_theme, self.text_positive, self.text_negative, self.radio_choose],
|
83 |
outputs=[self.chatbot, self.btn_send]
|
84 |
"""
|
85 |
cosplay = None if choose == self.AUDIENCE else choose.split("(")[0]
|
86 |
-
message = dict(theme=theme, positive=positive, negative=negative, cosplay=cosplay, mode=mode)
|
87 |
self.send_start_cmd(message=message)
|
88 |
return gr.Chatbot.update(
|
89 |
visible=True
|
@@ -209,6 +211,11 @@ class DebateUI(WebUI):
|
|
209 |
with gr.Blocks(css=gc.CSS) as demo:
|
210 |
with gr.Row():
|
211 |
with gr.Column():
|
|
|
|
|
|
|
|
|
|
|
212 |
self.radio_mode = gr.Radio(
|
213 |
[Client.AUTO_MODE, Client.SINGLE_MODE],
|
214 |
value=Client.AUTO_MODE,
|
@@ -268,7 +275,7 @@ class DebateUI(WebUI):
|
|
268 |
|
269 |
self.btn_start.click(
|
270 |
fn=self.start_button_when_click,
|
271 |
-
inputs=[self.text_theme, self.text_positive, self.text_negative, self.radio_choose, self.radio_mode],
|
272 |
outputs=[self.chatbot, self.btn_start]
|
273 |
).then(
|
274 |
fn=self.start_button_after_click,
|
@@ -350,4 +357,4 @@ class DebateUI(WebUI):
|
|
350 |
if __name__ == '__main__':
|
351 |
ui = DebateUI(client_cmd=["python","gradio_backend.py"])
|
352 |
ui.construct_ui()
|
353 |
-
ui.run()
|
|
|
1 |
import sys
|
2 |
+
sys.path.append("../../Gradio_Config")
|
3 |
|
4 |
from gradio_base import UIHelper, WebUI
|
5 |
import os
|
|
|
9 |
import gradio as gr
|
10 |
import time
|
11 |
|
12 |
+
|
13 |
class DebateUI(WebUI):
|
14 |
FORMAT = "{}\n<debate topic>\n{}\nAffirmative viewpoint:{}\nNegative viewpoint:{}\n<debate topic>{}"
|
15 |
AUDIENCE = "Audience"
|
|
|
79 |
render_data = self.render_bubble(history, self.data_history, node_name, render_node_name= True or state % 10 == 2)
|
80 |
return render_data
|
81 |
|
82 |
+
def start_button_when_click(self, theme, positive, negative, choose, mode, api_key):
|
83 |
"""
|
84 |
inputs=[self.text_theme, self.text_positive, self.text_negative, self.radio_choose],
|
85 |
outputs=[self.chatbot, self.btn_send]
|
86 |
"""
|
87 |
cosplay = None if choose == self.AUDIENCE else choose.split("(")[0]
|
88 |
+
message = dict(theme=theme, positive=positive, negative=negative, cosplay=cosplay, mode=mode, api_key=api_key)
|
89 |
self.send_start_cmd(message=message)
|
90 |
return gr.Chatbot.update(
|
91 |
visible=True
|
|
|
211 |
with gr.Blocks(css=gc.CSS) as demo:
|
212 |
with gr.Row():
|
213 |
with gr.Column():
|
214 |
+
self.text_api = gr.Textbox(
|
215 |
+
value = self.cache["api_key"],
|
216 |
+
placeholder="openai key",
|
217 |
+
label="Please input valid openai key for gpt-3.5-turbo-16k."
|
218 |
+
)
|
219 |
self.radio_mode = gr.Radio(
|
220 |
[Client.AUTO_MODE, Client.SINGLE_MODE],
|
221 |
value=Client.AUTO_MODE,
|
|
|
275 |
|
276 |
self.btn_start.click(
|
277 |
fn=self.start_button_when_click,
|
278 |
+
inputs=[self.text_theme, self.text_positive, self.text_negative, self.radio_choose, self.radio_mode, self.text_api],
|
279 |
outputs=[self.chatbot, self.btn_start]
|
280 |
).then(
|
281 |
fn=self.start_button_after_click,
|
|
|
357 |
if __name__ == '__main__':
|
358 |
ui = DebateUI(client_cmd=["python","gradio_backend.py"])
|
359 |
ui.construct_ui()
|
360 |
+
ui.run()
|
gradio_backend.py
CHANGED
@@ -2,14 +2,12 @@ import yaml
|
|
2 |
import os
|
3 |
import argparse
|
4 |
import sys
|
5 |
-
sys.path.append("../../../src/agents")
|
6 |
-
sys.path.append("../../Gradio_Config")
|
7 |
from agents.SOP import SOP
|
8 |
from agents.Agent import Agent
|
9 |
from agents.Environment import Environment
|
10 |
from agents.Memory import Memory
|
11 |
from gradio_base import Client
|
12 |
-
from
|
13 |
|
14 |
def process(action):
|
15 |
response = action.response
|
@@ -43,7 +41,7 @@ def gradio_process(action,current_state):
|
|
43 |
if item.startswith("<USER>"):
|
44 |
content = item.split("<USER>")[1]
|
45 |
break
|
46 |
-
# print(f"client:
|
47 |
action.response = content
|
48 |
break
|
49 |
else:
|
@@ -83,12 +81,12 @@ def init(config):
|
|
83 |
def run(agents,sop,environment):
|
84 |
while True:
|
85 |
current_state,current_agent= sop.next(environment,agents)
|
86 |
-
block_when_next(current_agent, current_state)
|
87 |
if sop.finished:
|
88 |
print("finished!")
|
89 |
-
Client.send_server(str([99, ' ', ' ',
|
90 |
os.environ.clear()
|
91 |
break
|
|
|
92 |
action = current_agent.step(current_state,"") #component_dict = current_state[self.role[current_node.name]] current_agent.compile(component_dict)
|
93 |
gradio_process(action,current_state)
|
94 |
memory = process(action)
|
@@ -107,12 +105,14 @@ def prepare(agents, sop, environment):
|
|
107 |
"negative": f"{parse_data[2]}",
|
108 |
"agents_name": DebateUI.convert2list4agentname(sop)[0],
|
109 |
"only_name": DebateUI.convert2list4agentname(sop)[0],
|
110 |
-
"default_cos_play_id": -1
|
|
|
111 |
}
|
112 |
)
|
113 |
client.listening_for_start_()
|
114 |
client.mode = Client.mode = client.cache["mode"]
|
115 |
# cover config and then start
|
|
|
116 |
if Client.cache["cosplay"] is not None:
|
117 |
agents[Client.cache["cosplay"]].is_user = True
|
118 |
sop.states['Negative_Task_Allocation_state'] = sop.states['Affirmative_Task_Allocation_state'].begin_query = \
|
@@ -135,4 +135,3 @@ if __name__ == '__main__':
|
|
135 |
|
136 |
run(agents,sop,environment)
|
137 |
|
138 |
-
|
|
|
2 |
import os
|
3 |
import argparse
|
4 |
import sys
|
|
|
|
|
5 |
from agents.SOP import SOP
|
6 |
from agents.Agent import Agent
|
7 |
from agents.Environment import Environment
|
8 |
from agents.Memory import Memory
|
9 |
from gradio_base import Client
|
10 |
+
from run_gradio import DebateUI
|
11 |
|
12 |
def process(action):
|
13 |
response = action.response
|
|
|
41 |
if item.startswith("<USER>"):
|
42 |
content = item.split("<USER>")[1]
|
43 |
break
|
44 |
+
# print(f"client: received `{content}` from server")
|
45 |
action.response = content
|
46 |
break
|
47 |
else:
|
|
|
81 |
def run(agents,sop,environment):
|
82 |
while True:
|
83 |
current_state,current_agent= sop.next(environment,agents)
|
|
|
84 |
if sop.finished:
|
85 |
print("finished!")
|
86 |
+
Client.send_server(str([99, ' ', ' ', "done"]))
|
87 |
os.environ.clear()
|
88 |
break
|
89 |
+
block_when_next(current_agent, current_state)
|
90 |
action = current_agent.step(current_state,"") #component_dict = current_state[self.role[current_node.name]] current_agent.compile(component_dict)
|
91 |
gradio_process(action,current_state)
|
92 |
memory = process(action)
|
|
|
105 |
"negative": f"{parse_data[2]}",
|
106 |
"agents_name": DebateUI.convert2list4agentname(sop)[0],
|
107 |
"only_name": DebateUI.convert2list4agentname(sop)[0],
|
108 |
+
"default_cos_play_id": -1,
|
109 |
+
"api_key": os.environ["API_KEY"]
|
110 |
}
|
111 |
)
|
112 |
client.listening_for_start_()
|
113 |
client.mode = Client.mode = client.cache["mode"]
|
114 |
# cover config and then start
|
115 |
+
os.environ["API_KEY"] = client.cache["api_key"]
|
116 |
if Client.cache["cosplay"] is not None:
|
117 |
agents[Client.cache["cosplay"]].is_user = True
|
118 |
sop.states['Negative_Task_Allocation_state'] = sop.states['Affirmative_Task_Allocation_state'].begin_query = \
|
|
|
135 |
|
136 |
run(agents,sop,environment)
|
137 |
|
|