Spaces:
Runtime error
Runtime error
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 = []
|