Esempio n. 1
0
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})
Esempio n. 2
0
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})
Esempio n. 3
0
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
    })
Esempio n. 4
0
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})
Esempio n. 5
0
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})
Esempio n. 6
0
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})
Esempio n. 7
0
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})
Esempio n. 8
0
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})
Esempio n. 9
0
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})
Esempio n. 10
0
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})
Esempio n. 11
0
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})
Esempio n. 12
0
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})
Esempio n. 13
0
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})
Esempio n. 14
0
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})
Esempio n. 15
0
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})