FerdinandPyCode/AuthringApp
1
1import streamlit as st2 3import logging4from langchain.chat_models import ChatOpenAI5 6# Import the function for detecting the "est une étape" pattern7from pattern_ce_qui_explique import explication, explication_prompt_template8from pattern_epoque import epoque, epoque_prompt_template9from pattern_est_une_etape import une_etape, est_une_etape_prompt_template10from pattern_adverbe_ment import adverbement, adverbement_prompt_template11from pattern_connecteur_cependant import connecteur, connecteur_prompt_template12from pattern_decision import decision, decision_prompt_template13from pattern_look import look, look_prompt_template14from pattern_il_existe import il_existe, il_existe_prompt_template15from pattern_il_faut import il_faut, il_faut_prompt_template16from pattern_vous_pouvez import vous_pouvez, vous_pouvez_prompt_template17from pattern_imaginez import imaginez, imaginez_prompt_template18from pattern_en_plus import en_plus_prompt_template, detect_en_plus19from pattern_outre import detect_outre, outre_prompt_template20from pattern_il_suffit_de import detect_il_suffit_de, il_suffit_de_prompt_template21from pattern_important_crucial import importance_prompt_template, importance_detection22from pattern_permettre import permettre_detection, permettre_prompt_template23from pattern_voici_decouvrez import detect_voici_decouvrez, voici_decouvrez_prompt_template24from faute_style import detect_errors, academie_prompt_template25 26# Interface Streamlit27st.title("Analyse du texte")28 29# Liste des templates de prompt30List_prompt = {31 "< Détection du pattern 'est une étape' >": est_une_etape_prompt_template(),32 "< Détection du pattern 'epoque de, à l'ère de' >": epoque_prompt_template(),33 "< Détection du pattern 'ce qui explique' >": explication_prompt_template(),34 "< Détection des adverbes en -ment >": adverbement_prompt_template(),35 "< Détection des connecteurs 'cependant' >": connecteur_prompt_template(),36 "< Détection des decision 'éclairée...' >": decision_prompt_template(),37 "< Détection du pattern 'look' >": look_prompt_template(),38 "< Détection du pattern 'il existe' >": il_existe_prompt_template(),39 "< Détection du pattern 'il faut' >": il_faut_prompt_template(),40 "< Détection du pattern 'vous pouvez' >": vous_pouvez_prompt_template(),41 "< Détection du pattern 'imaginez' >": imaginez_prompt_template(),42 "< Détection du pattern 'en plus' >": en_plus_prompt_template(),43 "< Détection du pattern 'outre' >": outre_prompt_template(),44 "< Détection du pattern 'il suffit de' >": il_suffit_de_prompt_template(),45 "< Détection du pattern 'important crucial' >": importance_prompt_template(),46 "< Détection du pattern 'permettre' >": permettre_prompt_template(),47 "< Détection du pattern 'voici découvrez' >": voici_decouvrez_prompt_template(),48 "< Détection des erreurs de style" : academie_prompt_template()49}50 51# Menu déroulant pour sélectionner l'analyse52option = st.selectbox(53 "Choisissez l'analyse à effectuer :",54 List_prompt.keys()55)56 57# Afficher le prompt correspondant à l'option sélectionnée58selected_prompt = List_prompt.get(option, "")59st.subheader(f"Prompt : {option}")60st.text_area("Voici le prompt utilisé pour cette analyse :", value=selected_prompt, height=300, disabled=True)61 62# Champ de saisie du texte63input_text = st.text_area("Entrez votre texte ici :", height=200)64 65# Bouton d'analyse66if st.button("Lancer l'analyse"):67 if input_text:68 if option == "< Détection du pattern 'est une étape' >":69 try:70 # Analyser le texte pour les fautes de style71 result = une_etape(input_text)72 73 # Afficher les résultats en JSON formaté74 st.subheader("Résultats de l'analyse du pattern 'est une étape'")75 st.json(result['result'], expanded=True)76 77 # Afficher le prompt final78 # st.subheader("Prompt final envoyé au modèle")79 # st.write(result['prompt'])80 81 except Exception as e:82 logging.error(f"Error during analysis: {e}")83 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")84 85 elif option == "< Détection du pattern 'epoque de, à l'ère de' >":86 try:87 # Analyser le texte pour les fautes de style88 result = epoque(input_text)89 90 # Afficher les résultats en JSON formaté91 st.subheader("Résultats de l'analyse du pattern 'epoque de, à l'ère de'")92 st.json(result['result'], expanded=True)93 94 # Afficher le prompt final95 # st.subheader("Prompt final envoyé au modèle")96 # st.write(result['prompt'])97 98 except Exception as e:99 logging.error(f"Error during analysis: {e}")100 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")101 102 elif option == "< Détection du pattern 'ce qui explique' >":103 try:104 # Analyser le texte pour les fautes de style105 result = explication(input_text)106 107 # Afficher les résultats en JSON formaté108 st.subheader("Résultats de l'analyse du pattern 'ce qui explique'")109 st.json(result['result'], expanded=True)110 111 # Afficher le prompt final112 # st.subheader("Prompt final envoyé au modèle")113 # st.write(result['prompt'])114 115 except Exception as e:116 logging.error(f"Error during analysis: {e}")117 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")118 119 elif option == "< Détection des adverbes en -ment >":120 try:121 # Analyser le texte pour les fautes de style122 result = adverbement(input_text)123 124 # Afficher les résultats en JSON formaté125 st.subheader("Résultats de l'analyse des adverbes en -ment")126 st.json(result['result'], expanded=True)127 128 # Afficher le prompt final129 # st.subheader("Prompt final envoyé au modèle")130 # st.write(result['prompt'])131 132 except Exception as e:133 logging.error(f"Error during analysis: {e}")134 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")135 136 elif option == "< Détection des connecteurs 'cependant' >":137 try:138 # Analyser le texte pour les fautes de style139 result = connecteur(input_text)140 141 # Afficher les résultats en JSON formaté142 st.subheader("Résultats de l'analyse des connecteurs 'cependant'")143 st.json(result['result'], expanded=True)144 145 # Afficher le prompt final146 # st.subheader("Prompt final envoyé au modèle")147 # st.write(result['prompt'])148 149 except Exception as e:150 logging.error(f"Error during analysis: {e}")151 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")152 153 elif option == "< Détection des decision 'éclairée...' >":154 try:155 # Analyser le texte pour les fautes de style156 result = decision(input_text)157 158 # Afficher les résultats en JSON formaté159 st.subheader("Résultats de l'analyse des decision 'éclairée...'")160 st.json(result['result'], expanded=True)161 162 # Afficher le prompt final163 # st.subheader("Prompt final envoyé au modèle")164 # st.write(result['prompt'])165 166 except Exception as e:167 logging.error(f"Error during analysis: {e}")168 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")169 170 elif option == "< Détection du pattern 'look' >":171 try:172 # Analyser le texte pour les fautes de style173 result = look(input_text)174 175 # Afficher les résultats en JSON formaté176 st.subheader("Résultats de l'analyse du pattern 'look'")177 st.json(result['result'], expanded=True)178 179 # Afficher le prompt final180 # st.subheader("Prompt final envoyé au modèle")181 # st.write(result['prompt'])182 183 except Exception as e:184 logging.error(f"Error during analysis: {e}")185 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")186 187 elif option == "< Détection du pattern 'il existe' >":188 try:189 # Analyser le texte pour les fautes de style190 result = il_existe(input_text)191 192 # Afficher les résultats en JSON formaté193 st.subheader("Résultats de l'analyse du pattern 'il existe'")194 st.json(result['result'], expanded=True)195 196 # Afficher le prompt final197 # st.subheader("Prompt final envoyé au modèle")198 # st.write(result['prompt'])199 200 except Exception as e:201 logging.error(f"Error during analysis: {e}")202 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")203 204 elif option == "< Détection du pattern 'il faut' >":205 try:206 # Analyser le texte pour les fautes de style207 result = il_faut(input_text)208 209 # Afficher les résultats en JSON formaté210 st.subheader("Résultats de l'analyse du pattern 'il faut'")211 st.json(result['result'], expanded=True)212 213 # Afficher le prompt final214 # st.subheader("Prompt final envoyé au modèle")215 # st.write(result['prompt'])216 217 except Exception as e:218 logging.error(f"Error during analysis: {e}")219 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")220 221 elif option == "< Détection du pattern 'vous pouvez' >":222 try:223 # Analyser le texte pour les fautes de style224 result = vous_pouvez(input_text)225 226 # Afficher les résultats en JSON formaté227 st.subheader("Résultats de l'analyse du pattern 'vous pouvez'")228 st.json(result['result'], expanded=True)229 230 # Afficher le prompt final231 # st.subheader("Prompt final envoyé au modèle")232 # st.write(result['prompt'])233 234 except Exception as e:235 logging.error(f"Error during analysis: {e}")236 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")237 238 elif option == "< Détection du pattern 'imaginez' >":239 try:240 # Analyser le texte pour les fautes de style241 result = imaginez(input_text)242 243 # Afficher les résultats en JSON formaté244 st.subheader("Résultats de l'analyse du pattern 'imaginez'")245 st.json(result['result'], expanded=True)246 247 # Afficher le prompt final248 # st.subheader("Prompt final envoyé au modèle")249 # st.write(result['prompt'])250 251 except Exception as e:252 logging.error(f"Error during analysis: {e}")253 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")254 255 elif option == "< Détection du pattern 'en plus' >":256 try:257 # Analyser le texte pour les fautes de style258 result = detect_en_plus(input_text)259 260 # Afficher les résultats en JSON formaté261 st.subheader("Résultats de l'analyse du pattern 'en plus'")262 st.json(result['result'], expanded=True)263 264 # Afficher le prompt final265 # st.subheader("Prompt final envoyé au modèle")266 # st.write(result['prompt'])267 268 except Exception as e:269 logging.error(f"Error during analysis: {e}")270 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")271 272 elif option == "< Détection du pattern 'outre' >":273 try:274 # Analyser le texte pour les fautes de style275 result = detect_outre(input_text)276 277 # Afficher les résultats en JSON formaté278 st.subheader("Résultats de l'analyse du pattern 'outre'")279 st.json(result['result'], expanded=True)280 281 # Afficher le prompt final282 # st.subheader("Prompt final envoyé au modèle")283 # st.write(result['prompt'])284 285 except Exception as e:286 logging.error(f"Error during analysis: {e}")287 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")288 289 elif option == "< Détection du pattern 'il suffit de' >":290 try:291 # Analyser le texte pour les fautes de style292 result = detect_il_suffit_de(input_text)293 294 # Afficher les résultats en JSON formaté295 st.subheader("Résultats de l'analyse du pattern 'il suffit de'")296 st.json(result['result'], expanded=True)297 298 # Afficher le prompt final299 # st.subheader("Prompt final envoyé au modèle")300 # st.write(result['prompt'])301 302 except Exception as e:303 logging.error(f"Error during analysis: {e}")304 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")305 306 elif option == "< Détection du pattern 'important crucial' >":307 try:308 # Analyser le texte pour les fautes de style309 result = importance_detection(input_text)310 311 # Afficher les résultats en JSON formaté312 st.subheader("Résultats de l'analyse du pattern 'important crucial'")313 st.json(result['result'], expanded=True)314 315 # Afficher le prompt final316 # st.subheader("Prompt final envoyé au modèle")317 # st.write(result['prompt'])318 319 except Exception as e:320 logging.error(f"Error during analysis: {e}")321 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")322 323 elif option == "< Détection du pattern 'permettre' >":324 try:325 # Analyser le texte pour les fautes de style326 result = permettre_detection(input_text)327 328 # Afficher les résultats en JSON formaté329 st.subheader("Résultats de l'analyse du pattern 'permettre'")330 st.json(result['result'], expanded=True)331 332 # Afficher le prompt final333 # st.subheader("Prompt final envoyé au modèle")334 # st.write(result['prompt'])335 336 except Exception as e:337 logging.error(f"Error during analysis: {e}")338 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")339 340 elif option == "< Détection du pattern 'voici découvrez' >":341 try:342 # Analyser le texte pour les fautes de style343 result = detect_voici_decouvrez(input_text)344 345 # Afficher les résultats en JSON formaté346 st.subheader("Résultats de l'analyse du pattern 'voici découvrez'")347 st.json(result['result'], expanded=True)348 349 # Afficher le prompt final350 # st.subheader("Prompt final envoyé au modèle")351 # st.write(result['prompt'])352 353 except Exception as e:354 logging.error(f"Error during analysis: {e}")355 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")356 357 elif option == "< Détection des erreurs de style" :358 try:359 # Analyser le texte pour les fautes de style360 result = detect_errors(input_text)361 362 # Afficher les résultats en JSON formaté363 st.subheader("Résultats de l'analyse des erreurs de style")364 st.json(result['result'], expanded=True)365 366 # Afficher le prompt final367 st.subheader("Prompt final envoyé au modèle")368 st.write(result['prompt'])369 370 except Exception as e:371 logging.error(f"Error during analysis: {e}")372 st.error(f"Une erreur s'est produite lors de l'analyse : {str(e)}")373 374 else:375 st.error("Veuillez entrer du texte pour lancer l'analyse.")