File size: 17,765 Bytes
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cc27478
 
55f834a
 
 
 
 
 
9b93b4d
 
68e87d0
9b93b4d
 
329999f
82cca07
 
 
c860206
 
55f834a
 
 
 
bc5d0b7
55f834a
cecadca
 
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9b93b4d
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9b93b4d
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68e87d0
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9b93b4d
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9b93b4d
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329999f
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82cca07
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82cca07
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82cca07
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c860206
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c860206
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cecadca
55f834a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cecadca
cc27478
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55f834a
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
import streamlit as st

import logging
from langchain.chat_models import ChatOpenAI

# Import the function for detecting the "est une étape" pattern
from pattern_ce_qui_explique import explication, explication_prompt_template
from pattern_epoque import epoque, epoque_prompt_template
from pattern_est_une_etape import une_etape, est_une_etape_prompt_template
from pattern_adverbe_ment import adverbement, adverbement_prompt_template
from pattern_connecteur_cependant import connecteur, connecteur_prompt_template
from pattern_decision import decision, decision_prompt_template
from pattern_look import look, look_prompt_template
from pattern_il_existe import il_existe, il_existe_prompt_template
from pattern_il_faut import il_faut, il_faut_prompt_template
from pattern_vous_pouvez import vous_pouvez, vous_pouvez_prompt_template
from pattern_imaginez import imaginez, imaginez_prompt_template
from pattern_en_plus import en_plus_prompt_template, detect_en_plus
from pattern_outre import detect_outre, outre_prompt_template
from pattern_il_suffit_de import detect_il_suffit_de, il_suffit_de_prompt_template
from pattern_important_crucial import importance_prompt_template, importance_detection
from pattern_permettre import permettre_detection, permettre_prompt_template
from pattern_voici_decouvrez import detect_voici_decouvrez, voici_decouvrez_prompt_template
from erreurs_de_langue import detect_errors, academie_prompt_template
from erreur_de_style import detect_erreur_de_style, erreur_de_style_prompt_template

# Interface Streamlit
st.title("Analyse du texte")

# Liste des templates de prompt
List_prompt = {
    "<V2 Détection du pattern 'est une étape' >": est_une_etape_prompt_template(),
    "<V2 Détection du pattern 'epoque de, à l'ère de' >": epoque_prompt_template(),
    "<V2 Détection du pattern 'ce qui explique' >": explication_prompt_template(),
    "<V2 Détection des adverbes en -ment >": adverbement_prompt_template(),
    "<V2 Détection des connecteurs 'cependant' >": connecteur_prompt_template(),
    "<V2 Détection des decision 'éclairée...' >": decision_prompt_template(),
    "<V2 Détection du pattern 'look' >": look_prompt_template(),
    "<V2 Détection du pattern 'il existe' >": il_existe_prompt_template(),
    "<V2 Détection du pattern 'il faut' >": il_faut_prompt_template(),
    "<V2 Détection du pattern 'vous pouvez' >": vous_pouvez_prompt_template(),
    "<V2 Détection du pattern 'imaginez' >": imaginez_prompt_template(),
    "< Détection du pattern 'en plus' >": en_plus_prompt_template(),
    "< Détection du pattern 'outre' >": outre_prompt_template(),
    "< Détection du pattern 'il suffit de' >": il_suffit_de_prompt_template(),
    "< Détection du pattern 'important crucial' >": importance_prompt_template(),
    "<V2 Détection du pattern 'permettre' >": permettre_prompt_template(),
    "< Détection du pattern 'voici découvrez' >": voici_decouvrez_prompt_template(),
    "<V2 Détection des erreurs de 'langue courante' >" : academie_prompt_template(),
    "<V2 Détection des erreurs de style >": erreur_de_style_prompt_template()
}

# Menu déroulant pour sélectionner l'analyse
option = st.selectbox(
    "Choisissez l'analyse à effectuer :",
    List_prompt.keys()
)

