예제 #1
0
import logging
from pprint import pprint

from evashare.log import init_logger
from evashare.util import same_dict

from eva.robot import EvaRobot
from evadm.config import ConfigLog

init_logger(level="DEBUG", path=ConfigLog.log_path)
log = logging.getLogger(__name__)

TEST_PROJECT = "project_liehu"


def test_eva_robot():
    robot = EvaRobot(TEST_PROJECT, TEST_PROJECT, TEST_PROJECT)
    robot.train()

    rst = robot.process_question("帮我查一下美国利率新闻")
    # todo query answer json in evarobot
    target = {
        'intent': 'search',
        'sid': 0,
        'response_id': 'search',
        'nlu': {
            'intent': 'search',
            'slots': {
                'country': 'United States',
                'category': 'Interest Rate'
            }
예제 #2
0
import logging
import json
from flask import request
from flask import Flask
from flask import jsonify
from py2neo import Graph

from evashare.log import init_logger
from eva.config import ConfigApp, ConfigLog
from eva.robot import EvaRobot

app = Flask(__name__)

init_logger(level=ConfigLog.log_level, path=ConfigLog.log_path)
log = logging.getLogger(__name__)


@app.route("/nlu/predict/", methods=["GET", "POST"])
def predict():
    data = json.loads(request.data)
    robot = EvaRobot(data["robot_id"], data["project"], data["project"])
    rst = robot.process_question(data["question"])
    # hack code
    if rst["response_id"] == "search_event":
        rst["nlu"]["slots"]["country"] = rst["nlu"]["slots"]["event_country"]
        del rst["nlu"]["slots"]["event_country"]
    target = {
        'code': 0,
        'result': {
            'event_id': rst["response_id"],
            'arguments': rst['nlu']["slots"],