File size: 5,301 Bytes
ed45f6d
467bbf7
89567b4
 
f7746eb
86e1f99
251b5a8
497ffd1
 
251b5a8
 
 
02c56e5
 
 
 
467bbf7
 
8116a09
497ffd1
251b5a8
 
 
467bbf7
 
02c56e5
 
 
467bbf7
02c56e5
 
467bbf7
 
497ffd1
467bbf7
 
02c56e5
ed45f6d
 
02c56e5
ed45f6d
 
86e1f99
02c56e5
 
86e1f99
02c56e5
 
497ffd1
89b174d
 
 
bd70fdf
89b174d
02c56e5
 
 
 
467bbf7
497ffd1
 
 
 
 
 
 
 
 
 
 
 
 
251b5a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
497ffd1
 
 
ed45f6d
02c56e5
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
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 cependant, cependant_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' >": cependant_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 = cependant(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.")