как получить ответ от qna maker в rasa chatbot? - PullRequest
0 голосов
/ 07 марта 2020

Я перенес Луи в расу, как указано в https://rasa.com/docs/rasa/migrate-from/microsoft-luis-to-rasa/. У меня есть код python, который получает ответ из базы знаний QnA Maker и выдает результат в формате json. Теперь моя работа заключается в том, что раса должна взять результат кода python и выдать этот результат как ответ чатбота. Как я могу это сделать? Где я должен развернуть этот python код? Ниже мой python код.

v1 = 'где германий'

def conference_room ():

import http.client, urllib.parse, json, time, sys

host = "newbot.azurewebsites.net"

endpoint_key = "xxxxxxxx-8xxe-xxxx-9xx2-7cxx4fxxxxx"

route = "/qnamaker/knowledgebases/xxxx052f-4xxa-xx7d-xxxx-4xxadxxxxxx/generateAnswer"

q1 = {'question':v1}
question = str(q1)

headers = {
           'Authorization': 'EndpointKey ' + endpoint_key,
           'Content-Type': 'application/json'
           }
try:
    conn = http.client.HTTPSConnection(host,port=443)
    conn.request ("POST", route,  question, headers)
    response = conn.getresponse ()
    answer = response.read ()
    print(json.dumps(json.loads(answer), indent=4))
except :
    print ("Unexpected error:", sys.exc_info()[0])
    print ("Unexpected error:", sys.exc_info()[1])

conference_room ()

1 Ответ

0 голосов
/ 09 марта 2020

Вы можете реализовать это как https://rasa.com/docs/rasa/core/actions/#custom -action . Используя rasa-sdk, вам нужно определить действие, которое выполняет dispatcher.utter_message(<your formatted output here>) как часть его run метода.

...