Lenylvt commited on
Commit
b4759b8
·
verified ·
1 Parent(s): 3a59069

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +52 -0
  2. requirements.txt +2 -0
app.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from huggingface_hub import InferenceClient
3
+ import time
4
+
5
+ client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
6
+
7
+ def generer_dictee(classe, longueur):
8
+ prompt = f"Créer une dictée pour la classe {classe} d'une longueur d'environ {longueur} mots. Il est important de crée le texte uniquement de la dictée et de ne pas ajouter de consignes ou d'indications supplémentaires."
9
+
10
+ generate_kwargs = {
11
+ "temperature": 0.7,
12
+ "max_new_tokens": 1000,
13
+ "top_p": 0.95,
14
+ "repetition_penalty": 1.2,
15
+ "do_sample": True,
16
+ }
17
+
18
+ formatted_prompt = f"<s>[INST] {prompt} [/INST]"
19
+ stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
20
+ dictee = ""
21
+
22
+ for response in stream:
23
+ dictee += response.token.text
24
+
25
+ # Supprimer la balise </s>
26
+ dictee = dictee.replace("</s>", "")
27
+
28
+ # Supprimer "Voici une dictée de..." au début du texte, s'il est présent
29
+ if dictee.startswith(" Voici une dictée de "):
30
+ dictee = dictee.split(":", 1)[1].strip()
31
+
32
+ return dictee
33
+
34
+ st.title('Générateur de Dictée')
35
+
36
+ with st.expander("Paramètres de la dictée"):
37
+ classe = st.selectbox("Classe", ["CP", "CE1", "CE2", "CM1", "CM2", "6ème", "5ème", "4ème", "3ème", "Seconde", "Premiere", "Terminale"], index=2)
38
+ longueur = st.slider("Longueur de la dictée (nombre de mots)", 50, 500, 200)
39
+ st.caption("*Merci de ne pas mettre la longueur a 50 ou 500 pour des raisons de bug.*")
40
+
41
+ if st.button('Générer la Dictée'):
42
+ # Afficher une barre de chargement pendant la génération
43
+ with st.spinner("Génération de la dictée en cours..."):
44
+ # Simuler un délai de chargement (facultatif)
45
+ time.sleep(1)
46
+
47
+ dictee = generer_dictee(classe, longueur)
48
+
49
+ # Afficher la dictée générée
50
+ st.text_area("Voici votre dictée :", dictee, height=300)
51
+
52
+
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ streamlit
2
+ huggingface-hub