# -*- 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:
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"))