[ aws . lex-models ]
put-bot
Описание
Создаёт бота Amazon Lex для диалога или заменяет существующий бот. При создании или обновлении бота необходимо указать только имя, локаль и предназначен ли бот для детей младше 13 лет. Вы можете использовать это для добавления намерений позже или для удаления намерений из существующего бота. При создании бота с минимальной информацией бот создаётся или обновляется, но Amazon Lex возвращает ответ FAILED. Вы можете разработать бота после добавления одного или нескольких намерений. Дополнительную информацию о ботах Amazon Lex см. в разделе how-it-works .
Если вы укажете имя существующего бота, поля в запросе заменят существующие значения в $LATEST версии бота. Amazon Lex удаляет любые поля, для которых вы не предоставляете значения в запросе, за исключением idleTTLInSeconds и privacySettings полей, которые устанавливаются в их значения по умолчанию. Если вы не укажете значения для необходимых полей, Amazon Lex выбросит исключение.
Для выполнения этой операции требуются разрешения на действие lex:PutBot. Дополнительную информацию см. в разделе security-iam .
См. также: AWS API документацию
Синтаксис
put-bot
--name <value>
[--description <value>]
[--intents <value>]
[--enable-model-improvements | --no-enable-model-improvements]
[--nlu-intent-confidence-threshold <value>]
[--clarification-prompt <value>]
[--abort-statement <value>]
[--idle-session-ttl-in-seconds <value>]
[--voice-id <value>]
[--checksum <value>]
[--process-behavior <value>]
--locale <value>
--child-directed | --no-child-directed
[--detect-sentiment | --no-detect-sentiment]
[--create-version | --no-create-version]
[--tags <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]
Параметры
--name (строка)
--description (строка)
--intents (список)
Массив объектов Intent. Каждый объект определяет команду, которую может ввести пользователь. Например, для бота по заказу пиццы может быть определено намерение OrderPizza. Более подробную информацию см. в разделе как это работает.
(структура)
Идентифицирует конкретную версию намерения.
intentName -> (строка)
intentVersion -> (строка)
Сокращенная синтаксическая запись:
intentName=string,intentVersion=string ...
Синтаксис JSON:
[
{
"intentName": "string",
"intentVersion": "string"
}
...
]
--enable-model-improvements | --no-enable-model-improvements (логическое значение)
Установите значение в true, чтобы включить улучшения в понимании естественного языка.
Когда вы устанавливаете параметр enableModelImprovements в значение true, вы можете использовать параметр nluIntentConfidenceThreshold для настройки баллов уверенности. Более подробную информацию см. в разделе Баллы уверенности.
Вы можете установить параметр enableModelImprovements только в определенных регионах. Если вы установите параметр в значение true, ваш бот получит доступ к улучшениям точности.
Регионы, в которых вы можете установить параметр enableModelImprovements в значение true:
- США Восточный (Северная Вирджиния) (us-east-1)
- США Западный (Орегон) (us-west-2)
- Азия-Тихий океан (Сидней) (ap-southeast-2)
- Европа (Ирландия) (eu-west-1)
В других регионах параметр enableModelImprovements по умолчанию установлен в значение true. В этих регионах установка параметра в значение false приводит к исключению ValidationException.
--nlu-intent-confidence-threshold (двойное значение)
Определяет порог, при котором Amazon Lex вставит AMAZON.FallbackIntent, AMAZON.KendraSearchIntent или оба значения при возвращении альтернативных намерений в ответе PostContent или PostText. AMAZON.FallbackIntent и AMAZON.KendraSearchIntent добавляются только в том случае, если они настроены для бота.
Для использования баллов уверенности в следующих регионах необходимо установить параметр enableModelImprovements в значение true.
- США Восточный (Северная Вирджиния) (us-east-1)
- США Западный (Орегон) (us-west-2)
- Азия-Тихий океан (Сидней) (ap-southeast-2)
- Европа (Ирландия) (eu-west-1)
В других регионах параметр enableModelImprovements по умолчанию установлен в значение true.
Например, предположим, что бот настроен с порогом уверенности 0,80 и параметром AMAZON.FallbackIntent. Amazon Lex возвращает три альтернативных намерения со следующими баллами уверенности: IntentA (0,70), IntentB (0,60), IntentC (0,50). Ответ на операцию PostText будет следующим:
- AMAZON.FallbackIntent
- IntentA
- IntentB
- IntentC
--clarification-prompt (структура)
Если Amazon Lex не понимает намерение пользователя, он использует это сообщение для уточнения. Чтобы указать, сколько раз Amazon Lex должен повторять запрос уточнения, используйте поле maxAttempts. Если Amazon Lex по-прежнему не понимает, он отправляет сообщение в поле abortStatement.
При создании запроса уточнения убедитесь, что он предлагает правильный ответ от пользователя. Например, для бота, который заказывает пиццу и напитки, можно создать запрос уточнения: «Что вы хотите сделать? Вы можете сказать „Заказать пиццу“ или „Заказать напиток“».
Если вы определили намерение по умолчанию, оно будет вызвано, если запрос уточнения повторяется заданное количество раз в поле maxAttempts. Более подробную информацию см. в разделе AMAZON.FallbackIntent.
Если вы не определяете запрос уточнения, Amazon Lex в момент выполнения вернёт исключение 400 Bad Request в трёх случаях:
- Последующий запрос — когда пользователь отвечает на последующий запрос, но не предоставляет намерение. Например, в ответ на последующий запрос «Хотите ещё что-нибудь сегодня?» пользователь отвечает «Да». Amazon Lex вернёт исключение 400 Bad Request, потому что у него нет запроса уточнения для получения намерения от пользователя.
- Функция Lambda — когда вы используете функцию Lambda, вы возвращаете тип диалога
ElicitIntent. Поскольку у Amazon Lex нет запроса уточнения для получения намерения от пользователя, он вернёт исключение 400 Bad Request. - Операция PutSession — при использовании операции
PutSessionвы отправляете тип диалогаElicitIntent. Поскольку у Amazon Lex нет запроса уточнения для получения намерения от пользователя, он вернёт исключение 400 Bad Request.
messages -> (список)
Массив объектов, каждый из которых содержит строку сообщения и её тип. Вы можете указать строку сообщения в текстовом формате или в формате языка разметки для синтеза речи (SSML).
(структура)
Объект сообщения, содержащий текст сообщения и его тип.
contentType -> (строка)
content -> (строка)
groupNumber -> (целое число)
maxAttempts -> (целое число)
responseCard -> (строка)
PostText. Он подставляет атрибуты сеанса и значения слотов в качестве заполнительных значений в карточке ответа. Более подробную информацию см. в разделе ex-resp-card.Сокращенная синтаксическая запись:
messages=[{contentType=string,content=string,groupNumber=integer},{contentType=string,content=string,groupNumber=integer}],maxAttempts=integer,responseCard=string
Синтаксис JSON:
{
"messages": [
{
"contentType": "PlainText"|"SSML"|"CustomPayload",
"content": "string",
"groupNumber": integer
}
...
],
"maxAttempts": integer,
"responseCard": "string"
}
--abort-statement (структура)
Когда Amazon Lex не может понять ввод пользователя в контексте, он пытается получить информацию несколько раз. После этого Amazon Lex отправляет пользователю сообщение, определённое в поле abortStatement, а затем прекращает разговор. Для установки количества повторных попыток используйте поле valueElicitationPrompt для типа слота.
Например, в боте по заказу пиццы Amazon Lex может спросить пользователя «Какой тип коржа вы хотите?». Если ответ пользователя не соответствует ожидаемым ответам (например, «тонкий корж», «глубокая тарелка» и т. д.), Amazon Lex попытается получить корректный ответ ещё несколько раз.
Например, в приложении по заказу пиццы OrderPizza может быть одним из намерений. Это намерение может потребовать слот CrustType. Вы указываете поле valueElicitationPrompt при создании слота CrustType.
Если вы определили намерение по умолчанию, сообщение об отмене не будет отправлено пользователю, вместо этого используется намерение по умолчанию. Более подробную информацию см. в разделе AMAZON.FallbackIntent.
messages -> (список)
Коллекция объектов сообщений.
(структура)
Объект сообщения, содержащий текст сообщения и его тип.
contentType -> (строка)
content -> (строка)
groupNumber -> (целое число)
responseCard -> (строка)
Сокращенная синтаксическая запись:
messages=[{contentType=string,content=string,groupNumber=integer},{contentType=string,content=string,groupNumber=integer}],responseCard=string
Синтаксис JSON:
{
"messages": [
{
"contentType": "PlainText"|"SSML"|"CustomPayload",
"content": "string",
"groupNumber": integer
}
...
],
"responseCard": "string"
}
--idle-session-ttl-in-seconds (целое число)
Максимальное время в секундах, в течение которого Amazon Lex сохраняет данные, собранные в ходе разговора.
Сеанс взаимодействия пользователя активен в течение указанного времени. Если в течение этого времени не происходит никакого взаимодействия, сеанс истекает, и Amazon Lex удаляет все предоставленные данные до истечения времени ожидания.
Например, предположим, что пользователь выбрал намерение OrderPizza, но отвлёкся на полпути к оформлению заказа. Если пользователь не завершит заказ в течение указанного времени, Amazon Lex удалит собранную информацию о слоте, и пользователю придётся начать заново.
Если вы не включаете элемент idleSessionTTLInSeconds в запросе операции PutBot, Amazon Lex использует значение по умолчанию. Это также верно, если запрос заменяет существующий бот.
Значение по умолчанию — 300 секунд (5 минут).
--voice-id (строка)
--checksum (строка)
Идентифицирует конкретный пересмотр версии $LATEST.
При создании нового бота оставьте поле checksum пустым. Если вы укажете контрольную сумму, получите исключение BadRequestException.
При обновлении бота установите значение поля checksum в контрольную сумму последней редакции версии $LATEST. Если вы не укажете поле checksum, или если контрольная сумма не соответствует версии $LATEST, получите исключение PreconditionFailedException.
--process-behavior (строка)
Если вы установите элемент processBehavior в значение BUILD, Amazon Lex создаст бота для запуска. Если вы установите значение в SAVE, Amazon Lex сохранит бота, но не запустит его.
Если вы не укажете это значение, значение по умолчанию — BUILD.
Возможные значения:
SAVEBUILD
--locale (строка)
Указывает целевой язык бота. Любое намерение, используемое в боте, должно быть совместимо с языком бота.
Значение по умолчанию — en-US.
Возможные значения:
de-DEen-AUen-GBen-INen-USes-419es-ESes-USfr-FRfr-CAit-ITja-JPko-KR
--child-directed | --no-child-directed (логическое значение)
Для каждого бота Amazon Lex, созданного с помощью Amazon Lex Model Building Service, необходимо указать, связано ли ваше использование Amazon Lex с веб-сайтом, программой или другим приложением, направленным или ориентированным, полностью или частично, на детей младше 13 лет и подпадающим под действие Закона о защите конфиденциальности детей в Интернете (COPPA), указав true или false в поле childDirected. Указав true в поле childDirected, вы подтверждаете, что ваше использование Amazon Lex связано с веб-сайтом, программой или другим приложением, направленным или ориентированным, полностью или частично, на детей младше 13 лет и подпадающим под действие COPPA. Указав false в поле childDirected, вы подтверждаете, что ваше использование Amazon Lex не связано с веб-сайтом, программой или другим приложением, направленным или ориентированным, полностью или частично, на детей младше 13 лет и подпадающим под действие COPPA. Вы не можете указать значение по умолчанию для поля childDirected, которое не отражает точно, связано ли ваше использование Amazon Lex с веб-сайтом, программой или другим приложением, направленным или ориентированным, полностью или частично, на детей младше 13 лет и подпадающим под действие COPPA.
Если ваше использование Amazon Lex связано с веб-сайтом, программой или другим приложением, направленным полностью или частично на детей младше 13 лет, вы должны получить любое необходимое подтвержденное родительское согласие в соответствии с COPPA. Для получения информации об использовании Amazon Lex в связи с веб-сайтами, программами или другими приложениями, направленными или ориентированными, полностью или частично, на детей младше 13 лет, см. раздел Amazon Lex FAQ.
--detect-sentiment | --no-detect-sentiment (boolean)
true пользовательские высказывания отправляются в Amazon Comprehend для анализа настроения. Если вы не укажете detectSentiment , значение по умолчанию — false .--create-version | --no-create-version (boolean)
true создается новая пронумерованная версия бота. Это эквивалентно вызову операции CreateBotVersion. Если вы не укажете createVersion, значение по умолчанию — false .--tags (список)
Список тегов для добавления к боту. Теги можно добавить только при создании бота; вы не можете использовать операцию PutBot для обновления тегов бота. Для обновления тегов используйте операцию TagResource.
(структура)
Список пар ключ/значение, идентифицирующих бот, алиас бота или канал бота. Ключи и значения тегов могут состоять из букв, цифр, пробелов Unicode и любых из следующих символов: _ . : / = + - @.
ключ -> (строка)
значение -> (строка)
Сокращенная синтаксическая запись:
key=string,value=string ...
Синтаксис JSON:
[
{
"key": "string",
"value": "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 (boolean)
Включить отладку логирования.
--endpoint-url (строка)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого соединения SSL AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение проверки сертификатов SSL по умолчанию.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла учетных данных.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/выключить вывод в цвете.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Учетные данные не будут загружены, если этот параметр указан.
--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 (boolean)
Отключить вывод пейджера CLI.
--cli-auto-prompt (boolean)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запрошение параметров ввода CLI.
Вывод
name -> (строка)
description -> (строка)
intents -> (список)
Массив объектов Intent. Для получения дополнительной информации см. PutBot .
(структура)
Идентифицирует конкретную версию интента.
intentName -> (строка)
intentVersion -> (строка)
enableModelImprovements -> (логическое)
true указывает, что бот использует улучшения, в противном случае, false .nluIntentConfidenceThreshold -> (двойное)
AMAZON.FallbackIntent , AMAZON.KendraSearchIntent или оба при возвращении альтернативных интентов в ответе PostContent или PostText. AMAZON.FallbackIntent вставляется, если оценка уверенности для всех интентов ниже этого значения. AMAZON.KendraSearchIntent вставляется только в том случае, если это настроено для бота.clarificationPrompt -> (структура)
Подсказки, которые Amazon Lex использует, когда не понимает намерения пользователя. Для получения дополнительной информации см. PutBot .
messages -> (список)
Массив объектов, каждый из которых предоставляет строку сообщения и ее тип. Вы можете указать строку сообщения в простом тексте или в формате разметки для синтеза речи (SSML).
(структура)
Объект сообщения, предоставляющий текст сообщения и его тип.
contentType -> (строка)
content -> (строка)
groupNumber -> (целое число)
maxAttempts -> (целое число)
responseCard -> (строка)
PostText. Он подставляет значения атрибутов сеанса и слотов в качестве заполнитель в карте ответа. Для получения дополнительной информации см. ex-resp-card .abortStatement -> (структура)
Сообщение, которое Amazon Lex использует для отмены разговора. Для получения дополнительной информации см. PutBot .
messages -> (список)
Коллекция объектов сообщений.
(структура)
Объект сообщения, предоставляющий текст сообщения и его тип.
contentType -> (строка)
content -> (строка)
groupNumber -> (целое число)
responseCard -> (строка)
status -> (строка)
При отправке запроса на создание бота с processBehavior установленным в значение BUILD, Amazon Lex устанавливает элемент ответа status в значение BUILDING .
В состоянии READY_BASIC_TESTING вы можете протестировать бота с входными данными пользователя, которые точно соответствуют фразам, настроенным для интентов бота, и значениям в типах слотов.
Если Amazon Lex не может создать бота, Amazon Lex устанавливает status в значение FAILED. Amazon Lex возвращает причину сбоя в элементе ответа failureReason.
При установке processBehavior в значение SAVE Amazon Lex устанавливает код состояния в NOT BUILT.
Когда бот находится в состоянии READY, вы можете протестировать и опубликовать бота.
failureReason -> (строка)
status имеет значение FAILED, Amazon Lex предоставляет причину, по которой не удалось создать бота.lastUpdatedDate -> (метка времени)
createdDate -> (метка времени)
idleSessionTTLInSeconds -> (целое число)
voiceId -> (строка)
checksum -> (строка)
version -> (строка)
$LATEST.locale -> (строка)
childDirected -> (логическое)
Для каждого бота Amazon Lex, созданного с помощью Amazon Lex Model Building Service, вы должны указать, связано ли ваше использование Amazon Lex с веб-сайтом, программой или другим приложением, которое целиком или частично направлено на детей младше 13 лет и подпадает под действие Закона о защите конфиденциальности детей в Интернете (COPPA), указав true или false в поле childDirected. Указав true в поле childDirected, вы подтверждаете, что ваше использование Amazon Lex связано с веб-сайтом, программой или другим приложением, которое целиком или частично направлено на детей младше 13 лет и подпадает под действие COPPA. Указав false в поле childDirected, вы подтверждаете, что ваше использование Amazon Lex не связано с веб-сайтом, программой или другим приложением, которое целиком или частично направлено на детей младше 13 лет и подпадает под действие COPPA. Вы не можете указать значение по умолчанию для поля childDirected, которое не точно отражает, связано ли ваше использование Amazon Lex с веб-сайтом, программой или другим приложением, которое целиком или частично направлено на детей младше 13 лет и подпадает под действие COPPA.
Если ваше использование Amazon Lex связано с веб-сайтом, программой или другим приложением, которое целиком или частично направлено на детей младше 13 лет, вы должны получить требуемое проверенное родительское согласие в соответствии с COPPA. Для получения информации об использовании Amazon Lex в связи с веб-сайтами, программами или другими приложениями, которые целиком или частично направлены на детей младше 13 лет, см. FAQ по Amazon Lex.
createVersion -> (логическое)
True если была создана новая версия бота. Если поле createVersion не было указано в запросе, поле createVersion в ответе установлено в значение false.detectSentiment -> (логическое)
true если бот настроен на отправку фраз пользователей в Amazon Comprehend для анализа настроения. Если поле detectSentiment не было указано в запросе, поле detectSentiment имеет значение false в ответе.tags -> (список)
Список тегов, связанных с ботом.
(структура)
Список пар ключ/значение, которые идентифицируют бота, алиас бота или канал бота. Ключи и значения тегов могут состоять из букв, цифр, пробелов Unicode и следующих символов: _ . : / = + - @.
key -> (строка)
value -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.