Demosthene-OR commited on
Commit
550667f
1 Parent(s): f342c8c

Update chatbot_tab.py

Browse files
Files changed (1) hide show
  1. tabs/chatbot_tab.py +38 -26
tabs/chatbot_tab.py CHANGED
@@ -1,5 +1,6 @@
1
  import streamlit as st # type: ignore
2
  import os
 
3
  from sentence_transformers import SentenceTransformer
4
  from translate_app import tr
5
  import getpass
@@ -26,6 +27,7 @@ os.environ["LANGCHAIN_PROJECT"] = "Sales Coaching Chatbot"
26
  os.getenv("LANGCHAIN_API_KEY")
27
  os.getenv("MISTRAL_API_KEY")
28
  model = ChatMistralAI(model="mistral-large-latest")
 
29
 
30
  dataPath = st.session_state.DataPath
31
 
@@ -72,16 +74,10 @@ workflow.add_edge("model", END)
72
  memory = MemorySaver()
73
  app = workflow.compile(checkpointer=memory)
74
 
75
- config = {"configurable": {"thread_id": "abc1234"}}
76
 
77
- def run():
78
-
79
- st.write("")
80
- st.write("")
81
- st.title(tr(title))
82
-
83
- context = """Tu es un Directeur Commercial d'une entreprise qui commercialise une solution technologique B2B"""
84
- human_message1 = """Je souhaites que tu simule une conversation entre un commercial, Marc, de mon entreprise et toi, je prospecte.
85
  Mon entreprise propose une solution logicielle pour gérer la proposition de valeur d’entreprises B2B qui commercialises des solutions technologiques.
86
 
87
  Les problématiques adressées par ma solution sont:
@@ -109,30 +105,46 @@ Les cas d’usages adressés par ma solution sont :
109
  - Identifier et reproduire les messages de vente gagnants
110
 
111
  Je suis Marc, le vendeur.
112
- Répond à mes questions en tant que Directeur commercial.
 
113
 
114
  Attention: Ce n'est pas toi qui m'aide, c'est moi qui t'aide avec ma solution.
115
  """
116
-
117
- messages = [
118
- SystemMessage(content=context),
119
- HumanMessage(content=human_message1),
120
- AIMessage(content="J'ai bien compris, je suis un Directeur Commercial prospecté et je réponds à tes questions"),
121
- ]
 
122
 
123
- trimmer.invoke(messages)
124
 
125
- # query = "Hi I'm Todd, please tell me a joke."
126
- query = st.text_area(label=tr("Vendeur:"), value="")
 
 
 
 
 
 
127
  language = "French"
128
- st.button(label=tr("Validez"), type="primary")
 
 
 
 
 
 
 
 
129
 
130
- input_messages = [HumanMessage(query)]
131
- output = app.invoke(
132
- {"messages": input_messages, "language": language},
133
- config,
134
- )
135
- st.write(output["messages"][-1].content) #.pretty_print())
 
136
 
137
 
138
  '''
 
1
  import streamlit as st # type: ignore
2
  import os
3
+ from datetime import datetime
4
  from sentence_transformers import SentenceTransformer
5
  from translate_app import tr
6
  import getpass
 
27
  os.getenv("LANGCHAIN_API_KEY")
28
  os.getenv("MISTRAL_API_KEY")
29
  model = ChatMistralAI(model="mistral-large-latest")
30
+ thread_id = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
31
 
32
  dataPath = st.session_state.DataPath
33
 
 
74
  memory = MemorySaver()
75
  app = workflow.compile(checkpointer=memory)
76
 
77
+ config = {"configurable": {"thread_id": thread_id}}
78
 
79
+ context = """Tu es un Directeur Commercial, mal organisé, d'une entreprise qui commercialise une solution technologique B2B"""
80
+ human_message1 = """Je souhaites que tu simule une conversation entre un commercial, Marc, de mon entreprise et toi, je prospecte.
 
 
 
 
 
 
81
  Mon entreprise propose une solution logicielle pour gérer la proposition de valeur d’entreprises B2B qui commercialises des solutions technologiques.
82
 
83
  Les problématiques adressées par ma solution sont:
 
105
  - Identifier et reproduire les messages de vente gagnants
106
 
107
  Je suis Marc, le vendeur.
108
+ Répond à mes questions en tant que Directeur commercial désorganisé, connaissant mal le concept de proposition de valeur,
109
+ et mon équipe de vente n'est pas performante.
110
 
111
  Attention: Ce n'est pas toi qui m'aide, c'est moi qui t'aide avec ma solution.
112
  """
113
+ ai_message1 = "J'ai bien compris, je suis un Directeur Commercial prospecté et je réponds à tes questions"
114
+
115
+ messages = [
116
+ SystemMessage(content=context),
117
+ HumanMessage(content=human_message1),
118
+ AIMessage(content=ai_message1),
119
+ ]
120
 
 
121
 
122
+ trimmer.invoke(messages)
123
+
124
+ def run():
125
+
126
+ st.write("")
127
+ st.write("")
128
+ st.title(tr(title))
129
+
130
  language = "French"
131
+ st.write("Contexte: "+context+"\n")
132
+ st.write("Human Message: "+human_message1+"\n")
133
+ st.write("AI Message: "+ai_message1+"\n")
134
+ query = ""
135
+
136
+ while query != "exit":
137
+ st.write("thread_id: "+thread_id)
138
+ query = st.text_area(label=tr("Vendeur:"), value="")
139
+ st.button(label=tr("Validez"), type="primary")
140
 
141
+ input_messages = [HumanMessage(query)]
142
+ if query != "":
143
+ output = app.invoke(
144
+ {"messages": input_messages, "language": language},
145
+ config,
146
+ )
147
+ st.write(output["messages"][-1].content)
148
 
149
 
150
  '''