def modellist(name): message = "Success" code = 200 result = [] try: service = projectmgr.GetService(name, constants.ServiceTypes.MachineLearning) servicedata = json.loads(service.servicedata) modeltype = servicedata["model_type"] if modeltype == "mlp": models = projectmgr.GetDeepModels( name, constants.ServiceTypes.MachineLearning) for m in models: result.append({ "name": m.modelname, "modifiedon": m.modifiedon }) elif modeltype == "general": models = scikitlearn.getModels() for m in models: result.append({"name": m, "modifiedon": datetime.utcnow()}) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message, "result": result})
def Validate(id, name): results = {} status = "Completed" message = "Completed" try: srvjson = json.loads(projectmgr.GetService(name, "ml").servicedata) model_type = srvjson["model_type"] pipeline.init(pipeline, name, model_type, id) pipelinejson = pipeline.getPipelineData() pipeline.Run() for p in pipelinejson: if p["module"] == "return_result": mlist = p["input"]["module_output"] for m in mlist: r = pipeline.Output(m) results[m] = json.loads(r) except Exception as e: results["message"] = pipeline.lastpipeline + ": " + str(e) message = str(e) status = "Error" projectmgr.EndJob(id, status, message, json.dumps(results))
def getServiceJson(srvname, srvpath): result = {} service = projectmgr.GetService(srvname, srvpath) if not service is None: result = json.loads(service.servicedata) return result
def apilistwithname(srvtype, srvname): message = "Success" code = 200 result = [] try: service = projectmgr.GetService(srvtype, srvname) if service is None: raise Exception("Service API not found") result = json.loads(service.servicedata) except Exception as e: code = 500 message = str(e) return jsonify({"statuscode": code, "message": message, "result": result})
def predict(name, text): botfolder = "./data/__chatbot/" + name service = projectmgr.GetService(name, constants.ServiceTypes.ChatBot) botjson = json.loads(service.servicedata) bot = getBot(name) response = bot.get_response(text.lower()) result = { "confidence": response.confidence, "response_text": response.text } if float(response.confidence) < float(botjson["threshold"]): result = { "confidence": response.confidence, "response_text": botjson["default_response"] } return result
def predict(name): message = "Success" code = 200 result = [] try: start = datetime.now() data = json.loads(request.data) service = projectmgr.GetService(name, constants.ServiceTypes.MachineLearning) servicejson = json.loads(service.servicedata) savePrediction = False if "save_prediction" in data: savePrediction = data['save_prediction'] result = {} if servicejson["data_format"] == "image": testfile = data['imagepath'] elif servicejson["data_format"] == "csv": testfile = data['testfile'] pipeline.init(pipeline, name, servicejson["model_type"]) predictions = pipeline.Predict(testfile, savePrediction) predictions = json.loads(predictions) if servicejson["data_format"] == "csv": result = predictions["0"] else: result = predictions logmgr.LogPredSuccess(name, constants.ServiceTypes.MachineLearning, start) except Exception as e: code = 500 message = str(e) logmgr.LogPredError(name, constants.ServiceTypes.MachineLearning, start, message) return jsonify({"statuscode": code, "message": message, "result": result})