Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
JSONFormat für den Import und Export von Bots in Lex V2
Sie importieren und exportieren Bots, Bot-Locales oder benutzerdefinierte Vokabulare aus Amazon Lex V2 mithilfe einer ZIP-Datei, die JSON Strukturen enthält, die die Teile der Ressource beschreiben. Wenn Sie eine Ressource exportieren, erstellt Amazon Lex V2 die .zip-Datei und stellt sie Ihnen mithilfe einer URL vorsignierten Amazon S3 S3-Datei zur Verfügung. Wenn Sie eine Ressource importieren, müssen Sie eine .zip-Datei erstellen, die die JSON Strukturen enthält, und sie auf eine vorsignierte S3-Datei hochladen. URL
Amazon Lex erstellt die folgende Verzeichnisstruktur in der .zip-Datei, wenn Sie einen Bot exportieren. Wenn Sie ein Bot-Gebietsschema exportieren, wird nur die Struktur unter dem Gebietsschema exportiert. Wenn Sie ein benutzerdefiniertes Vokabular exportieren, wird nur die Struktur unter dem benutzerdefinierten Vokabular exportiert.
BotName
_BotVersion
_ExportID
_LexJson.zip -or-BotName
_BotVersion
_LocaleId
_ExportId
_LEX_JSON.zip --> manifest.json -->BotName
----> Bot.json ----> BotLocales ------>Locale_A
--------> BotLocale.json --------> Intents ---------->Intent_A
------------> Intent.json ------------> Slots -------------->Slot_A
----------------> Slot.json -------------->Slot_B
----------------> Slot.json ---------->Intent_B
... --------> SlotTypes ---------->SlotType_A
------------> SlotType.json ---------->SlotType_B
... --------> CustomVocabulary ------------> CustomVocabulary.json ------>Locale_B
...
Struktur der Manifestdatei
Die Manifestdatei enthält Metadaten für die Exportdatei.
{ "metadata": { "schemaVersion": "1.0", "fileFormat": "LexJson", "resourceType": "
Bot
|BotLocale
|CustomVocabulary
" } }
Struktur der Bot-Datei
Die Bot-Datei enthält die Konfigurationsinformationen für den Bot.
{ "name": "
BotName
", "identifier": "identifier
", "version": "number
", "description": "description
", "dataPrivacy": { "childDirected":true
|false
}, "idleSessionTTLInSeconds":seconds
}
Struktur der Bot-Locale-Datei
Die Bot-Locale-Datei enthält eine Beschreibung des Gebietsschemas oder der Sprache eines Bots. Wenn Sie einen Bot exportieren, kann die .zip-Datei mehr als eine Bot-Locale-Datei enthalten. Wenn Sie ein Bot-Gebietsschema exportieren, enthält die ZIP-Datei nur ein Gebietsschema.
{ "name": "
locale name
", "identifier": "locale ID
", "version": "number
", "description": "description
", "voiceSettings": { "voiceId": "voice
", "engine": "standard | neural
}, "nluConfidenceThreshold":number
}
Struktur der beabsichtigten Datei
Die Absichtsdatei enthält die Konfigurationsinformationen für einen Intent. In der ZIP-Datei gibt es eine Absichtsdatei für jede Absicht in einem bestimmten Gebietsschema.
Im Folgenden finden Sie ein Beispiel für eine JSON Struktur für die BookCar Absicht im BookTrip Beispiel-Bot. Ein vollständiges Beispiel für die JSON Struktur einer Absicht finden Sie unter CreateIntentOperation.
{ "name": "BookCar", "identifier": "891RWHHICO", "description": "Intent to book a car.", "parentIntentSignature": null, "sampleUtterances": [ { "utterance": "Book a car" }, { "utterance": "Reserve a car" }, { "utterance": "Make a car reservation" } ], "intentConfirmationSetting": { "confirmationPrompt": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "OK, I have you down for a {CarType} hire in {PickUpCity} from {PickUpDate} to {ReturnDate}. Should I book the reservation?" }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ], "maxRetries": 2 }, "declinationResponse": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "OK, I have cancelled your reservation in progress." }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ] } }, "intentClosingSetting": null, "inputContexts": null, "outputContexts": null, "kendraConfiguration": null, "dialogCodeHook": null, "fulfillmentCodeHook": null, "slotPriorities": [ { "slotName": "DriverAge", "priority": 4 }, { "slotName": "PickUpDate", "priority": 2 }, { "slotName": "ReturnDate", "priority": 3 }, { "slotName": "PickUpCity", "priority": 1 }, { "slotName": "CarType", "priority": 5 } ] }
Struktur der Slot-Datei
Die Slot-Datei enthält die Konfigurationsinformationen für einen Slot in einem Intent. In der ZIP-Datei gibt es für jeden Slot, der für eine Absicht in einem bestimmten Gebietsschema definiert ist, eine Slot-Datei.
Das folgende Beispiel zeigt die JSON Struktur eines Slots, der es dem Kunden ermöglicht, den Fahrzeugtyp, den er mieten möchte, in der BookCar Absicht im BookTrip Beispiel-Bot auszuwählen. Ein vollständiges Beispiel für die JSON Struktur eines Slots finden Sie unter CreateSlotOperation.
{ "name": "CarType", "identifier": "KDHJWNGZGC", "description": "Type of car being reserved.", "multipleValuesSetting": { "allowMutlipleValues": false }, "slotTypeName": "CarTypeValues", "obfuscationSetting": null, "slotConstraint": "Required", "defaultValueSpec": null, "slotValueElicitationSetting": { "promptSpecification": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "What type of car would you like to rent? Our most popular options are economy, midsize, and luxury" }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ], "maxRetries": 2 }, "sampleValueElicitingUtterances": null, "waitAndContinueSpecification": null, } }
Das folgende Beispiel zeigt die JSON Struktur eines Verbundsteckplatzes.
{ "name": "CarType", "identifier": "KDHJWNGZGC", "description": "Type of car being reserved.", "multipleValuesSetting": { "allowMutlipleValues": false }, "slotTypeName": "CarTypeValues", "obfuscationSetting": null, "slotConstraint": "Required", "defaultValueSpec": null, "slotValueElicitationSetting": { "promptSpecification": { "messageGroupList": [ { "message": { "plainTextMessage": { "value": "What type of car would you like to rent? Our most popular options are economy, midsize, and luxury" }, "ssmlMessage": null, "customPayload": null, "imageResponseCard": null }, "variations": null } ], "maxRetries": 2 }, "sampleValueElicitingUtterances": null, "waitAndContinueSpecification": null, }, "subSlotSetting": { "slotSpecifications": { "firstname": { "valueElicitationSetting": { "promptSpecification": { "allowInterrupt": false, "messageGroupsList": [ { "message": { "imageResponseCard": null, "ssmlMessage": null, "customPayload": null, "plainTextMessage": { "value": "please provide firstname" } }, "variations": null } ], "maxRetries": 2, "messageSelectionStrategy": "Random" }, "defaultValueSpecification": null, "sampleUtterances": [ { "utterance": "my name is {firstName}" } ], "waitAndContinueSpecification": null }, "slotTypeId": "AMAZON.FirstName" }, "eyeColor": { "valueElicitationSetting": { "promptSpecification": { "allowInterrupt": false, "messageGroupsList": [ { "message": { "imageResponseCard": null, "ssmlMessage": null, "customPayload": null, "plainTextMessage": { "value": "please provide eye color" } }, "variations": null } ], "maxRetries": 2, "messageSelectionStrategy": "Random" }, "defaultValueSpecification": null, "sampleUtterances": [ { "utterance": "eye color is {eyeColor}" }, { "utterance": "I have eyeColor eyes" } ], "waitAndContinueSpecification": null }, "slotTypeId": "7FEVCB2PQE" } }, "expression": "(firstname OR eyeColor)" } }
Dateistruktur vom Typ Slot
Die Slot-Typ-Datei enthält die Konfigurationsinformationen für einen benutzerdefinierten Slot-Typ, der in einer Sprache oder einem Gebietsschema verwendet wird. In der ZIP-Datei gibt es eine Slot-Typ-Datei für jeden benutzerdefinierten Slot-Typ in einem bestimmten Gebietsschema.
Im Folgenden finden Sie die JSON Struktur für den Slot-Typ, der die im BookTrip Beispiel-Bot verfügbaren Fahrzeugtypen auflistet. Ein vollständiges Beispiel für die JSON Struktur eines Slot-Typs finden Sie unter CreateSlotTypeOperation.
{ "name": "CarTypeValues", "identifier": "T1YUHGD9ZR", "description": "Enumeration representing possible types of cars available for hire", "slotTypeValues": [{ "synonyms": null, "sampleValue": { "value": "economy" } }, { "synonyms": null, "sampleValue": { "value": "standard" } }, { "synonyms": null, "sampleValue": { "value": "midsize" } }, { "synonyms": null, "sampleValue": { "value": "full size" } }, { "synonyms": null, "sampleValue": { "value": "luxury" } }, { "synonyms": null, "sampleValue": { "value": "minivan" } }], "parentSlotTypeSignature": null, "valueSelectionSetting": { "resolutionStrategy": "TOP_RESOLUTION", "advancedRecognitionSetting": { "audioRecognitionStrategy": "UseSlotValuesAsCustomVocabulary" }, "regexFilter": null } }
Das folgende Beispiel zeigt die JSON Struktur für einen Verbundsteckplatztyp.
{ "name": "CarCompositeType", "identifier": "TPA3CC9V", "description": null, "slotTypeValues": null, "parentSlotTypeSignature": null, "valueSelectionSetting": { "regexFilter": null, "resolutionStrategy": "CONCATENATION" }, "compositeSlotTypeSetting": { "subSlots": [ { "name": "model", "slotTypeId": "MODELTYPEID" # custom slot type Id for model }, { "name": "city", "slotTypeId": "AMAZON.City" }, { "name": "country", "slotTypeId": "AMAZON.Country" }, { "name": "make", "slotTypeId": "MAKETYPEID" # custom slot type Id for make } ] } }
Der folgende Slot-Typ verwendet eine benutzerdefinierte Grammatik, um die Äußerungen des Kunden zu verstehen. Weitere Informationen finden Sie unter Grammatik-Slot-Typ.
{ "name": "custom_grammar", "identifier": "7KEAQIQKPX", "description": "Slot type using a custom grammar", "slotTypeValues": null, "parentSlotTypeSignature": null, "valueSelectionSetting": null, "externalSourceSetting": { "grammarSlotTypeSetting": { "source": { "kmsKeyArn": "arn:aws:kms:
Region
:123456789012
:alias/customer-grxml-key", "s3BucketName": "grxml-test", "s3ObjectKey": "grxml_files/grammar.grxml" } } } }
Struktur der benutzerdefinierten Vokabeldatei
Die benutzerdefinierte Vokabeldatei enthält die Einträge in einem benutzerdefinierten Vokabular für eine einzelne Sprache oder ein bestimmtes Gebietsschema. Die ZIP-Datei enthält eine benutzerdefinierte Vokabeldatei für jedes Gebietsschema, das über ein benutzerdefiniertes Vokabular verfügt.
Im Folgenden finden Sie eine benutzerdefinierte Vokabeldatei für einen Bot, der Restaurantbestellungen entgegennimmt. Es gibt eine Datei pro Gebietsschema im Bot.
{
"customVocabularyItems": [
{
"weight": 3,
"phrase": "wafers"
},
{
"weight": null,
"phrase": "extra large"
},
{
"weight": null,
"phrase": "cremini mushroom soup"
},
{
"weight": null,
"phrase": "ramen"
},
{
"weight": null,
"phrase": "orzo"
}
]
}