Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -47,9 +47,6 @@ async def start():
|
|
| 47 |
# path = r'assets/ChatPDFAvatar.jpg'
|
| 48 |
).send()
|
| 49 |
|
| 50 |
-
|
| 51 |
-
@cl.langchain_factory(use_async=True)
|
| 52 |
-
async def init():
|
| 53 |
files = None
|
| 54 |
|
| 55 |
# Wait for the user to upload a file
|
|
@@ -120,14 +117,21 @@ async def init():
|
|
| 120 |
cl.user_session.set("texts", pages)
|
| 121 |
|
| 122 |
# Let the user know that the system is ready
|
| 123 |
-
|
| 124 |
-
|
| 125 |
|
| 126 |
-
|
| 127 |
|
| 128 |
|
| 129 |
-
@cl.
|
| 130 |
async def process_response(res):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
answer = res["answer"]
|
| 132 |
source_documents = res['source_documents']
|
| 133 |
content = [source_documents[i].page_content for i in range(len(source_documents))]
|
|
@@ -141,5 +145,8 @@ async def process_response(res):
|
|
| 141 |
else:
|
| 142 |
answer += "\n\nNo sources found"
|
| 143 |
|
| 144 |
-
|
| 145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
# path = r'assets/ChatPDFAvatar.jpg'
|
| 48 |
).send()
|
| 49 |
|
|
|
|
|
|
|
|
|
|
| 50 |
files = None
|
| 51 |
|
| 52 |
# Wait for the user to upload a file
|
|
|
|
| 117 |
cl.user_session.set("texts", pages)
|
| 118 |
|
| 119 |
# Let the user know that the system is ready
|
| 120 |
+
msg.content = f''' "{file.name}" processed. You can now ask questions!'''
|
| 121 |
+
await msg.update()
|
| 122 |
|
| 123 |
+
cl.user_session.set('chain', chain)
|
| 124 |
|
| 125 |
|
| 126 |
+
@cl.on_message
|
| 127 |
async def process_response(res):
|
| 128 |
+
chain = cl.user_session.get("chain")
|
| 129 |
+
cb = cl.AsyncLangchainCallbackHandler(
|
| 130 |
+
stream_final_answer=True, answer_prefix_tokens=["FINAL", "ANSWER"]
|
| 131 |
+
)
|
| 132 |
+
cb.answer_reached = True
|
| 133 |
+
res = await chain.acall(message, callbacks=[cb])
|
| 134 |
+
|
| 135 |
answer = res["answer"]
|
| 136 |
source_documents = res['source_documents']
|
| 137 |
content = [source_documents[i].page_content for i in range(len(source_documents))]
|
|
|
|
| 145 |
else:
|
| 146 |
answer += "\n\nNo sources found"
|
| 147 |
|
| 148 |
+
if cb.has_streamed_final_answer:
|
| 149 |
+
cb.final_stream.elements = source_elements
|
| 150 |
+
await cb.final_stream.update()
|
| 151 |
+
else:
|
| 152 |
+
await cl.Message(content=answer, elements=source_elements).send()
|