Spaces:
Sleeping
Sleeping
Demosthene-OR
commited on
Commit
•
550667f
1
Parent(s):
f342c8c
Update chatbot_tab.py
Browse files- 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":
|
76 |
|
77 |
-
|
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 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
122 |
|
123 |
-
trimmer.invoke(messages)
|
124 |
|
125 |
-
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
language = "French"
|
128 |
-
st.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
|
|
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 |
'''
|