def bottrain(name): message = "Success" code = 200 try: projectmgr.ValidateServiceExists(name, constants.ServiceTypes.ChatBot) id = projectmgr.StartJob(name, constants.ServiceTypes.ChatBot, 0) rjson = request.json data = rjson["data"] corpus = [] if "corpus" in rjson: corpus = rjson["corpus"] if corpus == 'all': chatbot.corpustrain(name, '') elif corpus != '': chatbot.corpustrain(name, corpus) chatbot.train(name, data) projectmgr.EndJob(id, "Completed", "Completed", json.dumps({ "corpus": corpus, "data": data })) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def execute(name): message = "Success" code = 200 taskid = "" try: service = projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) data = json.loads(request.data) epoches = 32 batch_size = 32 taskid = "" servicejson = json.loads(service.servicedata) if "epoches" in data: epoches = data['epoches'] if "batch_size" in data: batch_size = data['batch_size'] trainingstatus = app.trainingstatus if trainingstatus == 1: message = "Training in progress! Please try after the current training is completed." code = 500 else: if servicejson["model_type"] == "mlp": taskid = backgroundproc.StartTrainThread( name, epoches, batch_size) elif servicejson["model_type"] == "general": taskid = backgroundproc.StartValidateThread(name) message = "Job started! Please check status for id: " + taskid except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message, "jobid": taskid})
def modelinfo(name, modelname): message = "Success" code = 200 result = None model_json = None try: projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) modelRec = projectmgr.GetDeepModel( name, constants.ServiceTypes.MachineLearning, modelname) if modelRec is None: raise Exception("No Model Found!") result = json.loads(modelRec.modeldata) model_obj = kerasfactory.createModel(result) model_json = json.loads(model_obj.to_json()) except Exception as e: code = 500 message = str(e) return jsonify({ "statuscode": code, "message": message, "result": result, "model_json": model_json })
def modelflow(name, modelname): message = "Success" code = 200 try: projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) projectmgr.UpdateModelFlow(name, "ml", modelname, request.json) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def savepipelineinfo(name): message = "Success" code = 200 try: projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) projectmgr.UpsertPipeline(name, "ml", request.json) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def botupdate(name): message = "Success" code = 200 try: projectmgr.ValidateServiceExists(name, constants.ServiceTypes.ChatBot) projectmgr.UpsertService(name, constants.ServiceTypes.ChatBot, request.json) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def update(name): message = "Success" code = 200 try: directory = "./data/" + name projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) projectmgr.UpsertService(name, "ml", request.json) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def delete(name): message = "Success" code = 200 try: directory = "./data/" + name projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) projectmgr.DeleteService(name, "ml") if os.path.exists(directory): shutil.rmtree(directory) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def delfile(name): message = "Success" code = 200 try: dataset_folder = "./data/" + name + "/dataset/" projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) if not os.path.exists(dataset_folder): os.makedirs(dataset_folder) filename = request.json["filename"] os.remove(dataset_folder + filename) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def botdelete(name): message = "Success" code = 200 try: projectmgr.ValidateServiceExists(name, constants.ServiceTypes.ChatBot) botfolder = "./data/__chatbot/" + name if os.path.exists(botfolder): shutil.rmtree(botfolder) projectmgr.DeleteService(name, constants.ServiceTypes.ChatBot) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})
def pipelineflowinfo(name): message = "Success" code = 200 result = None try: projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) pipelineRec = projectmgr.GetPipeline(name, "ml") if pipelineRec is None: raise Exception("No Pipeline Found!") result = json.loads(pipelineRec.pipelineflow) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message, "result": result})
def modelflowinfo(name, modelname): message = "Success" code = 200 result = None try: projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) modelRec = projectmgr.GetDeepModel( name, constants.ServiceTypes.MachineLearning, modelname) if modelRec is None: raise Exception("No Model Found!") result = json.loads(modelRec.modelflow) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message, "result": result})
def botpredict(name): message = "Success" code = 200 start = datetime.utcnow() result = [] try: projectmgr.ValidateServiceExists(name, constants.ServiceTypes.ChatBot) rjson = request.json data = rjson["data"] result = chatbot.predict(name, data) logmgr.LogPredSuccess(name, constants.ServiceTypes.ChatBot, start) except Exception as e: code = 500 message = str(e) logmgr.LogPredError(name, constants.ServiceTypes.ChatBot, start, message) return jsonify({"statuscode": code, "message": message, "result": result})
def getfiles(name): message = "Success" code = 200 result = [] try: dataset_folder = "./data/" + name + "/dataset/" projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) if not os.path.exists(dataset_folder): os.makedirs(dataset_folder) files = os.listdir(dataset_folder) for f in files: result.append(f) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message, "result": result})
def upload(name): message = "Success" code = 200 try: datasetFolder = "./data/" + name + "/dataset/" projectmgr.ValidateServiceExists( name, constants.ServiceTypes.MachineLearning) if not os.path.exists(datasetFolder): os.makedirs(datasetFolder) if len(request.files) == 0: code = 1002 message = "No file found" return jsonify({"statuscode": code, "message": message}) postedfile = request.files.items(0)[0][1] postedfile.save( os.path.join(datasetFolder, werkzeug.secure_filename(postedfile.filename))) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message})