ai_chatbot 0.1.6.1 → 0.1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63e218e69731be19e33a2b260fa04382dd1f3da77d9a8e20f0ee1bd8eac4fc97
4
- data.tar.gz: bb380d89a7d15f29b426b33df682421412f62a41e9f1891858121dbb9c8b2de2
3
+ metadata.gz: 54c4224d297c82a20b3864dec73a0f1b5e654dfe5e08fbdfad12e09202588bde
4
+ data.tar.gz: 5ffb9610a7c5c13dbb2d597055c9269ca1578ceb5d16ecb940323d0d6909ed3a
5
5
  SHA512:
6
- metadata.gz: 55d0946bd34c6009ac0029a6f4c183d6059b75eef2552b9eaa6c3905277209a13bf1e6e43b5b27dbabb1e5cf5a972f13ad1ae73902465bbc0256f6b09ebcf8ab
7
- data.tar.gz: 397a9e37b9c225a25eb4765e5ad5e2377e7c64566cb623f131fc1bfe8d3fd298b8f0a3214fe9661d56d2a7fd2db94fc6a26cd357bc9036ad4d22407d9dd291e7
6
+ metadata.gz: cc4dedd9eed6dd5c5e3543969fab14e29014e9363369e33d5c932e2faf445b916343c87ad1412bd3da338895b739f13e2a2344f6ca9e8f6d2a0cffa548dbc04f
7
+ data.tar.gz: '093e12aa5db131a81ea46bc1d8eafee4794a99d13775da6d8cb84fefa2238bbc2b5edc1885e647c10b0f2c9d95cd9d9745723af7efd5468331cf5a028d0b2b90'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AiChatbot
4
- VERSION = "0.1.6.1"
4
+ VERSION = "0.1.6.2"
5
5
  end
data/lib/ai_chatbot.rb CHANGED
@@ -15,7 +15,7 @@ module AiChatbot
15
15
 
16
16
  # Method to train the model with a new question-answer pair
17
17
  def self.train_model(new_question, new_answer)
18
- stdout, stderr, status = Open3.capture3("python3", "#{__dir__}/ml_model.py", "train", new_question, new_answer)
18
+ stdout, stderr, status = Open3.capture3("python3", "#{__dir__}/ml_model.py", "train_model", new_question, new_answer)
19
19
 
20
20
  if status.success?
21
21
  return stdout.strip
@@ -36,8 +36,8 @@ module AiChatbot
36
36
  end
37
37
  end
38
38
 
39
- def self.update_or_delete_question(existing_question, new_question)
40
- stdout, stderr, status = Open3.capture3("python3", "#{__dir__}/ml_model.py", "update_or_delete_question", existing_question, new_answer)
39
+ def self.update_or_delete_question(existing_question, new_question=nil)
40
+ stdout, stderr, status = new_question == nil ? Open3.capture3("python3", "#{__dir__}/ml_model.py", "update_or_delete_question", existing_question,"None") : Open3.capture3("python3", "#{__dir__}/ml_model.py", "update_or_delete_question", existing_question, new_question)
41
41
 
42
42
  if status.success?
43
43
  return stdout.strip
@@ -56,6 +56,16 @@ module AiChatbot
56
56
  end
57
57
  end
58
58
 
59
+ def self.list_answers
60
+ stdout, stderr, status = Open3.capture3("python3", "#{__dir__}/ml_model.py", "list_answers")
61
+
62
+ if status.success?
63
+ return stdout.strip
64
+ else
65
+ raise "Error: #{stderr}"
66
+ end
67
+ end
68
+
59
69
 
60
70
  end
61
71
  end
data/lib/ml_model.py CHANGED
@@ -32,7 +32,7 @@ model.fit(questions, answers)
32
32
  def main(action, query=None, new_answer=None):
33
33
  if action == "predict":
34
34
  return get_prediction(query)
35
- elif action == "train":
35
+ elif action == "train_model":
36
36
  return train_model(query, new_answer)
37
37
  elif action == "update_answer":
38
38
  return update_answer(query, new_answer)
@@ -40,6 +40,9 @@ def main(action, query=None, new_answer=None):
40
40
  return update_or_delete_question(query, new_answer) # Corrected here, calling the right function
41
41
  elif action == "list_questions":
42
42
  return list_questions()
43
+ elif action == "list_answers":
44
+ return list_answers()
45
+
43
46
 
44
47
  # Function to predict the response with confidence check
45
48
  def get_prediction(query):
@@ -91,8 +94,10 @@ def update_answer(existing_question, new_answer):
91
94
  else:
92
95
  return "Question not found. Please provide a valid question."
93
96
 
94
- def update_or_delete_question(existing_question, new_question=None):
97
+ def update_or_delete_question(existing_question, new_question):
95
98
  global questions # Only 'questions' is global, not 'new_question'
99
+ if new_question=="None":
100
+ new_question = None
96
101
 
97
102
  if existing_question in questions:
98
103
  if new_question:
@@ -125,6 +130,10 @@ def list_questions():
125
130
  global questions
126
131
  return questions
127
132
 
133
+ def list_answers():
134
+ global answers
135
+ return answers
136
+
128
137
  if __name__ == "__main__":
129
138
  # Expecting action (predict/train), question, and answer (if training)
130
139
  action = sys.argv[1]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ai_chatbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6.1
4
+ version: 0.1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sanket