如何在rasa聊天机器人中获得qna制造商的回应



我根据中提到的将我的luis迁移到rasahttps://rasa.com/docs/rasa/migrate-from/microsoft-luis-to-rasa/。我有一个python代码,它从QnAMaker知识库中获取答案,并以json格式给出结果。现在我的工作是rasa必须获取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])

会议室((

您可以将其实现为https://rasa.com/docs/rasa/core/actions/#custom-行动。使用rasa-sdk,您需要定义一个执行dispatcher.utter_message(<your formatted output here>)的操作,作为其run方法的一部分。

最新更新