Чтобы пролить немного света на то, как работает бот Lex, сервис позволяет вам определять высказывания (условия «если»), которые он будет интеллектуально пытаться выполнить нечетким соответствием, чтобы определить, сказал ли пользователь что-то, что подходитодно из высказываний, которые вы определили.Вы можете объявлять и изменять эти высказывания в консоли AWS. примеры этого доступны здесь.
Часть "then" этого условного приложения - это место, где вы можете определить, что происходит послепользовательский ввод соответствует определенному высказыванию (состоянию), где обрабатываются некоторые базовые вычисления, проще всего в форме лямбда-функции.
Для чего-то простого, например, возврата статического текста / информации после выполнения условия: верните из вашей функции lambda_handler
строку с правильным результатом.Базовая псевдокодовая реализация Python этого будет выглядеть следующим образом:
# Here's an implementation where you have an intent of a user asking
# for more info about a particular object (info_type as defined in Lex console).
def lambda_handler(event, context):
info_name = event['info_type']
if info_name = 'business_hours':
return "Our business hours are 9am-5pm"
elif info_name = 'slogan':
return "We're customer obsessed"
else:
return "Sorry, we don't have info about this!"
В зависимости от того, как вы хотите настроить приложение, вы можете решить, как вы хотите разделить логику между различными высказываниями, и если /затем будут переданы случаи с опорными данными. Если у вас есть более сложные запросы, типы вопросов и вычисления, все они определят, каким будет оптимальный способ создания вашего бота в чате чата Lex.