!pip install --upgrade tensorflow import nltk nltk.download('punkt') import nltk from nltk.stem.lancaster import LancasterStemmer import numpy as np import tflearn import tensorflow import random import json import pandas as pd import pickle import gradio as gr stemmer = LancasterStemmer() with open("intents.json") as file: data = json.load(file) with open("data.pickle", "rb") as f: words, labels, training, output = pickle.load(f) net = tflearn.input_data(shape=[None, len(training[0])]) net = tflearn.fully_connected(net, 8) net = tflearn.fully_connected(net, 8) net = tflearn.fully_connected(net, len(output[0]), activation="softmax") net = tflearn.regression(net) model = tflearn.DNN(net) model.load("MentalHealthChatBotmodel.tflearn") # print('model loaded successfully') def bag_of_words(s, words): bag = [0 for _ in range(len(words))] s_words = nltk.word_tokenize(s) s_words = [stemmer.stem(word.lower()) for word in s_words] for se in s_words: for i, w in enumerate(words): if w == se: bag[i] = 1 return np.array(bag) def chat(message): message = message.lower() results = model.predict([bag_of_words(message, words)]) results_index = np.argmax(results) tag = labels[results_index] for tg in data["intents"]: if tg['tag'] == tag: responses = tg['responses'] # return responses return random.choice(responses) # history.append((message, response)) # return history, history chatbot = gr.Chatbot(label="Chat") demo = gr.Interface( chat, inputs="text", outputs="label", title="Tabibu | Mental Health Bot", ) if __name__ == "__main__": demo.launch()