timeki commited on
Commit
069de45
·
1 Parent(s): cf2e6bf

Fix : Dynamic follow up examples

Browse files
app.py CHANGED
@@ -208,8 +208,8 @@ def event_handling(
208
  .then(finish_chat, None, [textbox], api_name=f"finish_chat_{examples_hidden.elem_id}")
209
  )
210
  (follow_up_examples_hidden
211
- .change(start_chat, [examples_hidden, chatbot, search_only], [follow_up_examples_hidden, tabs, chatbot, sources_raw], queue=False, api_name=f"start_chat_{examples_hidden.elem_id}")
212
- .then(chat, [examples_hidden, chatbot, dropdown_audience, dropdown_sources, dropdown_reports, dropdown_external_sources, search_only], [chatbot, new_sources_hmtl, output_query, output_language, new_figures, current_graphs,follow_up_examples.dataset], concurrency_limit=8, api_name=f"chat_{examples_hidden.elem_id}")
213
  .then(finish_chat, None, [textbox], api_name=f"finish_chat_{follow_up_examples_hidden.elem_id}")
214
  )
215
 
@@ -227,6 +227,11 @@ def event_handling(
227
  .then(chat_poc, [examples_hidden, chatbot, dropdown_audience, dropdown_sources, dropdown_reports, dropdown_external_sources, search_only], [chatbot, new_sources_hmtl, output_query, output_language, new_figures, current_graphs], concurrency_limit=8, api_name=f"chat_{examples_hidden.elem_id}")
228
  .then(finish_chat, None, [textbox], api_name=f"finish_chat_{examples_hidden.elem_id}")
229
  )
 
 
 
 
 
230
 
231
 
232
  new_sources_hmtl.change(lambda x : x, inputs = [new_sources_hmtl], outputs = [sources_textbox])
 
208
  .then(finish_chat, None, [textbox], api_name=f"finish_chat_{examples_hidden.elem_id}")
209
  )
210
  (follow_up_examples_hidden
211
+ .change(start_chat, [follow_up_examples_hidden, chatbot, search_only], [follow_up_examples_hidden, tabs, chatbot, sources_raw], queue=False, api_name=f"start_chat_{examples_hidden.elem_id}")
212
+ .then(chat, [follow_up_examples_hidden, chatbot, dropdown_audience, dropdown_sources, dropdown_reports, dropdown_external_sources, search_only], [chatbot, new_sources_hmtl, output_query, output_language, new_figures, current_graphs,follow_up_examples.dataset], concurrency_limit=8, api_name=f"chat_{examples_hidden.elem_id}")
213
  .then(finish_chat, None, [textbox], api_name=f"finish_chat_{follow_up_examples_hidden.elem_id}")
214
  )
215
 
 
227
  .then(chat_poc, [examples_hidden, chatbot, dropdown_audience, dropdown_sources, dropdown_reports, dropdown_external_sources, search_only], [chatbot, new_sources_hmtl, output_query, output_language, new_figures, current_graphs], concurrency_limit=8, api_name=f"chat_{examples_hidden.elem_id}")
228
  .then(finish_chat, None, [textbox], api_name=f"finish_chat_{examples_hidden.elem_id}")
229
  )
230
+ (follow_up_examples_hidden
231
+ .change(start_chat, [follow_up_examples_hidden, chatbot, search_only], [follow_up_examples_hidden, tabs, chatbot, sources_raw], queue=False, api_name=f"start_chat_{examples_hidden.elem_id}")
232
+ .then(chat, [follow_up_examples_hidden, chatbot, dropdown_audience, dropdown_sources, dropdown_reports, dropdown_external_sources, search_only], [chatbot, new_sources_hmtl, output_query, output_language, new_figures, current_graphs,follow_up_examples.dataset], concurrency_limit=8, api_name=f"chat_{examples_hidden.elem_id}")
233
+ .then(finish_chat, None, [textbox], api_name=f"finish_chat_{follow_up_examples_hidden.elem_id}")
234
+ )
235
 
236
 
237
  new_sources_hmtl.change(lambda x : x, inputs = [new_sources_hmtl], outputs = [sources_textbox])
