#     sys_response, user_response, session_over, reward = sess.next_turn(sys_response)
    #     print('user:'******'sys:', sys_response)
    #     print()
    #     if session_over is True:
    #         break
    # print('task success:', sess.evaluator.task_success())
    # print('book rate:', sess.evaluator.book_rate())
    # print('inform precision/recall/f1:', sess.evaluator.inform_F1())
    # print('-' * 50)
    # print('final goal:')
    # pprint(sess.evaluator.goal)
    # print('=' * 100)

    history = []
    user_utt = user_agent.response('')
    print(user_utt)
    user_utt = 'I need a restaurant . It just needs to be expensive . I am also in the market for a new restaurant . Is there something in the centre of town ? Do you have portuguese food ?'
    # history.append(['user', user_utt])
    sys_agent.dst.state['belief_state']['restaurant']['semi'][
        'food'] = 'portuguese'
    sys_utt = sys_agent.response(user_utt)
    pprint(sys_agent.dst.state)
    print(sys_utt)
    sys_utt = "I have n't found any in the centre. I am unable to find any portuguese restaurants in town ."
    # history.append(['user', user_utt])

    user_utt = user_agent.response(sys_utt)
    print(user_utt)
    user_utt = "It just needs to be cheap ."
    sys_utt = sys_agent.response(user_utt)
示例#2
0
from pprint import pprint

rgi_queue = PriorityQueue(maxsize=0)
rgo_queue = PriorityQueue(maxsize=0)

app = Flask(__name__)

# sys_nlu = BERTNLU()
sys_nlu = MILU()
sys_dst = RuleDST()
sys_policy = RulePolicy(character='sys')
sys_nlg = TemplateNLG(is_user=False)

agent = PipelineAgent(sys_nlu, sys_dst, sys_policy, sys_nlg, 'sys')

print(agent.response('I am looking for a hotel'))


@app.route('/', methods=['GET', 'POST'])
def process():
    try:
        in_request = request.json
        print(in_request)
    except:
        return "invalid input: {}".format(in_request)
    rgi_queue.put(in_request)
    rgi_queue.join()
    output = rgo_queue.get()
    print(output['response'])
    rgo_queue.task_done()
    # return jsonify({'response': response})