datacipen commited on
Commit
d32f81d
1 Parent(s): a5b6687

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +16 -15
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
- runnable = cl.user_session.get("memory")
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(