Отправьте анализируемое намерение и слоты обратно клиенту из Amazon-Lex

Другая неудачная практика может вызвать эту проблему, которая еще не указана.

См. этот фрагмент кода:


Все в порядке, верно?

Что делать, если «a_important_file.php»:



 ----------This is the end of the an_important_file-------------------

Это не сработает? Почему? Потому что уже создана новая строка.

Теперь, хотя это не общий сценарий, что, если вы используете структуру MVC, которая загружает большое количество файлов перед передачей данных на ваш контроллер? Это не необычный сценарий. Будьте готовы к этому.

Из PSR-2 2.2:


  • Все файлы PHP ДОЛЖНЫ использовать Unix LF (linefeed) line ending .
  • Все файлы PHP ДОЛЖНЫ заканчиваться на single blank line.
  • Тег закрытия?> ДОЛЖЕН быть omitted из файлов, содержащих only php

Поверьте, следующие стандарты могут сэкономить вам много часов из вашей жизни:)

0
задан ishan 13 July 2018 в 07:43
поделиться

1 ответ

Если я правильно понимаю вас, вы хотите, чтобы ваш клиент получил LexResponse и обрабатывал его в клиенте, а не в Lambda или backend API. Если это правильно, вы можете попробовать следующую реализацию Lex-Audio.

// This will handle the event when the mic button is clicked on your UI.
scope.audioClick = function () {

        // Cognito Credentials for Lex Runtime Service
        AWS.config.credentials = new AWS.CognitoIdentityCredentials(
            { IdentityPoolId: Settings.AWSIdentityPool }, 
            { region: Settings.AWSRegion }
        );

        AWS.config.region = Settings.AWSRegion;

        config = {
            lexConfig: { botName: Settings.BotName }
        };
        conversation = new LexAudio.conversation(config, function (state) {

            scope.$apply(function () {
                if (state === "Passive") {
                    scope.placeholder = Settings.PlaceholderWithMic;
                }
                else {
                    scope.placeholder = state + "...";
                }
            });

        }, chatbotSuccess
            , function (error) {
               audTextContent = error;
            }, function (timeDomain, bufferLength) {
            });
        conversation.advanceConversation();
    };

Функция успеха, вызванная после ответа Лекса, выглядит следующим образом:

chatbotSuccess = function (data) { 
       var intent = data.intent;
       var slots = data.slots;

       // Do what you need with this data
    };

Надеюсь, это даст вам некоторое представление о том, что вам нужно сделать. Если вам нужна ссылка для Lex-Audio, есть замечательная статья об этом в блоге Amazon, которую вы должны проверить: https://aws.amazon.com/blogs/machine-learning/capturing-voice- вход-в-браузере /

1
ответ дан Arun Balasubramaniam 17 August 2018 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: