Demosthene-OR commited on
Commit
27ecaea
1 Parent(s): 67f3d25

Update chatbot_tab.py

Browse files
Files changed (1) hide show
  1. 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,language,prompt,model
 
79
 
80
  model_speech = whisper.load_model("base")
81
-
82
- options = ["Directeur Commercial", "Directeur Général", "Directeur Marketing"]
83
- translated_options = [tr(o) for o in options]
84
- selected_option = st.selectbox(tr("Interlocuteur"),translated_options)
85
- selected_index = translated_options.index(selected_option)
 
 
 
 
 
 
 
 
 
 
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 {options[selected_index]}, mal organisé, d'une {options2[selected_index2]}.
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 = [tr(o) for o in selected_options4]
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 = [tr(o) for o in selected_options5]
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 = [tr(o) for o in selected_options6]
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 = [tr(o) for o in selected_options7]
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 {options[selected_index]} 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 {options[selected_index]}'")
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
- # with st.container():
379
- if query:
380
- # Display chat messages from history on app rerun
381
-
382
- for message in st.session_state.messages:
383
- with st.chat_message(message["role"]):
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("")