Spec-Zone.ru › AWS CLI v2

[ aws . lex-runtime ]

post-text

Описание

Отправляет пользовательский ввод в Amazon Lex. Приложения-клиенты могут использовать этот API для отправки запросов в Amazon Lex во время выполнения. Amazon Lex затем интерпретирует пользовательский ввод, используя модель машинного обучения, созданную для бота.

В ответ Amazon Lex возвращает следующий message, чтобы передать пользователю необязательный responseCard для отображения. Рассмотрим следующие примеры сообщений:

  • Для пользовательского ввода «Я хотел бы пиццу», Amazon Lex может вернуть ответ с сообщением, запрашивающим данные слота (например, PizzaSize): «Какой размер пиццы вы хотите?»
  • После того, как пользователь предоставит всю информацию о заказе пиццы, Amazon Lex может вернуть ответ с сообщением для получения подтверждения пользователя «Продолжить заказ пиццы?»
  • После ответа пользователя на запрос подтверждения «да», Amazon Lex может вернуть заключение: «Спасибо, ваша пицца с сыром заказана.»

Не все сообщения Amazon Lex требуют ответа пользователя. Например, заключение не требует ответа. Некоторые сообщения требуют только ответа пользователя «да» или «нет». В дополнение к message, Amazon Lex предоставляет дополнительный контекст о сообщении в ответе, который можно использовать для улучшения поведения клиента, например, для отображения соответствующего пользовательского интерфейса клиента. Это поля slotToElicit, dialogState, intentName и slots в ответе. Рассмотрим следующие примеры:

  • Если сообщение предназначено для получения данных слота, Amazon Lex возвращает следующую контекстную информацию:
    • dialogState установлено в ElicitSlot
    • intentName установлено в имя интента в текущем контексте
    • slotToElicit установлено в имя слота, для которого message запрашивает информацию
    • slots установлено в карту слотов, сконфигурированных для интента, со значениями, известными в настоящее время
  • Если сообщение является запросом подтверждения, то dialogState установлено в ConfirmIntent, а SlotToElicit установлено в null.
  • Если сообщение является запросом уточнения (сконфигурированным для интента), указывающим на то, что пользовательский интент не понят, то dialogState установлено в ElicitIntent, а slotToElicit установлено в null.

Кроме того, Amazon Lex также возвращает ваши прикладные sessionAttributes. Дополнительную информацию см. в разделе Управление контекстом разговора.

См. также: AWS API документация

Краткое описание

  post-text
