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 # Interface Streamlit st.title("Analyse du texte") # Liste des templates de prompt List_prompt = { "< Détection du pattern 'est une étape' >": est_une_etape_prompt_template(), "< Détection du pattern 'epoque de, à l'ère de' >": epoque_prompt_template(), "< Détection du pattern 'ce qui explique' >": explication_prompt_template(), "< Détection des adverbes en -ment >": adverbement_prompt_template(), "< Détection des connecteurs 'cependant' >": connecteur_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 == "< 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 == "< 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 == "< 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 == "< 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 == "< 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)}") else: st.error("Veuillez entrer du texte pour lancer l'analyse.")