Spaces:
Sleeping
Sleeping
app.py
CHANGED
@@ -174,4 +174,17 @@ async def init():
|
|
174 |
async def main(message):
|
175 |
chain = cl.user_session.get("chain") # type: RetrievalQAWithSourcesChain
|
176 |
|
177 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
async def main(message):
|
175 |
chain = cl.user_session.get("chain") # type: RetrievalQAWithSourcesChain
|
176 |
|
177 |
+
cb = cl.AsyncLangchainCallbackHandler(
|
178 |
+
stream_final_answer=True, answer_prefix_tokens=["FINAL", "ANSWER"]
|
179 |
+
)
|
180 |
+
cb.answer_reached = True
|
181 |
+
|
182 |
+
res = await chain.acall(message.content, callbacks=[cb])
|
183 |
+
|
184 |
+
if cb.has_streamed_final_answer:
|
185 |
+
await cb.final_stream.update()
|
186 |
+
else:
|
187 |
+
answer = res["answer"]
|
188 |
+
await cl.Message(
|
189 |
+
content=answer,
|
190 |
+
).send()
|