Update main.py
Browse files
main.py
CHANGED
@@ -58,28 +58,6 @@ async def on_message(message: cl.Message):
|
|
58 |
|
59 |
msg = cl.Message(content="")
|
60 |
|
61 |
-
class PostMessageHandler(BaseCallbackHandler):
|
62 |
-
"""
|
63 |
-
Callback handler for handling the retriever and LLM processes.
|
64 |
-
Used to post the sources of the retrieved documents as a Chainlit element.
|
65 |
-
"""
|
66 |
-
|
67 |
-
def __init__(self, msg: cl.Message):
|
68 |
-
BaseCallbackHandler.__init__(self)
|
69 |
-
self.msg = msg
|
70 |
-
self.sources = set() # To store unique pairs
|
71 |
-
|
72 |
-
def on_retriever_end(self, documents, *, run_id, parent_run_id, **kwargs):
|
73 |
-
for d in documents:
|
74 |
-
source_page_pair = (d.metadata['source'], d.metadata['page'])
|
75 |
-
self.sources.add(source_page_pair) # Add unique pairs to the set
|
76 |
-
|
77 |
-
def on_llm_end(self, response, *, run_id, parent_run_id, **kwargs):
|
78 |
-
sources_text = "\n".join([f"{source}#page={page}" for source, page in self.sources])
|
79 |
-
self.msg.elements.append(
|
80 |
-
cl.Text(name="Sources", content=sources_text, display="inline")
|
81 |
-
)
|
82 |
-
|
83 |
cb = cl.AsyncLangchainCallbackHandler()
|
84 |
res = await agent.acall("Réponds en langue française à la question suivante :\n" + message.content + "\nDétaille la réponse en faisant une analyse complète en 2000 mots minimum.", callbacks=[cb])
|
85 |
answer = res['output']
|
|
|
58 |
|
59 |
msg = cl.Message(content="")
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
cb = cl.AsyncLangchainCallbackHandler()
|
62 |
res = await agent.acall("Réponds en langue française à la question suivante :\n" + message.content + "\nDétaille la réponse en faisant une analyse complète en 2000 mots minimum.", callbacks=[cb])
|
63 |
answer = res['output']
|