Spaces:
Sleeping
Sleeping
Update main.py
Browse files
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 |
-
|
| 94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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},
|