Spec-Zone.ru › AWS CLI v2

[ aws . lex-runtime ]

post-content

Описание

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

Операция PostContent поддерживает аудио ввод с частотой 8 кГц и 16 кГц. Вы можете использовать аудио с частотой 8 кГц для достижения большей точности распознавания речи в телефонных приложениях.

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

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

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

  • Если сообщение предназначено для получения данных слотов, Amazon Lex возвращает следующую контекстную информацию:
    • x-amz-lex-dialog-state заголовок установлен на ElicitSlot
    • x-amz-lex-intent-name заголовок установлен на имя интента в текущем контексте
    • x-amz-lex-slot-to-elicit заголовок установлен на имя слота, для которого message запрашивает информацию
    • x-amz-lex-slots заголовок установлен на карту слотов, настроенных для интента, с их текущими значениями
  • Если сообщение является запросом подтверждения, x-amz-lex-dialog-state заголовок установлен на Confirmation, а x-amz-lex-slot-to-elicit заголовок опушен.
  • Если сообщение является уточняющим запросом, настроенным для интента, указывающим, что намерение пользователя не распознано, x-amz-dialog-state заголовок установлен на ElicitIntent, а x-amz-slot-to-elicit заголовок опушен.

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

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

Синопсис

  post-content
--bot-name <value>
--bot-alias <value>
--user-id <value>
[--session-attributes <value>]
[--request-attributes <value>]
--content-type <value>
[--accept <value>]
--input-stream <value>
[--active-contexts <value>]
<outfile>
[--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 (JSON)

Вы передаете это значение в качестве x-amz-lex-session-attributes HTTP-заголовка.

Прикладная информация, передаваемая между Amazon Lex и клиентским приложением. Значение должно быть JSON-сериализованной и base64-кодированной картой со строковыми ключами и значениями. Общий размер заголовков sessionAttributes и requestAttributes ограничен 12 КБ.

Для получения дополнительной информации см. Настройка атрибутов сеанса.

--request-attributes (JSON)

Вы передаете это значение в качестве x-amz-lex-request-attributes HTTP-заголовка.

Информация, специфичная для запроса, передаваемая между Amazon Lex и клиентским приложением. Значение должно быть JSON-сериализованной и base64-кодированной картой со строковыми ключами и значениями. Общий размер заголовков requestAttributes и sessionAttributes ограничен 12 КБ.

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

Для получения дополнительной информации см. Настройка атрибутов запроса.

--content-type (строка)

Вы передаете это значение в качестве Content-Type HTTP-заголовка.

Указывает формат аудио или текста. Значение заголовка должно начинаться с одного из следующих префиксов:

  • Формат PCM, аудиоданные должны быть в порядке байтов little-endian.
    • audio/l16; rate=16000; channels=1
    • audio/x-l16; sample-rate=16000; channel-count=1
    • audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false
  • Формат Opus
    • audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4
  • Текстовый формат
    • text/plain; charset=utf-8

--accept (строка)

Вы передаете это значение в качестве Accept HTTP-заголовка.

Сообщение, возвращаемое Amazon Lex в ответе, может быть текстом или речью в зависимости от значения Accept HTTP-заголовка в запросе.

  • Если значение равно text/plain; charset=utf-8, Amazon Lex возвращает текст в ответе.
  • Если значение начинается с audio/, Amazon Lex возвращает речь в ответе. Amazon Lex использует Amazon Polly для генерации речи (используя конфигурацию, которую вы указали в Accept заголовке). Например, если вы укажете audio/mpeg в качестве значения, Amazon Lex возвращает речь в формате MPEG.
  • Если значение равно audio/pcm, возвращаемая речь представлена в формате audio/pcm с 16-битным, little endian порядком байтов.
  • Следующие значения принимаются:
    • audio/mpeg
    • audio/ogg
    • audio/pcm
    • text/plain; charset=utf-8
    • audio/* (по умолчанию mpeg)

--input-stream (потоковый блок)

Пользовательский ввод в формате PCM или Opus аудио или текстовом формате, как описано в Content-Type HTTP-заголовке.

Вы можете передавать аудиоданные в Amazon Lex потоком или создать локальный буфер, который записывает все аудиоданные перед отправкой. Как правило, вы получаете лучшую производительность, если передаете аудиоданные потоком, а не буферизируете данные локально.

Примечание

Это аргумент типа: потоковый блок. Его значение должно быть путем к файлу (например, path/to/file) и не должно начинаться с file:// или fileb://

--active-contexts (JSON)

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

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

outfile (строка) Имя файла, в который будет сохранёно содержимое

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

--debug (булево)

Включить отладку.

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

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

--no-verify-ssl (булево)

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

--no-paginate (булево)

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

--output (строка)

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

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (строка)

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

--profile (строка)

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

--region (строка)

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

--version (строка)

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

--color (строка)

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

  • on
  • off
  • auto

--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 V1, а двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, отображающего бинарный блок, 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.

Вывод

contentType -> (строка)

Тип содержимого, как указано в заголовке HTTP Accept в запросе.

intentName -> (строка)

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

nluIntentConfidence -> (JSON)

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

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

alternativeIntents -> (JSON)

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

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

slots -> (JSON)

Карта нуля или более слотов намерений (имя/значение) Amazon Lex, обнаруженные из пользовательского ввода во время разговора. Поле закодировано в base-64.

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

sessionAttributes -> (JSON)

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

sentimentResponse -> (строка)

Выраженный в высказывании эмоциональный оттенок.

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

message -> (строка)

Вы можете использовать это поле только в локалях de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR и it-IT. Во всех остальных локалях поле message имеет значение null. Следует использовать поле encodedMessage.

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

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

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

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

encodedMessage -> (строка)

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

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

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

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

Поле encodedMessage закодировано в base-64. Перед использованием значения необходимо его декодировать.

messageFormat -> (строка)

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

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

dialogState -> (строка)

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

  • ElicitIntent — Amazon Lex хочет получить намерение пользователя. Рассмотрим следующие примеры: Например, пользователь может произнести намерение («Я хочу заказать пиццу»). Если Amazon Lex не может определить намерение пользователя из этого высказывания, он вернет этот диалоговый статус.
  • 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 запрашивает значение.

inputTranscript -> (строка)

Текст, используемый для обработки запроса.

Вы можете использовать это поле только в локалях de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR и it-IT. Во всех остальных локалях поле inputTranscript имеет значение null. Следует использовать поле encodedInputTranscript.

Если вход был потоком аудио, поле inputTranscript содержит текст, извлеченный из аудиопотока. Это текст, который фактически обрабатывается для распознавания намерений и значений слотов. Вы можете использовать эту информацию, чтобы определить, правильно ли Amazon Lex обрабатывает аудио, которое вы отправляете.

encodedInputTranscript -> (строка)

Текст, используемый для обработки запроса.

Если вход был потоком аудио, поле encodedInputTranscript содержит текст, извлеченный из аудиопотока. Это текст, который фактически обрабатывается для распознавания намерений и значений слотов. Вы можете использовать эту информацию, чтобы определить, правильно ли Amazon Lex обрабатывает аудио, которое вы отправляете.

Поле encodedInputTranscript закодировано в base-64. Перед использованием значения необходимо его декодировать.

audioStream -> (потоковый фрагмент)

Запрос (или утверждение), которое необходимо передать пользователю. Он основан на конфигурации бота и контексте. Например, если Amazon Lex не понял намерение пользователя, он отправляет clarificationPrompt, настроенный для бота. Если для намерения требуется подтверждение перед выполнением действия, он отправляет confirmationPrompt. Другой пример: предположим, что Lambda-функция успешно выполнила намерение и отправила сообщение для передачи пользователю. Тогда Amazon Lex отправляет это сообщение в ответ.

botVersion -> (строка)

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

sessionId -> (строка)

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

activeContexts -> (JSON)

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

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

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

Spec-Zone.ru

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