thinkall commited on
Commit
ccbd989
β€’
1 Parent(s): b2cf656

Fix groupchat none

Browse files
Files changed (1) hide show
  1. app.py +68 -19
app.py CHANGED
@@ -34,25 +34,42 @@ def get_description_text():
34
  """
35
 
36
 
37
- template.main.append(pn.pane.Markdown(get_description_text(), sizing_mode="stretch_width"))
 
 
38
 
39
  txt_model = TextInput(
40
- name="Model Name", placeholder="Enter your model name here...", value="gpt-35-turbo", sizing_mode="stretch_width"
 
 
 
41
  )
42
  pwd_openai_key = PasswordInput(
43
- name="OpenAI API Key", placeholder="Enter your OpenAI API Key here...", sizing_mode="stretch_width"
 
 
44
  )
45
  pwd_openai_url = PasswordInput(
46
- name="OpenAI Base Url", placeholder="Enter your OpenAI Base Url here...", sizing_mode="stretch_width"
 
 
47
  )
48
  pwd_aoai_key = PasswordInput(
49
- name="Azure OpenAI API Key", placeholder="Enter your Azure OpenAI API Key here...", sizing_mode="stretch_width"
 
 
50
  )
51
  pwd_aoai_url = PasswordInput(
52
- name="Azure OpenAI Base Url", placeholder="Enter your Azure OpenAI Base Url here...", sizing_mode="stretch_width"
 
 
53
  )
54
  file_cfg = pn.widgets.FileInput(filename="OAI_CONFIG_LIST", sizing_mode="stretch_width")
55
- template.main.append(pn.Row(txt_model, pwd_openai_key, pwd_openai_url, pwd_aoai_key, pwd_aoai_url, file_cfg))
 
 
 
 
56
 
57
 
58
  def get_config(tmpfilename="OAI_CONFIG_LIST"):
@@ -106,8 +123,12 @@ def get_config(tmpfilename="OAI_CONFIG_LIST"):
106
 
107
  btn_add = Button(name="+", button_type="success")
108
  btn_remove = Button(name="-", button_type="danger")
109
- switch_code = Switch(name="Run Code", sizing_mode="fixed", width=50, height=30, align="end")
110
- select_speaker_method = pn.widgets.Select(name="", options=["round_robin", "auto", "random"], value="round_robin")
 
 
 
 
111
  template.main.append(
112
  pn.Row(
113
  pn.pane.Markdown("## Add or Remove Agents: "),
@@ -176,7 +197,8 @@ class myGroupChatManager(autogen.GroupChatManager):
176
  content = autogen.OpenAIWrapper.instantiate(
177
  content,
178
  message["context"],
179
- self.llm_config and self.llm_config.get("allow_format_str_template", False),
 
180
  )
181
  if "function_call" in message:
182
  function_call = dict(message["function_call"])
@@ -223,9 +245,16 @@ def init_groupchat(event, collection_name):
223
  else False
224
  )
225
  agent = initialize_agents(
226
- llm_config, agent_name, system_msg, agent_type, retrieve_config, code_execution_config
 
 
 
 
 
 
 
 
227
  )
228
- agent.register_reply([autogen.Agent, None], reply_func=send_messages, config={"callback": None})
229
  agents.append(agent)
230
  if len(agents) >= 3:
231
  groupchat = autogen.GroupChat(
@@ -238,11 +267,18 @@ def init_groupchat(event, collection_name):
238
  manager = myGroupChatManager(groupchat=groupchat, llm_config=llm_config)
239
  else:
240
  manager = None
 
241
  return agents, manager, groupchat
242
 
243
 
244
  async def agents_chat(init_sender, manager, contents, agents):
245
- recipient = manager if len(agents) > 2 else agents[1] if agents[1] != init_sender else agents[0]
 
 
 
 
 
 
246
  if isinstance(init_sender, (RetrieveUserProxyAgent, MathUserProxyAgent)):
247
  await init_sender.a_initiate_chat(recipient, problem=contents)
248
  else:
@@ -257,7 +293,10 @@ async def reply_chat(contents, user, instance):
257
  instance.collection_name = collection_name
258
 
259
  column_agents_list = [[a.value for a in agent[0]] for agent in column_agents]
260
- if not hasattr(instance, "agent_list") or instance.agents_list != column_agents_list:
 
 
 
261
  agents, manager, groupchat = init_groupchat(None, collection_name)
262
  instance.manager = manager
263
  instance.agents = agents
@@ -328,10 +367,18 @@ btn_msg2.on_click(load_message)
328
  btn_msg3.on_click(load_message)
329
 
330
 
331
- btn_example1 = Button(name="General 2 agents", button_type="primary", sizing_mode="stretch_width")
332
- btn_example2 = Button(name="RAG 2 agents", button_type="primary", sizing_mode="stretch_width")
333
- btn_example3 = Button(name="Software Dev 3 agents", button_type="primary", sizing_mode="stretch_width")
334
- btn_example4 = Button(name="Research 6 agents", button_type="primary", sizing_mode="stretch_width")
 
 
 
 
 
 
 
 
335
  template.main.append(
336
  pn.Row(
337
  pn.pane.Markdown("## Agent Examples: ", sizing_mode="stretch_width"),
@@ -499,7 +546,9 @@ btn_example2.on_click(load_example)
499
  btn_example3.on_click(load_example)
500
  btn_example4.on_click(load_example)
501
 
502
- code_editor = CodeEditor(value="", sizing_mode="stretch_width", language="python", height=300)
 
 
503
  template.main.append(code_editor)
504
 
505
  template.servable(title=TITLE)
 
34
  """
