Sean-Case commited on
Commit
71c040a
1 Parent(s): 102df35

Changed theme, example set now disappears upon new file load

Browse files
Files changed (2) hide show
  1. app.py +11 -16
  2. chatfuncs/chatfuncs.py +6 -0
app.py CHANGED
@@ -96,9 +96,7 @@ def docs_to_faiss_save(docs_out:PandasDataFrame, embeddings=embeddings):
96
  import gradio as gr
97
 
98
 
99
-
100
-
101
- block = gr.Blocks(css=".gradio-container {background-color: black}")
102
 
103
  with block:
104
  ingest_text = gr.State()
@@ -131,14 +129,12 @@ with block:
131
 
132
  submit = gr.Button(value="Send message", variant="secondary", scale = 1)
133
 
134
- examples_set = gr.Examples(label="Examples for the Lambeth Borough Plan",
135
- examples=[
136
- "What were the five pillars of the previous borough plan?",
137
  "What is the vision statement for Lambeth?",
138
  "What are the commitments for Lambeth?",
139
- "What are the 2030 outcomes for Lambeth?"],
140
- inputs=message,
141
- )
142
 
143
  with gr.Row():
144
  current_topic = gr.Textbox(label="Keywords related to current conversation topic. If you want to talk about something else, press 'New topic'", placeholder="Keywords related to the conversation topic will appear here")
@@ -162,25 +158,24 @@ with block:
162
  "<center>Powered by Flan Alpaca and Langchain</a></center>"
163
  )
164
 
165
- #def hide_examples():
166
- # return gr.Examples.update(visible=False)
167
 
168
  # Load in a pdf
169
  load_pdf_click = load_pdf.click(ing.parse_file, inputs=[in_pdf], outputs=[ingest_text, current_source]).\
170
  then(ing.text_to_docs, inputs=[ingest_text], outputs=[ingest_docs]).\
171
- then(docs_to_faiss_save, inputs=[ingest_docs], outputs=[ingest_embed_out, vectorstore_state]) # #then(load_embeddings, outputs=[embeddings_state]).\
172
- #then(hide_examples)
173
 
174
  # Load in a webpage
175
  load_web_click = load_web.click(ing.parse_html, inputs=[in_web, in_div], outputs=[ingest_text, ingest_metadata, current_source]).\
176
  then(ing.html_text_to_docs, inputs=[ingest_text, ingest_metadata], outputs=[ingest_docs]).\
177
- then(docs_to_faiss_save, inputs=[ingest_docs], outputs=[ingest_embed_out, vectorstore_state])
178
- #then(hide_examples)
179
 
180
  # Load in a webpage
181
 
182
  # Click/enter to send message action
183
- response_click = submit.click(chatf.get_history_sources_final_input_prompt, inputs=[message, chat_history_state, current_topic, vectorstore_state, embeddings_state], outputs=[chat_history_state, sources, instruction_prompt_out], queue=False).\
184
  then(chatf.turn_off_interactivity, inputs=[message, chatbot], outputs=[message, chatbot], queue=False).\
185
  then(chatf.produce_streaming_answer_chatbot_hf, inputs=[chatbot, instruction_prompt_out], outputs=chatbot)
186
  response_click.then(chatf.highlight_found_text, [chatbot, sources], [sources]).\
 
96
  import gradio as gr
97
 
98
 
99
+ block = gr.Blocks(theme = gr.themes.Base())#css=".gradio-container {background-color: black}")
 
 
100
 
101
  with block:
102
  ingest_text = gr.State()
 
129
 
130
  submit = gr.Button(value="Send message", variant="secondary", scale = 1)
131
 
132
+ examples_set = gr.Radio(label="Examples for the Lambeth Borough Plan",
133
+ #value = "What were the five pillars of the previous borough plan?",
134
+ choices=["What were the five pillars of the previous borough plan?",
135
  "What is the vision statement for Lambeth?",
136
  "What are the commitments for Lambeth?",
137
+ "What are the 2030 outcomes for Lambeth?"])
 
 
138
 
139
  with gr.Row():
140
  current_topic = gr.Textbox(label="Keywords related to current conversation topic. If you want to talk about something else, press 'New topic'", placeholder="Keywords related to the conversation topic will appear here")
 
158
  "<center>Powered by Flan Alpaca and Langchain</a></center>"
159
  )
160
 
161
+ examples_set.change(fn=chatf.update_message, inputs=[examples_set], outputs=[message])
 
162
 
163
  # Load in a pdf
164
  load_pdf_click = load_pdf.click(ing.parse_file, inputs=[in_pdf], outputs=[ingest_text, current_source]).\
165
  then(ing.text_to_docs, inputs=[ingest_text], outputs=[ingest_docs]).\
166
+ then(docs_to_faiss_save, inputs=[ingest_docs], outputs=[ingest_embed_out, vectorstore_state]).\
167
+ then(chatf.hide_block, outputs = [examples_set])
168
 
169
  # Load in a webpage
170
  load_web_click = load_web.click(ing.parse_html, inputs=[in_web, in_div], outputs=[ingest_text, ingest_metadata, current_source]).\
171
  then(ing.html_text_to_docs, inputs=[ingest_text, ingest_metadata], outputs=[ingest_docs]).\
172
+ then(docs_to_faiss_save, inputs=[ingest_docs], outputs=[ingest_embed_out, vectorstore_state]).\
173
+ then(chatf.hide_block, outputs = [examples_set])
174
 
175
  # Load in a webpage
176
 
177
  # Click/enter to send message action
178
+ response_click = submit.click(chatf.get_history_sources_final_input_prompt, inputs=[message, chat_history_state, current_topic, vectorstore_state, embeddings_state], outputs=[chat_history_state, sources, instruction_prompt_out], queue=False, api_name="retrieval").\
179
  then(chatf.turn_off_interactivity, inputs=[message, chatbot], outputs=[message, chatbot], queue=False).\
180
  then(chatf.produce_streaming_answer_chatbot_hf, inputs=[chatbot, instruction_prompt_out], outputs=chatbot)
181
  response_click.then(chatf.highlight_found_text, [chatbot, sources], [sources]).\
chatfuncs/chatfuncs.py CHANGED
@@ -822,6 +822,12 @@ def ctrans_generate(
822
  def turn_off_interactivity(user_message, history):
823
  return gr.update(value="", interactive=False), history + [[user_message, None]]
824
 
 
 
 
 
 
 
825
  # # Chat history functions
826
 
827
  def clear_chat(chat_history_state, sources, chat_message, current_topic):
 
822
  def turn_off_interactivity(user_message, history):
823
  return gr.update(value="", interactive=False), history + [[user_message, None]]
824
 
825
+ def update_message(dropdown_value):
826
+ return gr.Textbox.update(value=dropdown_value)
827
+
828
+ def hide_block():
829
+ return gr.Radio.update(visible=False)
830
+
831
  # # Chat history functions
832
 
833
  def clear_chat(chat_history_state, sources, chat_message, current_topic):