我按照https://rasa.com/docs/rasa/migrate-from/microsoft-luis-to-rasa/中的描述将自己的luis迁移到了rasa。 我有一个python代码,可从QnA Maker知识库中获取答案,并以json格式给出结果。 现在,我的工作是rasa必须获取python代码的结果,并将该结果作为chatbot的响应给出。 我怎样才能做到这一点? 我应该在哪里部署此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()
答案 0 :(得分:0)
您可以将其实现为https://rasa.com/docs/rasa/core/actions/#custom-actions。使用rasa-sdk,您需要定义一个执行dispatcher.utter_message(<your formatted output here>)
作为其run
方法一部分的动作。