Skip to content

Commit

Permalink
update pre app.py, vyriesene preklepy
Browse files Browse the repository at this point in the history
  • Loading branch information
CComps committed Jun 5, 2023
1 parent a18c57c commit 033dee8
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@
words = pickle.load(open("words.pkl", "rb"))
classes = pickle.load(open("classes.pkl", "rb"))


def train_model():
lemmetizer = WordNetLemmetizer()
lemmatizer = WordNetLemmatizer()
intents = json.loads(open("intents.json", encoding="utf-8").read())
words = []
classes = []
Expand All @@ -38,7 +39,7 @@ def train_model():
if intent["tag"] not in classes:
classes.append(intent["tag"])

words = [lemmetizer.lemmatize(word) for word in words if word not in ignore_letters]
words = [lemmatizer.lemmatize(word) for word in words if word not in ignore_letters]
words = sorted(set(words))

classes = sorted(set(classes))
Expand All @@ -52,7 +53,7 @@ def train_model():
for document in documents:
bag = []
word_patterns = document[0]
word_patterns = [lemmetizer.lemmatize(word.lower()) for word in word_patterns]
word_patterns = [lemmatizer.lemmatize(word.lower()) for word in word_patterns]
for word in words:
bag.append(1) if word in word_patterns else bag.append(0)

Expand Down Expand Up @@ -82,13 +83,16 @@ def train_model():
model.save("chatbotmodel.h5", mychatbotmodel)
print("Done")


model = load_model("chatbotmodel.h5")


def clean_up_sentence(sentence):
sentence_words = nltk.word_tokenize(sentence)
sentence_words = [lemmatizer.lemmatize(word) for word in sentence_words]
return sentence_words


@app.route("/uploadfile", methods=["GET", "POST"])
def upload_file():
if request.method == "POST":
Expand Down Expand Up @@ -118,7 +122,6 @@ def upload_file():
)



def bag_of_words(sentence):
sentence_words = clean_up_sentence(sentence)
bag = [0] * len(words)
Expand All @@ -128,6 +131,7 @@ def bag_of_words(sentence):
bag[i] = 1
return np.array(bag)


def predict_class(sentence):
bow = bag_of_words(sentence)
res = model.predict(np.array([bow]))[0]
Expand All @@ -140,6 +144,7 @@ def predict_class(sentence):
return_list.append({"intent": classes[r[0]], "probability": str(r[1])})
return return_list


def get_response(intents_list, intents_json):
tag = intents_list[0]["intent"]
list_of_intents = intents_json["intents"]
Expand All @@ -149,6 +154,7 @@ def get_response(intents_list, intents_json):
break
return result


@app.route("/", methods=["GET"])
def home():
text = request.args.get("text")
Expand All @@ -168,6 +174,7 @@ def home():
else:
return "Please provide a text parameter."


def run():
try:
app.run(host="0.0.0.0", port=8000)
Expand All @@ -176,6 +183,7 @@ def run():
finally:
run()


@app.route("/restart", methods=["POST"])
def restart():
time.sleep(1)
Expand Down

0 comments on commit 033dee8

Please sign in to comment.