Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -25,23 +25,6 @@ class ChatBot:
|
|
25 |
json.dump(self.knowledge_base, f, indent=4)
|
26 |
st.write(f"Knowledge base saved: {self.knowledge_base}")
|
27 |
|
28 |
-
def learn_and_response(self, user_input):
|
29 |
-
response = self.find_response(user_input)
|
30 |
-
if response is None:
|
31 |
-
st.write(f"I don't have a response for '{user_input}'. Please teach me:")
|
32 |
-
# Display a text input to teach the bot
|
33 |
-
response = st.text_input(f"Teach me a response for '{user_input}':", key="teach_input")
|
34 |
-
if st.button("Submit Response"):
|
35 |
-
if response:
|
36 |
-
self.teach_response(user_input, response)
|
37 |
-
st.success(f"Response saved for '{user_input}': {response}")
|
38 |
-
return response
|
39 |
-
else:
|
40 |
-
st.warning("Please provide a response before submitting.")
|
41 |
-
else:
|
42 |
-
st.write(f"Found response for '{user_input}': {response}")
|
43 |
-
return response
|
44 |
-
|
45 |
def find_response(self, user_input):
|
46 |
"""Find a response in the knowledge base."""
|
47 |
for question in self.knowledge_base.get("questions", []):
|
@@ -49,11 +32,24 @@ class ChatBot:
|
|
49 |
return question['response']
|
50 |
return None
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
def teach_response(self, user_input, response):
|
53 |
"""Teach the bot a new response."""
|
54 |
new_question = {'question': user_input.lower(), 'response': response}
|
55 |
self.knowledge_base['questions'].append(new_question)
|
56 |
-
st.write(f"New question added: {new_question}")
|
57 |
self.save_knowledge_base() # Save the updated knowledge base
|
58 |
|
59 |
if __name__ == "__main__":
|
@@ -64,8 +60,6 @@ if __name__ == "__main__":
|
|
64 |
user_input = st.text_input("Enter your query below:", key="user_input")
|
65 |
if st.button("Submit Query"):
|
66 |
if user_input:
|
67 |
-
|
68 |
-
if response:
|
69 |
-
st.write(f"Bot: {response}")
|
70 |
else:
|
71 |
st.warning("Please enter a query before submitting.")
|
|
|
25 |
json.dump(self.knowledge_base, f, indent=4)
|
26 |
st.write(f"Knowledge base saved: {self.knowledge_base}")
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
def find_response(self, user_input):
|
29 |
"""Find a response in the knowledge base."""
|
30 |
for question in self.knowledge_base.get("questions", []):
|
|
|
32 |
return question['response']
|
33 |
return None
|
34 |
|
35 |
+
def learn_and_response(self, user_input):
|
36 |
+
response = self.find_response(user_input)
|
37 |
+
if response:
|
38 |
+
st.write(f"Bot: {response}")
|
39 |
+
else:
|
40 |
+
st.write(f"I don't have a response for '{user_input}'. Please teach me:")
|
41 |
+
response_input = st.text_input(f"Teach me a response for '{user_input}':", key="teach_input")
|
42 |
+
if st.button("Submit Response"):
|
43 |
+
if response_input:
|
44 |
+
self.teach_response(user_input, response_input)
|
45 |
+
st.success(f"Response saved for '{user_input}': {response_input}")
|
46 |
+
else:
|
47 |
+
st.warning("Please provide a response before submitting.")
|
48 |
+
|
49 |
def teach_response(self, user_input, response):
|
50 |
"""Teach the bot a new response."""
|
51 |
new_question = {'question': user_input.lower(), 'response': response}
|
52 |
self.knowledge_base['questions'].append(new_question)
|
|
|
53 |
self.save_knowledge_base() # Save the updated knowledge base
|
54 |
|
55 |
if __name__ == "__main__":
|
|
|
60 |
user_input = st.text_input("Enter your query below:", key="user_input")
|
61 |
if st.button("Submit Query"):
|
62 |
if user_input:
|
63 |
+
chatbot.learn_and_response(user_input)
|
|
|
|
|
64 |
else:
|
65 |
st.warning("Please enter a query before submitting.")
|