35
 
36
 
37
+ template.main.append(
38
+ pn.pane.Markdown(get_description_text(), sizing_mode="stretch_width")
39
+ )
40
 
41
  txt_model = TextInput(
42
+ name="Model Name",
43
+ placeholder="Enter your model name here...",
44
+ value="gpt-35-turbo",
45
+ sizing_mode="stretch_width",
46
  )
47
  pwd_openai_key = PasswordInput(
48
+ name="OpenAI API Key",
49
+ placeholder="Enter your OpenAI API Key here...",
50
+ sizing_mode="stretch_width",
51
  )
52
  pwd_openai_url = PasswordInput(
53
+ name="OpenAI Base Url",
54
+ placeholder="Enter your OpenAI Base Url here...",
55
+ sizing_mode="stretch_width",
56
  )
57
  pwd_aoai_key = PasswordInput(
58
+ name="Azure OpenAI API Key",
59
+ placeholder="Enter your Azure OpenAI API Key here...",
60
+ sizing_mode="stretch_width",
61
  )
62
  pwd_aoai_url = PasswordInput(
63
+ name="Azure OpenAI Base Url",
64
+ placeholder="Enter your Azure OpenAI Base Url here...",
65
+ sizing_mode="stretch_width",
66
  )
67
  file_cfg = pn.widgets.FileInput(filename="OAI_CONFIG_LIST", sizing_mode="stretch_width")
68
+ template.main.append(
69
+ pn.Row(
70
+ txt_model, pwd_openai_key, pwd_openai_url, pwd_aoai_key, pwd_aoai_url, file_cfg
71
+ )
72
+ )
73
 
74
 
75
  def get_config(tmpfilename="OAI_CONFIG_LIST"):
 
123
 
124
  btn_add = Button(name="+", button_type="success")
125
  btn_remove = Button(name="-", button_type="danger")
126
+ switch_code = Switch(
127
+ name="Run Code", sizing_mode="fixed", width=50, height=30, align="end"
128
+ )
129
+ select_speaker_method = pn.widgets.Select(
130
+ name="", options=["round_robin", "auto", "random"], value="round_robin"
131
+ )
132
  template.main.append(
133
  pn.Row(
134
  pn.pane.Markdown("## Add or Remove Agents: "),
 
197
  content = autogen.OpenAIWrapper.instantiate(
198
  content,
199
  message["context"],
200
+ self.llm_config
201
+ and self.llm_config.get("allow_format_str_template", False),
202
  )
203
  if "function_call" in message:
204
  function_call = dict(message["function_call"])
 
245
  else False
246
  )
247
  agent = initialize_agents(
248
+ llm_config,
249
+ agent_name,
250
+ system_msg,
251
+ agent_type,
252
+ retrieve_config,
253
+ code_execution_config,
254
+ )
255
+ agent.register_reply(
256
+ [autogen.Agent, None], reply_func=send_messages, config={"callback": None}
257
  )
 
258
  agents.append(agent)
259
  if len(agents) >= 3:
260
  groupchat = autogen.GroupChat(
 
267
  manager = myGroupChatManager(groupchat=groupchat, llm_config=llm_config)
268
  else:
269
  manager = None
270
+ groupchat = None
271
  return agents, manager, groupchat
272
 
273
 
274
  async def agents_chat(init_sender, manager, contents, agents):
275
+ recipient = (
276
+ manager
277
+ if len(agents) > 2
278
+ else agents[1]
279
+ if agents[1] != init_sender
280
+ else agents[0]
281
+ )
282
  if isinstance(init_sender, (RetrieveUserProxyAgent, MathUserProxyAgent)):
283
  await init_sender.a_initiate_chat(recipient, problem=contents)
284
  else:
 
293
  instance.collection_name = collection_name
294
 
295
  column_agents_list = [[a.value for a in agent[0]] for agent in column_agents]
296
+ if (
297
+ not hasattr(instance, "agent_list")
298
+ or instance.agents_list != column_agents_list
299
+ ):
300
  agents, manager, groupchat = init_groupchat(None, collection_name)
301
  instance.manager = manager
302
  instance.agents = agents
 
367
  btn_msg3.on_click(load_message)
368
 
369
 
370
+ btn_example1 = Button(
371
+ name="General 2 agents", button_type="primary", sizing_mode="stretch_width"
372
+ )
373
+ btn_example2 = Button(
374
+ name="RAG 2 agents", button_type="primary", sizing_mode="stretch_width"
375
+ )
376
+ btn_example3 = Button(
377
+ name="Software Dev 3 agents", button_type="primary", sizing_mode="stretch_width"
378
+ )
379
+ btn_example4 = Button(
380
+ name="Research 6 agents", button_type="primary", sizing_mode="stretch_width"
381
+ )
382
  template.main.append(
383
  pn.Row(
384
  pn.pane.Markdown("## Agent Examples: ", sizing_mode="stretch_width"),
 
546
  btn_example3.on_click(load_example)
547
  btn_example4.on_click(load_example)
548
 
549
+ code_editor = CodeEditor(
550
+ value="", sizing_mode="stretch_width", language="python", height=300
551
+ )
552
  template.main.append(code_editor)
553
 
554
  template.servable(title=TITLE)