import streamlit as st import logging from langchain.chat_models import ChatOpenAI # Import the function for detecting the "est une étape" pattern from est_une_etape import une_etape, est_une_etape_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(), # Ajoutez d'autres options ici si nécessaire } # 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("Prompt correspondant à l'option sélectionnée") 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 des fautes 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 == "Détection du verbe 'permettre'": pass # try: # # Détecter les formes du verbe "permettre" # result = detect_permettre_forms(input_text) # # Afficher les résultats # st.subheader("Résultats de la détection du verbe 'permettre'") # if result: # for mot, index in result: # st.write(f"Mot : '{mot}' à l'index {index}") # else: # st.write("Aucune forme du verbe 'permettre' n'a été trouvée.") # except Exception as e: # logging.error(f"Error during detection: {e}") # st.error(f"Une erreur s'est produite lors de la détection : {str(e)}") else: st.error("Veuillez entrer du texte pour lancer l'analyse.")