我已经创建了一个AWS Lex聊天机器人,现在我必须查询内部JIRA来回答某些问题。我可以在AWS Lex中执行此操作吗?我尝试使用AWS Lambda,但无法与内部系统通信。
或者还有其他允许我执行此操作的聊天机器人引擎,也许就像每个话语将已配置的机器人作为API调用一样。
答案 0 :(得分:0)
找出一个替代方案。除非我们明确开放端口,否则AWS Lex似乎不允许与内部系统进行交互。我决定使用Microsoft LUIS。这允许从内部系统作为API调用Intent标识。
以下Python代码使我可以从本地系统连接到配置的LUIS服务。
########### Python 3.6 #############
import requests
headers = {
# Request headers
'Ocp-Apim-Subscription-Key': 'xxxxxxxxxxxxxxx',
}
params ={
# Query parameter
'q': 'Can I book a travel ticket from LA to Chicago',
# Optional request parameters, set to default values
'timezoneOffset': '0',
'verbose': 'true',
'spellCheck': 'false',
'staging': 'true',
}
try:
r = requests.get('https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/XXX-XXX-XXX-XXX',headers=headers, params=params)
print(r.json())
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))