climateqa/engine/graph.py CHANGED
@@ -218,8 +218,6 @@ def make_graph_agent(llm, vectorstore_ipcc, vectorstore_graphs, vectorstore_regi
218
  workflow.add_edge("retrieve_graphs", END)
219
  workflow.add_edge("answer_rag", "generate_follow_up")
220
  workflow.add_edge("answer_rag_no_docs", "generate_follow_up")
221
- # workflow.add_edge("answer_rag", END)
222
- # workflow.add_edge("answer_rag_no_docs", END)
223
  workflow.add_edge("answer_chitchat", "chitchat_categorize_intent")
224
  workflow.add_edge("retrieve_graphs_chitchat", END)
225
 
@@ -287,7 +285,6 @@ def make_graph_agent_poc(llm, vectorstore_ipcc, vectorstore_graphs, vectorstore_
287
  workflow.add_node("answer_rag", answer_rag)
288
  workflow.add_node("answer_rag_no_docs", answer_rag_no_docs)
289
  workflow.add_node("generate_follow_up", generate_follow_up)
290
- workflow.add_node("process_follow_up", standalone_question_node)
291
 
292
  # Entry point
293
  workflow.set_entry_point("standalone_question")
@@ -322,12 +319,6 @@ def make_graph_agent_poc(llm, vectorstore_ipcc, vectorstore_graphs, vectorstore_
322
  make_id_dict(["retrieve_graphs", END])
323
  )
324
 
325
- workflow.add_conditional_edges(
326
- "generate_follow_up",
327
- route_follow_up,
328
- make_id_dict(["process_follow_up", END])
329
- )
330
-
331
  # Define the edges
332
  workflow.add_edge("standalone_question", "categorize_intent")
333
  workflow.add_edge("translate_query", "transform_query")
@@ -338,14 +329,13 @@ def make_graph_agent_poc(llm, vectorstore_ipcc, vectorstore_graphs, vectorstore_
338
  workflow.add_edge("retrieve_graphs", END)
339
  workflow.add_edge("answer_rag", "generate_follow_up")
340
  workflow.add_edge("answer_rag_no_docs", "generate_follow_up")
341
- workflow.add_edge("answer_rag", END)
342
- workflow.add_edge("answer_rag_no_docs", END)
343
  workflow.add_edge("answer_chitchat", "chitchat_categorize_intent")
344
  workflow.add_edge("retrieve_graphs_chitchat", END)
345
 
346
  workflow.add_edge("retrieve_local_data", "answer_search")
347
  workflow.add_edge("retrieve_documents", "answer_search")
348
- workflow.add_edge("process_follow_up", "categorize_intent")
 
349
 
350
  # Compile
351
  app = workflow.compile()
 
218
  workflow.add_edge("retrieve_graphs", END)
219
  workflow.add_edge("answer_rag", "generate_follow_up")
220
  workflow.add_edge("answer_rag_no_docs", "generate_follow_up")
 
 
221
  workflow.add_edge("answer_chitchat", "chitchat_categorize_intent")
222
  workflow.add_edge("retrieve_graphs_chitchat", END)
223
 
 
285
  workflow.add_node("answer_rag", answer_rag)
286
  workflow.add_node("answer_rag_no_docs", answer_rag_no_docs)
287
  workflow.add_node("generate_follow_up", generate_follow_up)
 
288
 
289
  # Entry point
290
  workflow.set_entry_point("standalone_question")
 
319
  make_id_dict(["retrieve_graphs", END])
320
  )
321
 
 
 
 
 
 
 
322
  # Define the edges
323
  workflow.add_edge("standalone_question", "categorize_intent")
324
  workflow.add_edge("translate_query", "transform_query")
 
329
  workflow.add_edge("retrieve_graphs", END)
330
  workflow.add_edge("answer_rag", "generate_follow_up")
331
  workflow.add_edge("answer_rag_no_docs", "generate_follow_up")
 
 
332
  workflow.add_edge("answer_chitchat", "chitchat_categorize_intent")
333
  workflow.add_edge("retrieve_graphs_chitchat", END)
334
 
335
  workflow.add_edge("retrieve_local_data", "answer_search")
336
  workflow.add_edge("retrieve_documents", "answer_search")
337
+ workflow.add_edge("generate_follow_up",END)
338
+
339
 
340
  # Compile
341
  app = workflow.compile()
front/tabs/chat_interface.py CHANGED
@@ -56,7 +56,7 @@ def create_chat_interface(tab):
56
  )
57
  with gr.Row(elem_id="follow-up-examples"):
58
  follow_up_examples_hidden = gr.Textbox(visible=False, elem_id="follow-up-hidden")
59
- follow_up_examples = gr.Examples(examples=["sample_1","sample_2"], label="Follow up questions", inputs= [follow_up_examples_hidden], elem_id="follow-up-button", run_on_click=False)
60
 
61
  with gr.Row(elem_id="input-message"):
62
 
 
56
  )
57
  with gr.Row(elem_id="follow-up-examples"):
58
  follow_up_examples_hidden = gr.Textbox(visible=False, elem_id="follow-up-hidden")
59
+ follow_up_examples = gr.Examples(examples=[ ], label="Follow up questions", inputs= [follow_up_examples_hidden], elem_id="follow-up-button", run_on_click=False)
60
 
61
  with gr.Row(elem_id="input-message"):
62
 
front/tabs/main_tab.py CHANGED
@@ -1,4 +1,5 @@
1
  import gradio as gr
 
2
  from typing import TypedDict
3
  from .chat_interface import create_chat_interface
4
  from .tab_examples import create_examples_tab
@@ -29,7 +30,7 @@ class MainTabPanel:
29
  tab_graphs: gr.Tab
30
  tab_papers: gr.Tab
31
  graph_container: gr.HTML
32
- follow_up_examples : gr.Examples
33
  follow_up_examples_hidden : gr.Textbox
34
 
35
  def cqa_tab(tab_name):
 
1
  import gradio as gr
2
+ from gradio.helpers import Examples
3
  from typing import TypedDict
4
  from .chat_interface import create_chat_interface
5
  from .tab_examples import create_examples_tab
 
30
  tab_graphs: gr.Tab
31
  tab_papers: gr.Tab
32
  graph_container: gr.HTML
33
+ follow_up_examples : Examples
34
  follow_up_examples_hidden : gr.Textbox
35
 
36
  def cqa_tab(tab_name):