datacipen commited on
Commit
00bf96c
1 Parent(s): cd53515

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +33 -2
main.py CHANGED
@@ -90,8 +90,39 @@ async def main(message: cl.Message):
90
  for result in xc['matches']:
91
  context_p = context_p + result['metadata']['text']
92
 
93
- memory = cl.user_session.get("memory")
94
- runnable = cl.user_session.get("runnable")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
 
96
  msg = cl.Message(author="Assistant Reviewstream",content="")
97
  async for chunk in runnable.astream({"question": message.content, "context":context_p},
 
90
  for result in xc['matches']:
91
  context_p = context_p + result['metadata']['text']
92
 
93
+
94
+ memory = ConversationBufferMemory(return_messages=True)
95
+ 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.
96
+
97
+ 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.
98
+ {context}
99
+ {question} [/INST] </s>
100
+ """
101
+
102
+ os.environ['HUGGINGFACEHUB_API_TOKEN'] = os.environ['HUGGINGFACEHUB_API_TOKEN']
103
+ repo_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
104
+
105
+ model = HuggingFaceEndpoint(
106
+ repo_id=repo_id, max_new_tokens=8000, temperature=1.0, task="text2text-generation", streaming=True
107
+ )
108
+
109
+ prompt = ChatPromptTemplate.from_messages(
110
+ [
111
+ (
112
+ "system",
113
+ f"Contexte : 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 informations suivantes et du contexte suivant seulement et strictement.",
114
+ ),
115
+ MessagesPlaceholder(variable_name="history"),
116
+ ("human", "Contexte : {context}, réponds à la question suivante de la manière la plus pertinente, la plus exhaustive et la plus détaillée possible. {question}."),
117
+ ]
118
+ )
119
+ runnable = (
120
+ RunnablePassthrough.assign(
121
+ history=RunnableLambda(memory.load_memory_variables) | itemgetter("history")
122
+ )
123
+ | prompt
124
+ | model
125
+ )
126
 
127
  msg = cl.Message(author="Assistant Reviewstream",content="")
128
  async for chunk in runnable.astream({"question": message.content, "context":context_p},