Update main.py
Browse files
main.py
CHANGED
@@ -84,9 +84,8 @@ async def start():
|
|
84 |
]
|
85 |
).send()
|
86 |
|
87 |
-
memory
|
88 |
-
|
89 |
-
)
|
90 |
template = """<s>[INST] Vous êtes un chercheur de l'enseignement supérieur et vous êtes doué pour faire des analyses d'articles de recherche sur les thématiques liées à la pédagogie, en fonction des critères définis ci-avant.
|
91 |
|
92 |
En fonction des informations suivantes et du contexte suivant seulement et strictement, répondez en langue française strictement à la question ci-dessous à partir du contexte ci-dessous. Si vous ne pouvez pas répondre à la question sur la base des informations, dites que vous ne trouvez pas de réponse ou que vous ne parvenez pas à trouver de réponse. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Ne générez pas de réponses non pertinentes.
|
@@ -104,14 +103,19 @@ async def start():
|
|
104 |
|
105 |
@cl.on_message
|
106 |
async def main(message: cl.Message):
|
|
|
107 |
runnable = cl.user_session.get("runnable")
|
108 |
|
109 |
xq = embeddings.embed_query(message.content)
|
110 |
-
xc = index.query(vector=xq, filter={"categorie": {"$eq": "bibliographie-OPP-DGDIN"}},top_k=
|
111 |
context_p = ""
|
112 |
for result in xc['matches']:
|
113 |
context_p = context_p + result['metadata']['text']
|
114 |
-
msg = cl.Message(author="
|
115 |
async for chunk in runnable.astream({"question": message.content,"context":context_p},
|
116 |
config=RunnableConfig(callbacks=[cl.AsyncLangchainCallbackHandler(stream_final_answer=True)])):
|
117 |
-
await msg.stream_token(chunk)
|
|
|
|
|
|
|
|
|
|
84 |
]
|
85 |
).send()
|
86 |
|
87 |
+
cl.user_session.set("memory", ConversationBufferMemory(return_messages=True))
|
88 |
+
memory = cl.user_session.get("memory")
|
|
|
89 |
template = """<s>[INST] Vous êtes un chercheur de l'enseignement supérieur et vous êtes doué pour faire des analyses d'articles de recherche sur les thématiques liées à la pédagogie, en fonction des critères définis ci-avant.
|
90 |
|
91 |
En fonction des informations suivantes et du contexte suivant seulement et strictement, répondez en langue française strictement à la question ci-dessous à partir du contexte ci-dessous. Si vous ne pouvez pas répondre à la question sur la base des informations, dites que vous ne trouvez pas de réponse ou que vous ne parvenez pas à trouver de réponse. Essayez donc de comprendre en profondeur le contexte et répondez uniquement en vous basant sur les informations fournies. Ne générez pas de réponses non pertinentes.
|
|
|
103 |
|
104 |
@cl.on_message
|
105 |
async def main(message: cl.Message):
|
106 |
+
memory = cl.user_session.get("memory")
|
107 |
runnable = cl.user_session.get("runnable")
|
108 |
|
109 |
xq = embeddings.embed_query(message.content)
|
110 |
+
xc = index.query(vector=xq, filter={"categorie": {"$eq": "bibliographie-OPP-DGDIN"}},top_k=300, include_metadata=True)
|
111 |
context_p = ""
|
112 |
for result in xc['matches']:
|
113 |
context_p = context_p + result['metadata']['text']
|
114 |
+
msg = cl.Message(author="Assistant Reviewstream",content="")
|
115 |
async for chunk in runnable.astream({"question": message.content,"context":context_p},
|
116 |
config=RunnableConfig(callbacks=[cl.AsyncLangchainCallbackHandler(stream_final_answer=True)])):
|
117 |
+
await msg.stream_token(chunk)
|
118 |
+
|
119 |
+
await msg.send()
|
120 |
+
memory.chat_memory.add_user_message(message.content)
|
121 |
+
memory.chat_memory.add_ai_message(msg.content)
|