from flask import Flask, request, jsonify import time import ktrain import gradio as gr # app = Flask(__name__) predictor = ktrain.load_predictor('./model/bert_model') # worked print(predictor.predict('I love this product!')) print(predictor.predict('I hate this product!')) print(predictor.predict('I am so sad!')) print(predictor.predict('I am so happy!')) print(predictor.predict("I am looking for a job.")) print(predictor.predict("I like to play football.")) print(predictor.predict("I am going to the beach.")) print(predictor.predict("I am going to the hospital.")) print(predictor.predict("His son is very sick.")) def index(): response = { 'message': 'Social Media Emotion Analysis!' } return jsonify(response) def predict_message(message): messages = message.split("__") if len(messages)> 50: messages = messages[:50] if len(messages) < 2: start_time = time.time() prediction = predictor.predict(message) # print(prediction) response = { 'message': message, 'prediction': prediction, 'elapsed_time': time.time() - start_time } return [response,] else: responses = [] for msg in messages: start_time = time.time() prediction = predictor.predict(msg) response = { 'message': msg, 'prediction': prediction, 'elapsed_time': time.time() - start_time } responses.append(response) return responses gr.Interface(fn=predict_message, inputs="textbox", outputs="json").launch() # def predict_list(): # data = request.json # messages = data.get('messages', []) # start_time = time.time() # predictions = predictor.predict(messages) # response = { # 'messages': messages, # 'predictions': predictions, # 'elapsed_time': time.time() - start_time # } # return jsonify(response) # if __name__ == "__main__": # app.run(host="0.0.0.0", port=7860)