Spaces:
Running
Running
Update main.py
Browse files
main.py
CHANGED
|
@@ -62,16 +62,16 @@ async def start():
|
|
| 62 |
cl.Text(content=contentPrompts, name=listPrompts_name, display="side")
|
| 63 |
)
|
| 64 |
await cl.Message(content="📚 " + listPrompts_name, elements=prompt_elements).send()
|
| 65 |
-
settings = await cl.ChatSettings(
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
).send()
|
| 75 |
|
| 76 |
cl.user_session.set("memory", ConversationBufferMemory(return_messages=True))
|
| 77 |
memory = cl.user_session.get("memory")
|
|
@@ -89,27 +89,14 @@ async def start():
|
|
| 89 |
repo_id=repo_id, max_new_tokens=8000, temperature=1.0, task="text2text-generation", streaming=True
|
| 90 |
)
|
| 91 |
|
| 92 |
-
os.environ['PINECONE_API_KEY'] = os.environ['PINECONE_API_KEY']
|
| 93 |
-
embeddings = HuggingFaceEmbeddings()
|
| 94 |
-
index_name = "all-venus"
|
| 95 |
-
pc = Pinecone(
|
| 96 |
-
api_key=os.environ['PINECONE_API_KEY']
|
| 97 |
-
)
|
| 98 |
-
index = pc.Index(index_name)
|
| 99 |
-
xq = embeddings.embed_query(message.content)
|
| 100 |
-
xc = index.query(vector=xq, filter={"categorie": {"$eq": "bibliographie-OPP-DGDIN"}},top_k=150, include_metadata=True)
|
| 101 |
-
context_p = ""
|
| 102 |
-
for result in xc['matches']:
|
| 103 |
-
context_p = context_p + result['metadata']['text']
|
| 104 |
-
|
| 105 |
prompt = ChatPromptTemplate.from_messages(
|
| 106 |
[
|
| 107 |
(
|
| 108 |
"system",
|
| 109 |
-
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.
|
| 110 |
),
|
| 111 |
MessagesPlaceholder(variable_name="history"),
|
| 112 |
-
("human", "{
|
| 113 |
]
|
| 114 |
)
|
| 115 |
runnable = (
|
|
@@ -123,11 +110,24 @@ async def start():
|
|
| 123 |
|
| 124 |
@cl.on_message
|
| 125 |
async def main(message: cl.Message):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
memory = cl.user_session.get("memory")
|
| 127 |
runnable = cl.user_session.get("runnable")
|
| 128 |
|
| 129 |
msg = cl.Message(author="Assistant Reviewstream",content="")
|
| 130 |
-
async for chunk in runnable.astream({"question": message.content},
|
| 131 |
config=RunnableConfig(callbacks=[cl.AsyncLangchainCallbackHandler(stream_final_answer=True)])):
|
| 132 |
await msg.stream_token(chunk)
|
| 133 |
|
|
|
|
| 62 |
cl.Text(content=contentPrompts, name=listPrompts_name, display="side")
|
| 63 |
)
|
| 64 |
await cl.Message(content="📚 " + listPrompts_name, elements=prompt_elements).send()
|
| 65 |
+
#settings = await cl.ChatSettings(
|
| 66 |
+
# [
|
| 67 |
+
# Select(
|
| 68 |
+
# id="Model",
|
| 69 |
+
# label="Publications de recherche",
|
| 70 |
+
# values=["---", "HAL", "Persée"],
|
| 71 |
+
# initial_index=0,
|
| 72 |
+
# ),
|
| 73 |
+
# ]
|
| 74 |
+
#).send()
|
| 75 |
|
| 76 |
cl.user_session.set("memory", ConversationBufferMemory(return_messages=True))
|
| 77 |
memory = cl.user_session.get("memory")
|
|
|
|
| 89 |
repo_id=repo_id, max_new_tokens=8000, temperature=1.0, task="text2text-generation", streaming=True
|
| 90 |
)
|
| 91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
prompt = ChatPromptTemplate.from_messages(
|
| 93 |
[
|
| 94 |
(
|
| 95 |
"system",
|
| 96 |
+
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.",
|
| 97 |
),
|
| 98 |
MessagesPlaceholder(variable_name="history"),
|
| 99 |
+
("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}."),
|
| 100 |
]
|
| 101 |
)
|
| 102 |
runnable = (
|
|
|
|
| 110 |
|
| 111 |
@cl.on_message
|
| 112 |
async def main(message: cl.Message):
|
| 113 |
+
os.environ['PINECONE_API_KEY'] = os.environ['PINECONE_API_KEY']
|
| 114 |
+
embeddings = HuggingFaceEmbeddings()
|
| 115 |
+
index_name = "all-venus"
|
| 116 |
+
pc = Pinecone(
|
| 117 |
+
api_key=os.environ['PINECONE_API_KEY']
|
| 118 |
+
)
|
| 119 |
+
index = pc.Index(index_name)
|
| 120 |
+
xq = embeddings.embed_query(message.content)
|
| 121 |
+
xc = index.query(vector=xq, filter={"categorie": {"$eq": "bibliographie-OPP-DGDIN"}},top_k=150, include_metadata=True)
|
| 122 |
+
context_p = ""
|
| 123 |
+
for result in xc['matches']:
|
| 124 |
+
context_p = context_p + result['metadata']['text']
|
| 125 |
+
|
| 126 |
memory = cl.user_session.get("memory")
|
| 127 |
runnable = cl.user_session.get("runnable")
|
| 128 |
|
| 129 |
msg = cl.Message(author="Assistant Reviewstream",content="")
|
| 130 |
+
async for chunk in runnable.astream({"question": message.content, "context":context_p},
|
| 131 |
config=RunnableConfig(callbacks=[cl.AsyncLangchainCallbackHandler(stream_final_answer=True)])):
|
| 132 |
await msg.stream_token(chunk)
|
| 133 |
|