# -*- encoding: utf8 -*-
import sys

sys.path.append("././")
from flask import request, Blueprint
import os
from utils.request_util import RequestUtil
from utils.IDEncryptor import IDEncryptor
from db.get_database_data import SupplierQaData, SupplierQaHistory, SupplierRobotConfig
from utils.response_util import common_response
from service.robot.qa_data import write_qa_data, delete_qa_data
from utils.send_message_util import SendMessageUtil
from get_config import get_logger_file
import traceback

logger = get_logger_file('api')

qchat_robot = Blueprint(__file__,
                        'QcAdmin',
                        template_folder='templates',
                        url_prefix='/qchat_robot')

idEncryptor = IDEncryptor()


@qchat_robot.route('/config', methods=['GET', 'POST'])
def get_config():
    try:
        args = RequestUtil.get_request_args(request)
        business_id = args.get('business_id')
        supplier_id = args.get('supplier_id')
#!/usr/bin/env python
# -*- encoding: utf8 -*-
import sys

sys.path.append("././")
from db.get_database_data import SupplierQaData
from service.robot.model_config import qa_file_path
from utils.write_file_util import WriteFileUtil
from ES.write_to_es import WriteToES
import os
import traceback
from get_config import get_logger_file

logger = get_logger_file('robot')


def write_qa_data(business_id, supplier_id):
    try:
        qa_list = []
        qa_list.extend(SupplierQaData.select_list(business_id, supplier_id))
        btype = '{}_{}'.format(business_id, supplier_id)
        for qa in qa_list:
            qa["btype"] = [btype]
            qa["business_id"] = business_id
            qa["supplier_id"] = supplier_id
        qa_file = qa_file_path.format(btype)
        WriteFileUtil.write_to_file(qa_list=qa_list,
                                    file_path=qa_file,
                                    segmentor=None)
        WriteToES.write_to_es(business_id, supplier_id)
        logger.info("write_qa_data qa_list={},qa_file={}".format(
#!/usr/bin/env python
# -*- encoding: utf8 -*-

import sys

sys.path.append('././')

from db.db_connstr import conn_str
from db.db_util import PgDbDumper, array_to_string, sql_escape
import re
from get_config import get_logger_file

logger = get_logger_file('sql')


class SupplierRobotConfig:
    def __init__(self):
        pass

    @staticmethod
    def select_dict(business_id, supplier_id):
        sql = """
        select id, business_id, supplier_id, default_questions, create_time, update_time, update_user, status from supplier_robot_config where business_id = {business_id} and supplier_id = {supplier_id}
        """.format(business_id=business_id, supplier_id=supplier_id)
        config_list = PgDbDumper.select_dict(conn_str, sql)
        logger.info(
            "SupplierRobotConfig table select_dict ={}".format(config_list))
        if config_list:
            config = config_list[0]
            return config
        else:
Example #4
0
sys.path.append("././")
import service.cnn.question_model as qm
from service.cnn.question_handle import question_to_vector, format_question
import tensorflow as tf
from service.robot.model_config import project_dir, result_dir, PRE_PARAM, FLAGS, qa_file_path, qa_file_default, \
    is_segment
import os
from utils.tsvh_file import TsvhFileReader
import re
import jieba
from utils.text_segmentor import TextSegmentor
from get_config import get_logger_file
import traceback

logger = get_logger_file('test')

print("Loading supplier data...")
all_bytpe_graph_sess = {}
all_btype_question_dict = {}
stop_words_file = "./stop_words.txt"


def segment_question(text):
    question = []
    stop_words = [line.strip() for line in
                  open(stop_words_file).readlines()]
    print(list(jieba.cut(text)))
    for word in list(jieba.cut(text)):
        if word not in stop_words:
            question.append(word)
#!/usr/bin/env python
# -*- encoding: utf8 -*-

import sys

sys.path.append("././")
from utils.tsvh_file import TsvhFileReader
from service.robot.model_config import qa_file_path, FLAGS, PRE_PARAM, project_dir, result_dir
from service.cnn.question_handle import pad_sentences, build_input_data, build_vocab
import service.cnn.question_model as qm
from get_config import get_logger_file
from db.get_database_data import SupplierQaData
from service.robot.qa_data import write_qa_data
import traceback

logger = get_logger_file('train')


def paser_qa_data(btype):
    myapps_ad = {}
    x_text = []
    y_text = []
    qa_list = []
    max_qtype = 0
    try:
        for qa in TsvhFileReader(qa_file_path.format(btype)).open():
            qa_list.append(qa)
            if qa.get("qtype") == '':
                qa["qtype"] = 0
            else:
                qa["qtype"] = int(qa.get("qtype"))