Corrected concurrency bug + probable error
Browse files
README.md
CHANGED
|
@@ -10,4 +10,7 @@ fullWidth: true
|
|
| 10 |
pinned: false
|
| 11 |
---
|
| 12 |
|
| 13 |
-
# Climate Q&A
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
pinned: false
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# Climate Q&A
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
To run locally run ``gradio app.py``
|
app.py
CHANGED
|
@@ -86,6 +86,7 @@ def parse_output_llm_with_sources(output):
|
|
| 86 |
|
| 87 |
# Create vectorstore and retriever
|
| 88 |
vectorstore = get_pinecone_vectorstore(embeddings_function)
|
|
|
|
| 89 |
|
| 90 |
|
| 91 |
def make_pairs(lst):
|
|
@@ -123,7 +124,6 @@ async def chat(query,history,audience,sources,reports):
|
|
| 123 |
if len(reports) == 0:
|
| 124 |
reports = []
|
| 125 |
|
| 126 |
-
llm = get_llm(max_tokens = 1024,temperature = 0.0)
|
| 127 |
retriever = ClimateQARetriever(vectorstore=vectorstore,sources = sources,reports = reports,k_summary = 3,k_total = 10,threshold=0.7)
|
| 128 |
rag_chain = make_rag_chain(retriever,llm)
|
| 129 |
|
|
@@ -164,12 +164,16 @@ async def chat(query,history,audience,sources,reports):
|
|
| 164 |
output_query = op["value"]["question"]
|
| 165 |
|
| 166 |
elif op['path'] == retriever_path_id: # documents
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 173 |
|
| 174 |
elif op['path'] == final_answer_path_id: # final answer
|
| 175 |
new_token = op['value'] # str
|
|
@@ -178,7 +182,8 @@ async def chat(query,history,audience,sources,reports):
|
|
| 178 |
answer_yet = parse_output_llm_with_sources(answer_yet)
|
| 179 |
history[-1] = (query,answer_yet)
|
| 180 |
|
| 181 |
-
|
|
|
|
| 182 |
|
| 183 |
history = [tuple(x) for x in history]
|
| 184 |
yield history,docs_html,output_query,output_language,gallery
|
|
@@ -396,13 +401,13 @@ with gr.Blocks(title="Climate Q&A", css="style.css", theme=theme,elem_id = "main
|
|
| 396 |
|
| 397 |
(textbox
|
| 398 |
.submit(start_chat, [textbox,chatbot], [textbox,tabs,chatbot],queue = False)
|
| 399 |
-
.success(chat, [textbox,chatbot,dropdown_audience, dropdown_sources,dropdown_reports], [chatbot,sources_textbox,output_query,output_language,gallery])
|
| 400 |
.success(finish_chat, None, [textbox])
|
| 401 |
)
|
| 402 |
|
| 403 |
(examples_hidden
|
| 404 |
.change(start_chat, [examples_hidden,chatbot], [textbox,tabs,chatbot],queue = False)
|
| 405 |
-
.success(chat, [examples_hidden,chatbot,dropdown_audience, dropdown_sources,dropdown_reports], [chatbot,sources_textbox,output_query,output_language,gallery])
|
| 406 |
.success(finish_chat, None, [textbox])
|
| 407 |
)
|
| 408 |
|
|
@@ -636,4 +641,4 @@ Or around 2 to 4 times more than a typical Google search.
|
|
| 636 |
|
| 637 |
demo.queue()
|
| 638 |
|
| 639 |
-
demo.launch()
|
|
|
|
| 86 |
|
| 87 |
# Create vectorstore and retriever
|
| 88 |
vectorstore = get_pinecone_vectorstore(embeddings_function)
|
| 89 |
+
llm = get_llm(max_tokens = 1024,temperature = 0.0)
|
| 90 |
|
| 91 |
|
| 92 |
def make_pairs(lst):
|
|
|
|
| 124 |
if len(reports) == 0:
|
| 125 |
reports = []
|
| 126 |
|
|
|
|
| 127 |
retriever = ClimateQARetriever(vectorstore=vectorstore,sources = sources,reports = reports,k_summary = 3,k_total = 10,threshold=0.7)
|
| 128 |
rag_chain = make_rag_chain(retriever,llm)
|
| 129 |
|
|
|
|
| 164 |
output_query = op["value"]["question"]
|
| 165 |
|
| 166 |
elif op['path'] == retriever_path_id: # documents
|
| 167 |
+
try:
|
| 168 |
+
docs = op['value']['documents'] # List[Document]
|
| 169 |
+
docs_html = []
|
| 170 |
+
for i, d in enumerate(docs, 1):
|
| 171 |
+
docs_html.append(make_html_source(d, i))
|
| 172 |
+
docs_html = "".join(docs_html)
|
| 173 |
+
except TypeError:
|
| 174 |
+
print("No documents found")
|
| 175 |
+
print("op: ",op)
|
| 176 |
+
continue
|
| 177 |
|
| 178 |
elif op['path'] == final_answer_path_id: # final answer
|
| 179 |
new_token = op['value'] # str
|
|
|
|
| 182 |
answer_yet = parse_output_llm_with_sources(answer_yet)
|
| 183 |
history[-1] = (query,answer_yet)
|
| 184 |
|
| 185 |
+
else:
|
| 186 |
+
continue
|
| 187 |
|
| 188 |
history = [tuple(x) for x in history]
|
| 189 |
yield history,docs_html,output_query,output_language,gallery
|
|
|
|
| 401 |
|
| 402 |
(textbox
|
| 403 |
.submit(start_chat, [textbox,chatbot], [textbox,tabs,chatbot],queue = False)
|
| 404 |
+
.success(chat, [textbox,chatbot,dropdown_audience, dropdown_sources,dropdown_reports], [chatbot,sources_textbox,output_query,output_language,gallery],concurrency_limit = 8)
|
| 405 |
.success(finish_chat, None, [textbox])
|
| 406 |
)
|
| 407 |
|
| 408 |
(examples_hidden
|
| 409 |
.change(start_chat, [examples_hidden,chatbot], [textbox,tabs,chatbot],queue = False)
|
| 410 |
+
.success(chat, [examples_hidden,chatbot,dropdown_audience, dropdown_sources,dropdown_reports], [chatbot,sources_textbox,output_query,output_language,gallery],concurrency_limit = 8)
|
| 411 |
.success(finish_chat, None, [textbox])
|
| 412 |
)
|
| 413 |
|
|
|
|
| 641 |
|
| 642 |
demo.queue()
|
| 643 |
|
| 644 |
+
demo.launch(max_threads = 8)
|