ai_chatbot 0.1.6.1 → 0.1.6.2

Sign up to get free protection for your applications and to get access to all the features.
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