Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
@@ -6,7 +6,7 @@ from langchain.schema import StrOutputParser
|
|
6 |
from langchain.schema.runnable import Runnable, RunnablePassthrough, RunnableLambda
|
7 |
from langchain.schema.runnable.config import RunnableConfig
|
8 |
from langchain.schema import StrOutputParser
|
9 |
-
from
|
10 |
import os
|
11 |
import pandas as pd
|
12 |
import numpy as np
|
@@ -20,7 +20,7 @@ from deep_translator import GoogleTranslator
|
|
20 |
import chainlit as cl
|
21 |
|
22 |
def library():
|
23 |
-
return "Exemple de requêtes sur les données
|
24 |
@cl.author_rename
|
25 |
def rename(orig_author: str):
|
26 |
rename_dict = {"AgentExecutor": "Agent conversationnel", "Error": "Réponse de l'assistant", "DatapccSkillStream": "Copilot", "load_memory_variables": "Historique de conversation 💬", "Retriever": "Agent conversationnel", "StuffDocumentsChain": "Chaîne de documents", "LLMChain": "Agent", "HuggingFaceEndpoint": "Réponse de Mistral AI 🤖"}
|
@@ -28,7 +28,7 @@ def rename(orig_author: str):
|
|
28 |
|
29 |
@cl.on_chat_start
|
30 |
async def on_chat_start():
|
31 |
-
await cl.Message(f"> Votre assistant conversationnel vous permet d'analyser les données
|
32 |
listPrompts_name = f"Liste des requêtes"
|
33 |
prompt_elements = []
|
34 |
prompt_elements.append(
|
@@ -39,43 +39,20 @@ async def on_chat_start():
|
|
39 |
name="You",
|
40 |
url="https://cipen.univ-gustave-eiffel.fr/typo3conf/ext/cipen_package/Resources/Public/Dataviz/datalab/Venus/logo-ofipe.jpg",
|
41 |
).send()
|
42 |
-
|
43 |
-
|
44 |
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
actions=actions,
|
57 |
-
timeout=600,
|
58 |
-
).send()
|
59 |
-
|
60 |
-
if selectRome and selectRome.get("name") == "selectRome":
|
61 |
-
await cl.Message(
|
62 |
-
content=f"Vous pouvez utiliser le COPILOT pour répondre à vos questions sur : \"{selectRome.get('label')}\", Codes ROME : \"{selectRome.get('value')}\"",
|
63 |
-
).send()
|
64 |
-
selectRomes = selectRome.get('value')
|
65 |
-
os.environ['HUGGINGFACEHUB_API_TOKEN'] = os.environ['HUGGINGFACEHUB_API_TOKEN']
|
66 |
-
repo_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
|
67 |
-
|
68 |
-
llm = HuggingFaceEndpoint(
|
69 |
-
repo_id=repo_id, temperature=1.0
|
70 |
-
)
|
71 |
-
agent = create_csv_agent(
|
72 |
-
llm,
|
73 |
-
"https://cipen.univ-gustave-eiffel.fr/typo3conf/ext/cipen_package/Resources/Public/Dataviz/datalab/crossfilterings/EmploisRome/" + selectRomes[1:] + ".csv",
|
74 |
-
verbose=False,
|
75 |
-
agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
|
76 |
-
max_iterations=5,
|
77 |
-
)
|
78 |
-
cl.user_session.set("runnable", agent)
|
79 |
|
80 |
@cl.on_message
|
81 |
async def on_message(message: cl.Message):
|
@@ -83,9 +60,7 @@ async def on_message(message: cl.Message):
|
|
83 |
runnable = cl.user_session.get("runnable") # type: Runnable
|
84 |
cb = cl.AsyncLangchainCallbackHandler()
|
85 |
try:
|
86 |
-
res = await runnable.acall("
|
87 |
-
translated = GoogleTranslator(source='auto', target='de').translate("keep it up, you are awesome")
|
88 |
-
|
89 |
await cl.Message(author="COPILOT",content=GoogleTranslator(source='auto', target='fr').translate(res['output'])).send()
|
90 |
listPrompts_name = f"Liste des requêtes"
|
91 |
prompt_elements = []
|
|
|
6 |
from langchain.schema.runnable import Runnable, RunnablePassthrough, RunnableLambda
|
7 |
from langchain.schema.runnable.config import RunnableConfig
|
8 |
from langchain.schema import StrOutputParser
|
9 |
+
from langchain_community.document_loaders.csv_loader import CSVLoader
|
10 |
import os
|
11 |
import pandas as pd
|
12 |
import numpy as np
|
|
|
20 |
import chainlit as cl
|
21 |
|
22 |
def library():
|
23 |
+
return "Exemple de requêtes sur les données de l'enquête.\n\nQ1 : Quels sont les équipements préférentiels des étudiant.e.s?\nQ2 : Quels sont les 3 outils numériques principaux de l'université pour le travail universitaire?\nQ3 : Quels sont les outils numériques de l'université préférés des étudiant.e.s?\nQ4 : Quels sont les réseaux sociaux préférés des étudiant.e.s?\nQ5 : Quels sont les outils numériques de l'université préférés des étudiant.e.s pour communiquer?\nQ6 : Quels sont les outils numériques de l'université préférés des étudiant.e.s pour le travail universitaire?\nQ7 : Quel est l'usage du mail de l'université?\nQ8 : Quel est l'usage de l'ENT de l'université?\nQ9 : Donne le pourcentage d'étudiant.e.s en licence3 qui utilise souvent Moodle?\nQ10 : Donne le pourcentage d'étudiant.e.s en licence1 qui utilise souvent le mail?\nQ11 : Donne le pourcentage d'étudiant.e.s en licence1 de la filière Sciences économiques qui utilise souvent le mail?\nQ12 : Pourquoi les étudiants utilisent WhatsApp?\nQ13 : Pourquoi les étudiants utilisent Discord?\nQ14 : Quels avantages représentent les outils numériques?\nQ15 : Quelles sont les principales difficultés?\nQ16 : Compare l'usage de l'ENT par rapport à l'usage de l'email."
|
24 |
@cl.author_rename
|
25 |
def rename(orig_author: str):
|
26 |
rename_dict = {"AgentExecutor": "Agent conversationnel", "Error": "Réponse de l'assistant", "DatapccSkillStream": "Copilot", "load_memory_variables": "Historique de conversation 💬", "Retriever": "Agent conversationnel", "StuffDocumentsChain": "Chaîne de documents", "LLMChain": "Agent", "HuggingFaceEndpoint": "Réponse de Mistral AI 🤖"}
|
|
|
28 |
|
29 |
@cl.on_chat_start
|
30 |
async def on_chat_start():
|
31 |
+
await cl.Message(f"> Votre assistant conversationnel vous permet d'analyser les données de l'enquête sur les usages du numérique par les étudiant.e.s Licence").send()
|
32 |
listPrompts_name = f"Liste des requêtes"
|
33 |
prompt_elements = []
|
34 |
prompt_elements.append(
|
|
|
39 |
name="You",
|
40 |
url="https://cipen.univ-gustave-eiffel.fr/typo3conf/ext/cipen_package/Resources/Public/Dataviz/datalab/Venus/logo-ofipe.jpg",
|
41 |
).send()
|
42 |
+
os.environ['HUGGINGFACEHUB_API_TOKEN'] = os.environ['HUGGINGFACEHUB_API_TOKEN']
|
43 |
+
repo_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
|
44 |
|
45 |
+
llm = HuggingFaceEndpoint(
|
46 |
+
repo_id=repo_id, temperature=1.0
|
47 |
+
)
|
48 |
+
agent = create_csv_agent(
|
49 |
+
llm,
|
50 |
+
"https://cipen.univ-gustave-eiffel.fr/typo3conf/ext/cipen_package/Resources/Public/Dataviz/datalab/crossfilterings/enquete-DClic-juin2022-dataviz-ord1.csv",
|
51 |
+
verbose=True,
|
52 |
+
agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
|
53 |
+
max_iterations=5,
|
54 |
+
)
|
55 |
+
cl.user_session.set("runnable", agent)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
@cl.on_message
|
58 |
async def on_message(message: cl.Message):
|
|
|
60 |
runnable = cl.user_session.get("runnable") # type: Runnable
|
61 |
cb = cl.AsyncLangchainCallbackHandler()
|
62 |
try:
|
63 |
+
res = await runnable.acall("Réponds en langue française à la question suivante :\n" + message.content + "\nDétaille la réponse en faisant une analyse complète.", callbacks=[cb])
|
|
|
|
|
64 |
await cl.Message(author="COPILOT",content=GoogleTranslator(source='auto', target='fr').translate(res['output'])).send()
|
65 |
listPrompts_name = f"Liste des requêtes"
|
66 |
prompt_elements = []
|