# Afficher le prompt correspondant à l'option sélectionnée
selected_prompt = List_prompt.get(option, "")
st.subheader(f"Prompt : {option}")
st.text_area("Voici le prompt utilisé pour cette analyse :", value=selected_prompt, height=300, disabled=True)

# Champ de saisie du texte
input_text = st.text_area("Entrez votre texte ici :", height=200)

# Bouton d'analyse
if st.button("Lancer l'analyse"):
    if input_text:
        if option == "<V2 Détection du pattern 'est une étape' >":
            try:
                # Analyser le texte pour les fautes de style
                result = une_etape(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'est une étape'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")

        elif option == "<V2 Détection du pattern 'epoque de, à l'ère de' >":
            try:
                # Analyser le texte pour les fautes de style
                result = epoque(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'epoque de, à l'ère de'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection du pattern 'ce qui explique' >":
            try:
                # Analyser le texte pour les fautes de style
                result = explication(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'ce qui explique'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection des adverbes en -ment >":
            try:
                # Analyser le texte pour les fautes de style
                result = adverbement(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse des adverbes en -ment")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection des connecteurs 'cependant' >":
            try:
                # Analyser le texte pour les fautes de style
                result = connecteur(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse des connecteurs 'cependant'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection des decision 'éclairée...' >":
            try:
                # Analyser le texte pour les fautes de style
                result = decision(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse des decision 'éclairée...'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection du pattern 'look' >":
            try:
                # Analyser le texte pour les fautes de style
                result = look(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'look'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection du pattern 'il existe' >":
            try:
                # Analyser le texte pour les fautes de style
                result = il_existe(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'il existe'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection du pattern 'il faut' >":
            try:
                # Analyser le texte pour les fautes de style
                result = il_faut(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'il faut'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection du pattern 'vous pouvez' >":
            try:
                # Analyser le texte pour les fautes de style
                result = vous_pouvez(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'vous pouvez'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection du pattern 'imaginez' >":
            try:
                # Analyser le texte pour les fautes de style
                result = imaginez(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'imaginez'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "< Détection du pattern 'en plus' >":
            try:
                # Analyser le texte pour les fautes de style
                result = detect_en_plus(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'en plus'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "< Détection du pattern 'outre' >":
            try:
                # Analyser le texte pour les fautes de style
                result = detect_outre(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'outre'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "< Détection du pattern 'il suffit de' >":
            try:
                # Analyser le texte pour les fautes de style
                result = detect_il_suffit_de(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'il suffit de'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")

        elif option == "< Détection du pattern 'important crucial' >":
            try:
                # Analyser le texte pour les fautes de style
                result = importance_detection(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'important crucial'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "< Détection du pattern 'permettre' >":
            try:
                # Analyser le texte pour les fautes de style
                result = permettre_detection(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'permettre'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "< Détection du pattern 'voici découvrez' >":
            try:
                # Analyser le texte pour les fautes de style
                result = detect_voici_decouvrez(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse du pattern 'voici découvrez'")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                # st.subheader("Prompt final envoyé au modèle")
                # st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection des erreurs de 'langue courante' >" :
            try:
                # Analyser le texte pour les fautes de style
                result = detect_errors(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse des erreurs de style")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                st.subheader("Prompt final envoyé au modèle")
                st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
        
        elif option == "<V2 Détection des erreurs de style >":
            try:
                # Analyser le texte pour les fautes de style
                result = detect_erreur_de_style(input_text)

                # Afficher les résultats en JSON formaté
                st.subheader("Résultats de l'analyse des erreurs de style")
                st.json(result['result'], expanded=True)

                # Afficher le prompt final
                st.subheader("Prompt final envoyé au modèle")
                st.write(result['prompt'])

            except Exception as e:
                logging.error(f"Error during analysis: {e}")
                st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")
    else:
        st.error("Veuillez entrer du texte pour lancer l'analyse.")