我正在使用Amazon Connect构建一个语音助手。该助手使用了一堆Lex机器人。我的助手几乎完成了,但想解决一个“错误”,使用户的不良体验。
我第一次执行语音助手(进行验证呼叫)时,Amazon Lex的机器人的响应会有很长的延迟。仅在第一次执行Amazon Lex的机器人时才会发生(如果助手开始第二次对话,则不会发生延迟)。
在寻找信息时,我发现了这个:
Amazon Lex's Cold Start solution
然后我尝试开发一个Lambda函数来应用这个Bot Lex预热。这是lambda_handler()上的代码:
lex_client = boto3.client('lexv2-runtime')
# Itero sobre cada uno de los Bots asignados en el diccionario anterior
for idBot, caracteristicasBot in dictBotsLex.items():
try:
response = lex_client.recognize_text(
botAliasId= caracteristicasBot['botAlias'], # Reemplaza con el alias ID de tu bot
botId=idBot,
localeId= 'es_ES', # Reemplaza con el código de idioma de tu bot si es diferente
sessionId= caracteristicasBot['userId'], # Puedes usar un ID de usuario único aquí
text= caracteristicasBot['inputText'] # Un mensaje de prueba para activar el bot
)
print('El bot {} se ha ejecutado correctamente'.format(idBot))
except Exception as e:
print("Error al llamar al Bot {} de Lex. Causa del error ==> {} .".format(idBot, e))
return {
'statusCode': 200,
'body': 'Llamadas a los bots de Lex realizadas con éxito'
}
字符串
代码没有生成错误,但我的机器人的冷启动并没有消失。
1条答案
按热度按时间ercv8c1e1#
我也遇到了同样的问题。我曾尝试用cron执行Lambda函数,它每小时执行一次Lambda。冷启动不会消失。但是,如果我用测试证明执行Lambda,然后我进行证明调用,冷启动会消失。
字符串
我认为,实施延迟允许莱克斯机器人激活,解决冷启动“错误”。
当尝试正常执行Lambda函数时,代码可以工作。但是,如果Lambda函数由Eventbridge cron执行,则不会产生任何效果。