--bot-name <value>
--bot-alias <value>
--user-id <value>
[--session-attributes <value>]
[--request-attributes <value>]
--input-text <value>
[--active-contexts <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--bot-name (строка)

Имя бота Amazon Lex.

--bot-alias (строка)

Псевдоним бота Amazon Lex.

--user-id (строка)

Идентификатор пользователя приложения-клиента. Amazon Lex использует его для идентификации разговора пользователя с вашим ботом. Во время выполнения каждый запрос должен содержать поле userID.

При выборе идентификатора пользователя для вашего приложения, рассмотрите следующие факторы.

  • Поле userID не должно содержать никакой персональной информации пользователя, например, имени, персонального идентификационного номера или другой личной информации конечного пользователя.
  • Если вы хотите, чтобы пользователь начал разговор на одном устройстве и продолжил на другом, используйте уникальный идентификатор пользователя.
  • Если вы хотите, чтобы один и тот же пользователь мог вести два независимых разговора на двух разных устройствах, выберите идентификатор, специфичный для устройства.
  • Пользователь не может вести два независимых разговора с двумя различными версиями одного и того же бота. Например, пользователь не может общаться с версиями PROD и BETA одного и того же бота. Если вы предполагаете, что пользователю потребуется взаимодействовать с двумя различными версиями, например, во время тестирования, включите псевдоним бота в идентификатор пользователя, чтобы разделить два разговора.

--session-attributes (карта)

Информация, специфичная для приложения, передаваемая между Amazon Lex и приложением-клиентом.

Дополнительную информацию см. в разделе Установка атрибутов сеанса.

ключ -> (строка)

значение -> (строка)

Краткая форма записи:

KeyName1=string,KeyName2=string

Синтаксис JSON:

{"string": "string"
  ...}

--request-attributes (карта)

Информация, специфичная для запроса, передаваемая между Amazon Lex и приложением-клиентом.

Пространство имен x-amz-lex: зарезервировано для специальных атрибутов. Не создавайте атрибуты запроса с префиксом x-amz-lex:.

Дополнительную информацию см. в разделе Установка атрибутов запроса.

ключ -> (строка)

значение -> (строка)

Краткая форма записи:

KeyName1=string,KeyName2=string

Синтаксис JSON:

{"string": "string"
  ...}

--input-text (строка)

Текст, введенный пользователем (Amazon Lex интерпретирует этот текст).

--active-contexts (список)

Список активных контекстов для запроса. Контекст может быть активирован при выполнении предыдущего интента или путем включения контекста в запрос.

Если вы не указываете список контекстов, Amazon Lex будет использовать текущий список контекстов для сеанса. Если вы укажете пустой список, все контексты для сеанса будут очищены.

(структура)

Контекст — это переменная, содержащая информацию о текущем состоянии разговора между пользователем и Amazon Lex. Контекст может быть установлен автоматически Amazon Lex при выполнении интента или может быть установлен во время выполнения с помощью операции PutContent, PutText или PutSession.

имя -> (строка)

Имя контекста.

времяДействия -> (структура)

Продолжительность времени или количество ходов, в течение которых контекст остается активным.

времяДействияВСекундах -> (целое число)

Количество секунд, в течение которых контекст должен быть активен после его первоначальной отправки в ответ PostContent или PostText. Вы можете установить значение от 5 до 86 400 секунд (24 часа).

ходыДоИстечения -> (целое число)

Количество ходов разговора, в течение которых контекст должен быть активным. Один ход разговора — это один запрос PostContent или PostText и соответствующий ответ от Amazon Lex.

параметры -> (карта)

Переменные состояния для текущего контекста. Вы можете использовать эти значения в качестве значений по умолчанию для слотов в последующих событиях.

ключ -> (строка)

значение -> (строка)

Краткая форма записи:

name=string,timeToLive={timeToLiveInSeconds=integer,turnsToLive=integer},parameters={KeyName1=string,KeyName2=string} ...

Синтаксис JSON:

[
  {
    "name": "string",
    "timeToLive": {
      "timeToLiveInSeconds": integer,
      "turnsToLive": integer
    },
    "parameters": {"string": "string"
      ...}
  }
  ...
]

--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной JSON строки. Строка JSON следует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения будут переопределять значения, предоставленные JSON. Невозможно передать произвольные двоичные значения с помощью значения, предоставленного JSON, поскольку строка будет интерпретироваться буквально. Это не может быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON каркас в стандартный вывод без отправки запроса API. Если предоставлено без значения или со значением input, выводит JSON пример входного файла, который можно использовать как аргумент для --cli-input-json. Аналогично, если предоставлено yaml-input, он выведет пример YAML входных данных, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он валидирует входные данные команды и возвращает пример JSON выходного файла для этой команды. Сгенерированный JSON каркас не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON каркасе.

Глобальные параметры

--debug (логическое значение)

Включить отладочную запись.

--endpoint-url (строка)

Переопределить стандартный URL команды указанным URL.

--no-verify-ssl (логическое значение)

По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL соединения AWS CLI будет проверять SSL сертификаты. Этот параметр переопределяет поведение проверки SSL сертификатов по умолчанию.

--no-paginate (логическое значение)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (строка)

Стиль форматирования для вывода команд.

  • json
  • текст
  • таблица
  • yaml
  • yaml-поток

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использование определенного профиля из файла учетных данных.

--region (строка)

Регион для использования. Переопределяет параметры конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включение/выключение цветного вывода.

  • включено
  • выключено
  • автоматически

--no-sign-request (логическое значение)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.

--ca-bundle (строка)

Файл сертификатов CA для проверки SSL сертификатов. Переопределяет параметры конфигурации/среды.

--cli-read-timeout (целое число)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (целое число)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде строки, закодированной в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, а двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (логическое значение)

Отключить страницу кли для вывода.

--cli-auto-prompt (логическое значение)

Автоматически запрашивать параметры CLI.

--no-cli-auto-prompt (логическое значение)

Отключить автоматический запрос параметров CLI.

Вывод

intentName -> (строка)

Текущий запрос пользователя, о котором знает Amazon Lex.

nluIntentConfidence -> (структура)

Предоставляет оценку, которая указывает, насколько уверен Amazon Lex, что возвращенный запрос соответствует запросу пользователя. Оценка находится в диапазоне от 0,0 до 1,0. Для получения дополнительной информации см. Статьи про оценки уверенности .

Оценка является относительной, а не абсолютной. Оценка может меняться в зависимости от улучшений в Amazon Lex.

score -> (двойное)

Оценка, которая указывает, насколько уверен Amazon Lex, что запрос соответствует запросу пользователя. Значения лежат в диапазоне от 0,00 до 1,00. Более высокие оценки соответствуют большей уверенности.

alternativeIntents -> (список)

От одного до четырех альтернативных запросов, которые могут быть применимы к запросу пользователя.

Каждая альтернатива включает оценку, которая указывает, насколько уверен Amazon Lex, что запрос соответствует запросу пользователя. Запросы сортируются по оценке уверенности.

(структура)

Запрос, который Amazon Lex предлагает в качестве удовлетворяющего запросу пользователя. Включает имя запроса, оценку уверенности Amazon Lex в удовлетворении запроса пользователя и слоты, определенные для запроса.

intentName -> (строка)

Имя запроса, который Amazon Lex предлагает в качестве удовлетворяющего запросу пользователя.

nluIntentConfidence -> (структура)

Указывает, насколько уверен Amazon Lex, что запрос удовлетворяет запрос пользователя.

score -> (двойное)

Оценка, которая указывает, насколько уверен Amazon Lex, что запрос соответствует запросу пользователя. Значения лежат в диапазоне от 0,00 до 1,00. Более высокие оценки соответствуют большей уверенности.

slots -> (отображение)

Слоты и значения слотов, связанные с предсказанным запросом.

ключ -> (строка)

значение -> (строка)

slots -> (отображение)

Слоты запроса, которые Amazon Lex определил из входных данных пользователя в разговоре.

Amazon Lex создает список возможных значений для слота. Возвращаемое значение определяется значением valueSelectionStrategy, выбранным при создании или обновлении типа слота. Если valueSelectionStrategy установлено в ORIGINAL_VALUE, возвращается значение, предоставленное пользователем, если значение пользователя похоже на значения слота. Если valueSelectionStrategy установлено в TOP_RESOLUTION, Amazon Lex возвращает первое значение в списке разрешений или, если список разрешений отсутствует, null. Если вы не укажете valueSelectionStrategy, по умолчанию будет ORIGINAL_VALUE.

ключ -> (строка)

значение -> (строка)

sessionAttributes -> (отображение)

Отображение пар «ключ-значение», представляющих контекстную информацию, специфичную для сеанса.

ключ -> (строка)

значение -> (строка)

message -> (строка)

Сообщение для пользователя. Сообщение может поступать из конфигурации бота или из функции Lambda.

Если запрос не настроен с функцией Lambda или если функция Lambda вернула Delegate в качестве dialogAction.type своего ответа, Amazon Lex определяет следующие действия и выбирает соответствующее сообщение из конфигурации бота на основе текущего контекста взаимодействия. Например, если Amazon Lex не может понять входные данные пользователя, он использует сообщение с запросом уточнения.

При создании запроса вы можете назначать сообщения группам. Когда сообщения назначены группам, Amazon Lex возвращает одно сообщение из каждой группы в ответе. Поле message — это строка JSON с экранированными сообщениями. Дополнительную информацию о структуре возвращенной строки JSON см. в разделе msg-prompts-formats.

Если функция Lambda возвращает сообщение, Amazon Lex передает его клиенту в своем ответе.

sentimentResponse -> (структура)

Выраженное в высказывании мнение.

Если бот настроен на отправку высказываний в Amazon Comprehend для анализа тональности, это поле содержит результат анализа.

sentimentLabel -> (строка)

Определенное Amazon Comprehend мнение с наибольшей уверенностью.

sentimentScore -> (строка)

Вероятность того, что мнение было правильно определено.

messageFormat -> (строка)

Формат сообщения ответа. Одно из следующих значений:

  • PlainText - Сообщение содержит обычный текст UTF-8.
  • CustomPayload - Сообщение имеет пользовательский формат, определенный функцией Lambda.
  • SSML - Сообщение содержит текст, отформатированный для голосового вывода.
  • Composite - Сообщение содержит экранированный объект JSON, содержащий одно или несколько сообщений из групп, которым сообщения были назначены при создании запроса.

dialogState -> (строка)

Определяет текущее состояние взаимодействия с пользователем. Amazon Lex возвращает одно из следующих значений в качестве dialogState. Клиент может использовать эту информацию для настройки пользовательского интерфейса.

  • ElicitIntent - Amazon Lex хочет получить запрос пользователя. Например, пользователь может произнести запрос («Я хочу заказать пиццу»). Если Amazon Lex не может определить запрос пользователя из этого высказывания, он вернет это dialogState.
  • ConfirmIntent - Amazon Lex ожидает ответ «да» или «нет». Например, Amazon Lex хочет подтверждения пользователя перед выполнением запроса. Вместо простого «да» или «нет», пользователь может ответить дополнительной информацией. Например, «да, но сделайте ее с толстым тестом» или «нет, я хочу заказать напиток». Amazon Lex может обработать такую дополнительную информацию (в этих примерах обновить значение слота типа теста или изменить запрос с OrderPizza на OrderDrink).
  • ElicitSlot - Amazon Lex ожидает значения слота для текущего запроса. Например, предположим, что в ответе Amazon Lex отправляет сообщение: «Какой размер пиццы вы хотите?». Пользователь может ответить значением слота (например, «средний»). Пользователь также может предоставить дополнительную информацию в ответе (например, «средний толстый тест пиццы»). Amazon Lex может должным образом обработать такую дополнительную информацию.
  • Fulfilled - Указывает, что функция Lambda, настроенная для запроса, успешно выполнила запрос.
  • ReadyForFulfillment - Указывает, что клиенту нужно выполнить запрос.
  • Failed - Указывает, что диалог с пользователем не удался. Это может произойти по разным причинам, включая то, что пользователь не дал подходящего ответа на запросы службы (вы можете настроить, сколько раз Amazon Lex может запросить у пользователя определенную информацию) или функция Lambda не смогла выполнить запрос.

slotToElicit -> (строка)

Если значение dialogState равно ElicitSlot, возвращает имя слота, для которого Amazon Lex запрашивает значение.

responseCard -> (структура)

Представляет варианты ответа пользователя на текущий запрос. Карта ответа может поступать из конфигурации бота (в консоли Amazon Lex, выберите кнопку «Настройки» рядом с слотом) или из функции кода (функция Lambda).

version -> (строка)

Версия формата карты ответа.

contentType -> (строка)

Тип содержимого ответа.

genericAttachments -> (список)

Массив объектов прикрепления, представляющих варианты.

(структура)

Представляет вариант, отображаемый пользователю при показе запроса. Это может быть изображение, кнопка, ссылка или текст.

title -> (строка)

Заголовок варианта.

subTitle -> (строка)

Подзаголовок, отображаемый под заголовком.

attachmentLinkUrl -> (строка)

Ссылка на прикрепленный файл к карте ответа.

imageUrl -> (строка)

Ссылка на изображение, отображаемое пользователю.

buttons -> (список)

Список вариантов, которые нужно отобразить пользователю.

(структура)

Представляет вариант, который нужно отобразить на платформе клиента (Facebook, Slack и т. д.).

text -> (строка)

Текст, отображаемый пользователю на кнопке.

value -> (строка)

Значение, отправляемое в Amazon Lex, когда пользователь выбирает кнопку. Например, рассмотрим текст кнопки «NYC». Когда пользователь выбирает кнопку, отправленным значением может быть «Нью-Йорк Сити».

sessionId -> (строка)

Уникальный идентификатор сеанса.

botVersion -> (строка)

Версия бота, ответившего на диалог. Вы можете использовать эту информацию, чтобы определить, выполняется ли одна версия бота лучше, чем другая.

activeContexts -> (список)

Список активных контекстов для сеанса. Контекст может быть установлен при выполнении запроса или путем вызова операции PostContent, PostText или PutSession.

Контекст может использоваться для управления запросами, которые могут следовать за запросом, или для изменения работы вашего приложения.

(структура)

Контекст — это переменная, которая содержит информацию о текущем состоянии разговора между пользователем и Amazon Lex. Контекст может быть автоматически установлен Amazon Lex при выполнении запроса или в режиме реального времени с помощью операции PutContent, PutText или PutSession.

name -> (строка)

Имя контекста.

timeToLive -> (структура)

Продолжительность времени или количество ходов, в течение которых контекст остается активным.

timeToLiveInSeconds -> (целое число)

Количество секунд, в течение которых контекст должен быть активным после первого отправления в ответе PostContent или PostText. Вы можете установить значение от 5 до 86 400 секунд (24 часа).

turnsToLive -> (целое число)

Количество ходов разговора, в течение которых контекст должен оставаться активным. Один ход разговора — это один запрос PostContent или PostText и соответствующий ответ от Amazon Lex.

parameters -> (отображение)

Переменные состояния для текущего контекста. Вы можете использовать эти значения в качестве значений по умолчанию для слотов в последующих событиях.

ключ -> (строка)

значение -> (строка)

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API