Как распечатать ответ, возвращенный IBM Watson Assistant? - PullRequest
0 голосов
/ 16 октября 2018

У меня есть приложение Python Flask, которое пытается использовать IBM Watson Assistant.Ниже приведен фрагмент кода, который вызывает функцию API сообщения.Как распечатать возвращенный ответ?

import json, _watson, requests, jsonify
import watson_developer_cloud
from flask import Flask, render_template
from flask_socketio import SocketIO, send


@app.route('/')
def index():
    return render_template('index.html')


@socketio.on('message')
def handleMessage(msg):
    print("Message: "+msg)
    msg = _watson.conversacion(msg)
    send(msg, broadcast=False)

def conversacion(mensaje):
    response = assistant.message(workspace_id='1bef94fd-be51-4996-956c-73f9d0f08c41', input={'text': mensaje})
    mens = (json.dumps(response, indent=2))
    msj = json.loads(mens)
    # print(json.dumps(response, indent=2))
    print(msj["output"]["text"][0])  # mensaje de respuesta
    rewa = (msj["output"]["text"][0])
    return rewa


if __name__=='__main__':
    socketio.run(app)

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Опубликуйте ваш ответ на другой странице

@app.route(/returned_answer/<mensaje>)
def conversacion(mensaje):
        response = assistant.message(workspace_id='1bef94fd-be51-4996-956c-73f9d0f08c41', input={'text': mensaje})
        mens = (json.dumps(response, indent=2))
        msj = json.loads(mens)
        # print(json.dumps(response, indent=2))
        print(msj["output"]["text"][0])  # mensaje de respuesta
        rewa = (msj["output"]["text"][0])
        return rewa

дайте своим входным сообщениям тег сообщения, а на своей странице индекса введите HTML-код для встраивания сообщений / return_answer в страницу индекса

  <button onclick="window.location.href = ('/returned_answer/'+document.getElementById('message_id').value)  
0 голосов
/ 16 октября 2018

Ваш код не показывает, как вы устанавливаете и настраиваете Python SDK с учетными данными для IBM Watson Assistant .Функция сообщения с ее входом и выходом описана здесь в справочнике по API .Если вы используете json.dumps в возвращенном объекте сообщения, вы увидите структуру результата (ответа) .

Структура результата зависит от версии API , которую вы используете.настроить во время инициализации SDK (не показано в вашем коде).Он может содержать только текст в виде массива или, с последними версиями API, может содержать изображения, опции на выбор и многое другое.Все возвращается в JSON-структуре в элементе output (который показан в вашем коде).

...