Update main.py
Browse files
main.py
CHANGED
@@ -68,7 +68,8 @@ async def on_chat_start():
|
|
68 |
await cl.Message(f"Vous pouvez requêter sur la thématique : {res.get('value')}").send()
|
69 |
cl.user_session.set("selectRequest", res.get("value"))
|
70 |
|
71 |
-
memory = ConversationBufferMemory(return_messages=True)
|
|
|
72 |
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.
|
73 |
|
74 |
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.
|
@@ -91,6 +92,7 @@ async def on_chat_start():
|
|
91 |
)
|
92 |
| prompt
|
93 |
| model
|
|
|
94 |
)
|
95 |
|
96 |
cl.user_session.set("memory", memory)
|
@@ -99,9 +101,21 @@ async def on_chat_start():
|
|
99 |
|
100 |
@cl.on_message
|
101 |
async def on_message(message: cl.Message):
|
102 |
-
|
103 |
runnable = cl.user_session.get("runnable") # type: Runnable
|
104 |
msg = cl.Message(content="")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
|
106 |
class PostMessageHandler(BaseCallbackHandler):
|
107 |
"""
|
@@ -125,19 +139,6 @@ async def on_message(message: cl.Message):
|
|
125 |
self.msg.elements.append(
|
126 |
cl.Text(name="Sources", content=sources_text, display="inline")
|
127 |
)
|
128 |
-
|
129 |
-
os.environ['PINECONE_API_KEY'] = os.environ['PINECONE_API_KEY']
|
130 |
-
embeddings = HuggingFaceEmbeddings()
|
131 |
-
index_name = "all-venus"
|
132 |
-
pc = Pinecone(
|
133 |
-
api_key=os.environ['PINECONE_API_KEY']
|
134 |
-
)
|
135 |
-
index = pc.Index(index_name)
|
136 |
-
xq = embeddings.embed_query(message.content)
|
137 |
-
xc = index.query(vector=xq, filter={"categorie": {"$eq": "bibliographie-OPP-DGDIN"}},top_k=150, include_metadata=True)
|
138 |
-
context_p = ""
|
139 |
-
for result in xc['matches']:
|
140 |
-
context_p = context_p + result['metadata']['text']
|
141 |
|
142 |
async with cl.Step(type="run", name="QA Assistant"):
|
143 |
async for chunk in runnable.astream(
|
|
|
68 |
await cl.Message(f"Vous pouvez requêter sur la thématique : {res.get('value')}").send()
|
69 |
cl.user_session.set("selectRequest", res.get("value"))
|
70 |
|
71 |
+
memory = cl.user_session.set("memory",ConversationBufferMemory(return_messages=True))
|
72 |
+
#memory = ConversationBufferMemory(return_messages=True)
|
73 |
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.
|
74 |
|
75 |
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.
|
|
|
92 |
)
|
93 |
| prompt
|
94 |
| model
|
95 |
+
| StrOutputParser()
|
96 |
)
|
97 |
|
98 |
cl.user_session.set("memory", memory)
|
|
|
101 |
|
102 |
@cl.on_message
|
103 |
async def on_message(message: cl.Message):
|
104 |
+
memory = cl.user_session.get("memory")
|
105 |
runnable = cl.user_session.get("runnable") # type: Runnable
|
106 |
msg = cl.Message(content="")
|
107 |
+
os.environ['PINECONE_API_KEY'] = os.environ['PINECONE_API_KEY']
|
108 |
+
embeddings = HuggingFaceEmbeddings()
|
109 |
+
index_name = "all-venus"
|
110 |
+
pc = Pinecone(
|
111 |
+
api_key=os.environ['PINECONE_API_KEY']
|
112 |
+
)
|
113 |
+
index = pc.Index(index_name)
|
114 |
+
xq = embeddings.embed_query(message.content)
|
115 |
+
xc = index.query(vector=xq, filter={"categorie": {"$eq": "bibliographie-OPP-DGDIN"}},top_k=150, include_metadata=True)
|
116 |
+
context_p = ""
|
117 |
+
for result in xc['matches']:
|
118 |
+
context_p = context_p + result['metadata']['text']
|
119 |
|
120 |
class PostMessageHandler(BaseCallbackHandler):
|
121 |
"""
|
|
|
139 |
self.msg.elements.append(
|
140 |
cl.Text(name="Sources", content=sources_text, display="inline")
|
141 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
|
143 |
async with cl.Step(type="run", name="QA Assistant"):
|
144 |
async for chunk in runnable.astream(
|