Spaces:
Sleeping
Sleeping
Demosthene-OR
commited on
Commit
•
27ecaea
1
Parent(s):
67f3d25
Update chatbot_tab.py
Browse files- tabs/chatbot_tab.py +45 -26
tabs/chatbot_tab.py
CHANGED
@@ -73,31 +73,51 @@ workflow.add_edge("model", END)
|
|
73 |
memory = MemorySaver()
|
74 |
app = workflow.compile(checkpointer=memory)
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
# @st.cache_data
|
77 |
def init():
|
78 |
-
global config,thread_id, context,human_message1,ai_message1,language, app, model_speech,
|
|
|
79 |
|
80 |
model_speech = whisper.load_model("base")
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
options2 = ["Entreprise qui commercialise des solutions (produits et ou services) B2B innovantes avec une équipe commerciale de plus de 15 personnes",
|
88 |
"Entreprise qui commercialise des solutions (produits et ou services) B2B innovantes avec une équipe commerciale de plus de 100 personnes"]
|
89 |
translated_options2 = [tr(o) for o in options2]
|
90 |
-
selected_option2 = st.selectbox(tr("Activité"),translated_options2)
|
91 |
selected_index2 = translated_options2.index(selected_option2)
|
92 |
|
93 |
options3 = ["Logiciels informatiques et d’application SaaS",
|
94 |
"Équipements et solutions industrielles",
|
95 |
"Services et conseil spécialisés"]
|
96 |
translated_options3 = [tr(o) for o in options3]
|
97 |
-
selected_option3 = st.selectbox(tr("Domaine d'activité"),translated_options3)
|
98 |
selected_index3 = translated_options3.index(selected_option3)
|
99 |
|
100 |
-
context = tr(f"""Tu es un {
|
101 |
Cette entreprise propose des {options3[selected_index3]}.
|
102 |
""")
|
103 |
context = st.text_area(label=tr("Résumé du Contexte (modifiable):"), value=context)
|
@@ -109,8 +129,8 @@ Cette entreprise propose des {options3[selected_index3]}.
|
|
109 |
"Il est difficile d’affiner une proposition de valeur unique et pertinente de l'offre face à la concurrence qui évolue rapidement",
|
110 |
"Il est chronophage de former les forces de ventes sur la proposition de valeur et ses évolutions"
|
111 |
]
|
112 |
-
selected_options4 = st.multiselect(tr("Problématiques"),[tr(o) for o in options4])
|
113 |
-
problematique =
|
114 |
markdown_text4 = tr("""
|
115 |
Les problématiques rencontrés par notre prospect (problèmes à résoudre) sont:""")
|
116 |
markdown_text4 = markdown_text4+"".join(f"\n- {o}" for o in problematique)
|
@@ -121,8 +141,8 @@ Cette entreprise propose des {options3[selected_index3]}.
|
|
121 |
"Affiner et modéliser la proposition de valeur",
|
122 |
"Mettre en oeuvre des meilleures pratiques commerciales"
|
123 |
]
|
124 |
-
selected_options5 = st.multiselect(tr("Processus"),[tr(o) for o in options5])
|
125 |
-
processus =
|
126 |
markdown_text5 = tr("""
|
127 |
\nLes processus adressés par le prospect (cas d’usages) sont:""")
|
128 |
markdown_text5 = markdown_text5+"".join(f"\n- {o}" for o in processus)
|
@@ -136,8 +156,8 @@ Cette entreprise propose des {options3[selected_index3]}.
|
|
136 |
"Réduire temps de monté en compétence des nouvelles embauches",
|
137 |
"Fidéliser les clients"
|
138 |
]
|
139 |
-
selected_options6 = st.multiselect(tr("Objectifs d'amélioration"),[tr(o) for o in options6])
|
140 |
-
objectifs =
|
141 |
markdown_text6 = tr("""
|
142 |
\nLes objectifs d’amélioration opérationnelle du prospect (Valeur ajoutée) sont:""")
|
143 |
markdown_text6 = markdown_text6+"".join(f"\n- {o}" for o in objectifs)
|
@@ -150,8 +170,8 @@ Cette entreprise propose des {options3[selected_index3]}.
|
|
150 |
"Conseil externe en positionnement marché & produit",
|
151 |
"Services externes de formation des équipes commerciales"
|
152 |
]
|
153 |
-
selected_options7 = st.multiselect(tr("Solutions utilisées"),[tr(o) for o in options7])
|
154 |
-
solutions_utilisees =
|
155 |
markdown_text7 = tr("""
|
156 |
\nLes principales Solutions utilisées par nos prospects pour traiter les cas d’usages (Catégories de solutions du marché) sont:""")
|
157 |
markdown_text7 = markdown_text7+"".join(f"\n- {o}" for o in solutions_utilisees)
|
@@ -159,7 +179,7 @@ Cette entreprise propose des {options3[selected_index3]}.
|
|
159 |
st.write("")
|
160 |
col1, col2, col3 = st.columns(3)
|
161 |
with col1:
|
162 |
-
virulence = st.slider(tr("Virulence (choisissez une valeur entre 1 et 5)"), min_value=1, max_value=5, step=1)
|
163 |
markdown_text8 = tr(f"""\nTu vas utiliser une échelle de 1 à 5 de virulence. Pour cette simulation utilise le niveaux {virulence}""")
|
164 |
|
165 |
human_message1 = tr("""Je souhaites que nous ayons une conversation verbale entre un commercial de mon entreprise, et toi que je prospecte.
|
@@ -179,7 +199,7 @@ Attention: Ce n'est pas toi qui m'aide, c'est moi qui t'aide avec ma solution.
|
|
179 |
------------------------------------------------------------------------------------
|
180 |
''')
|
181 |
|
182 |
-
ai_message1 = tr(f"J'ai bien compris, je suis un {
|
183 |
|
184 |
|
185 |
|
@@ -375,13 +395,12 @@ def run():
|
|
375 |
# Ajouter un espace pour séparer les zones
|
376 |
# st.divider()
|
377 |
with col2:
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
st.markdown(message["content"])
|
385 |
else:
|
386 |
st.write("")
|
387 |
st.write("")
|
|
|
73 |
memory = MemorySaver()
|
74 |
app = workflow.compile(checkpointer=memory)
|
75 |
|
76 |
+
selected_index1 = 0
|
77 |
+
selected_index2 = 0
|
78 |
+
selected_index3 = 0
|
79 |
+
selected_options4 = []
|
80 |
+
selected_options5 = []
|
81 |
+
selected_options6 = []
|
82 |
+
selected_options7 = []
|
83 |
+
virulence = 1
|
84 |
+
|
85 |
# @st.cache_data
|
86 |
def init():
|
87 |
+
global config,thread_id, context,human_message1,ai_message1,language, app, model_speech,prompt,model
|
88 |
+
global selected_index1, selected_index2, selected_index3, selected_options4,selected_options5,selected_options6,selected_options7, virulence
|
89 |
|
90 |
model_speech = whisper.load_model("base")
|
91 |
+
|
92 |
+
if st.button(label=tr("Nouvelle conversation"), type="primary"):
|
93 |
+
selected_index1 = 0
|
94 |
+
selected_index2 = 0
|
95 |
+
selected_index3 = 0
|
96 |
+
selected_options4 = []
|
97 |
+
selected_options5 = []
|
98 |
+
selected_options6 = []
|
99 |
+
selected_options7 = []
|
100 |
+
virulence = 1
|
101 |
+
|
102 |
+
options1 = ["Directeur Commercial", "Directeur Général", "Directeur Marketing"]
|
103 |
+
translated_options1 = [tr(o) for o in options1]
|
104 |
+
selected_option1 = st.selectbox(tr("Interlocuteur"),translated_options1, index = selected_index1) # index=int(var1_init))
|
105 |
+
selected_index1 = translated_options1.index(selected_option1)
|
106 |
|
107 |
options2 = ["Entreprise qui commercialise des solutions (produits et ou services) B2B innovantes avec une équipe commerciale de plus de 15 personnes",
|
108 |
"Entreprise qui commercialise des solutions (produits et ou services) B2B innovantes avec une équipe commerciale de plus de 100 personnes"]
|
109 |
translated_options2 = [tr(o) for o in options2]
|
110 |
+
selected_option2 = st.selectbox(tr("Activité"),translated_options2, index = selected_index2) # index=int(var2_init))
|
111 |
selected_index2 = translated_options2.index(selected_option2)
|
112 |
|
113 |
options3 = ["Logiciels informatiques et d’application SaaS",
|
114 |
"Équipements et solutions industrielles",
|
115 |
"Services et conseil spécialisés"]
|
116 |
translated_options3 = [tr(o) for o in options3]
|
117 |
+
selected_option3 = st.selectbox(tr("Domaine d'activité"),translated_options3, index=selected_index3) #index=int(var3_init))
|
118 |
selected_index3 = translated_options3.index(selected_option3)
|
119 |
|
120 |
+
context = tr(f"""Tu es un {options1[selected_index1]}, mal organisé, d'une {options2[selected_index2]}.
|
121 |
Cette entreprise propose des {options3[selected_index3]}.
|
122 |
""")
|
123 |
context = st.text_area(label=tr("Résumé du Contexte (modifiable):"), value=context)
|
|
|
129 |
"Il est difficile d’affiner une proposition de valeur unique et pertinente de l'offre face à la concurrence qui évolue rapidement",
|
130 |
"Il est chronophage de former les forces de ventes sur la proposition de valeur et ses évolutions"
|
131 |
]
|
132 |
+
selected_options4 = st.multiselect(tr("Problématiques"),[tr(o) for o in options4], default=[tr(o) for o in selected_options4])
|
133 |
+
problematique = selected_options4
|
134 |
markdown_text4 = tr("""
|
135 |
Les problématiques rencontrés par notre prospect (problèmes à résoudre) sont:""")
|
136 |
markdown_text4 = markdown_text4+"".join(f"\n- {o}" for o in problematique)
|
|
|
141 |
"Affiner et modéliser la proposition de valeur",
|
142 |
"Mettre en oeuvre des meilleures pratiques commerciales"
|
143 |
]
|
144 |
+
selected_options5 = st.multiselect(tr("Processus"),[tr(o) for o in options5],default=[tr(o) for o in selected_options5])
|
145 |
+
processus = selected_options5
|
146 |
markdown_text5 = tr("""
|
147 |
\nLes processus adressés par le prospect (cas d’usages) sont:""")
|
148 |
markdown_text5 = markdown_text5+"".join(f"\n- {o}" for o in processus)
|
|
|
156 |
"Réduire temps de monté en compétence des nouvelles embauches",
|
157 |
"Fidéliser les clients"
|
158 |
]
|
159 |
+
selected_options6 = st.multiselect(tr("Objectifs d'amélioration"),[tr(o) for o in options6],default=[tr(o) for o in selected_options6])
|
160 |
+
objectifs = selected_options6
|
161 |
markdown_text6 = tr("""
|
162 |
\nLes objectifs d’amélioration opérationnelle du prospect (Valeur ajoutée) sont:""")
|
163 |
markdown_text6 = markdown_text6+"".join(f"\n- {o}" for o in objectifs)
|
|
|
170 |
"Conseil externe en positionnement marché & produit",
|
171 |
"Services externes de formation des équipes commerciales"
|
172 |
]
|
173 |
+
selected_options7 = st.multiselect(tr("Solutions utilisées"),[tr(o) for o in options7],default=[tr(o) for o in selected_options7])
|
174 |
+
solutions_utilisees = selected_options7
|
175 |
markdown_text7 = tr("""
|
176 |
\nLes principales Solutions utilisées par nos prospects pour traiter les cas d’usages (Catégories de solutions du marché) sont:""")
|
177 |
markdown_text7 = markdown_text7+"".join(f"\n- {o}" for o in solutions_utilisees)
|
|
|
179 |
st.write("")
|
180 |
col1, col2, col3 = st.columns(3)
|
181 |
with col1:
|
182 |
+
virulence = st.slider(tr("Virulence (choisissez une valeur entre 1 et 5)"), min_value=1, max_value=5, step=1,value=virulence)
|
183 |
markdown_text8 = tr(f"""\nTu vas utiliser une échelle de 1 à 5 de virulence. Pour cette simulation utilise le niveaux {virulence}""")
|
184 |
|
185 |
human_message1 = tr("""Je souhaites que nous ayons une conversation verbale entre un commercial de mon entreprise, et toi que je prospecte.
|
|
|
199 |
------------------------------------------------------------------------------------
|
200 |
''')
|
201 |
|
202 |
+
ai_message1 = tr(f"J'ai bien compris, je suis un {options1[selected_index1]} prospecté et je réponds seulement à tes questions. Je réponds à une seule question à la fois, sans commencer mes réponses par 'En tant que {options1[selected_index1]}'")
|
203 |
|
204 |
|
205 |
|
|
|
395 |
# Ajouter un espace pour séparer les zones
|
396 |
# st.divider()
|
397 |
with col2:
|
398 |
+
if ("messages" in st.session_state) :
|
399 |
+
if (st.session_state.messages != []):
|
400 |
+
# Display chat messages from history on app rerun
|
401 |
+
for message in st.session_state.messages:
|
402 |
+
with st.chat_message(message["role"]):
|
403 |
+
st.markdown(message["content"])
|
|
|
404 |
else:
|
405 |
st.write("")
|
406 |
st.write("")
|