2017-11-06 4 views
0

Hallo Meine Absicht Schema ist wie folgt:Gespräch geschieht nicht in Amazon Echo

{ 
    "intents": [ 
    { 
     "slots": [ 
     { 
      "name": "Literalslot", 
      "type": "AMAZON.LITERAL" 
     } 
     ], 
     "intent": "ConverseGenieIntent" 
    }, 
    { 
     "intent": "AMAZON.HelpIntent" 
    }, 
    { 
     "intent": "AMAZON.StopIntent" 
    }, 
    { 
     "intent": "AMAZON.CancelIntent" 
    } 
    ] 
} 

Und meine Äußerungen sind:

ConverseGenieIntent {hello|Literalslot} 
ConverseGenieIntent {validate payroll|Literalslot} 
ConverseGenieIntent {no no|Literalslot} 
ConverseGenieIntent {no|Literalslot} 
ConverseGenieIntent {no its not correct|Literalslot} 
ConverseGenieIntent {no my payroll id is |Literalslot} 
ConverseGenieIntent {its not correct|Literalslot} 
ConverseGenieIntent {its wrong|Literalslot} 
ConverseGenieIntent {no|Literalslot} 
ConverseGenieIntent {that's not correct|Literalslot} 
ConverseGenieIntent {that is not correct|Literalslot} 
ConverseGenieIntent {hi yeah|Literalslot} 
ConverseGenieIntent {what is your name|Literalslot} 
ConverseGenieIntent {may i know your name please|Literalslot} 
ConverseGenieIntent {hey what is your name|Literalslot} 

Meine Fähigkeit ist eigentlich ein Bot, der mehrere Gespräche gibt .

Expected converstion:

User: Alexa fragen Genie Hallo zu sagen.

Alexa: Willkommen zu genie.

Benutzer: Sitzung starten ..

Alexa: Bitte sagen Sie mir die Speicher-Nummer?

Benutzer: eins zwei drei vier

Alexa: Sie sind von BRAYBOOK 1234 nennen?

Benutzer: Ja

Alexa: Bitte sagen Sie mir Lohn-ID?

Benutzer: 5678 (.... und weiter für mindestens drei weitere Gespräche)

Aber beim Testen in Echo:

User: Alexa fragt Genie Hallo zu sagen.

Alexa: Willkommen zu genie. Bitte sagen Sie mir die Filialnummer?

Benutzer: eins zwei drei vier

Alexa: Leider ich nicht finden konnte, dass

..... IMMER DAS GESPRÄCH HIER STOPPT ....... Ich weiß wirklich nicht, Warum ... Ich möchte keine Dialog-Direktiven verwenden, da die Antwort von der Lambda-Funktion von einem DialogFlow-Bot kommt.
Ich testete die Fähigkeit im Service-Simulator die Fähigkeit funktioniert gut !!! Dieses Problem passiert nur, warum ich meine Fähigkeiten in Echo teste.

Antwort

0

AMAZON.LITERAL nimmt eine zu einer Zeit. Sie können nur ein, zwei oder drei ... auf einmal sagen. Wenn Sie möchten, dass eine Gruppe von Literalen weiterverarbeitet wird, müssen Sie State Management verwenden, um die Eingabe nacheinander zu erhalten.

Vorgeschlagene Gespräch
Alexa: Bitte sagen Sie mir die Speicher-Nummer?

Benutzer: ein

Alexa: Nächste Nummer?

Benutzer: zwei

Alexa: Nächste Nummer?

Benutzer: drei

+0

Danke das war wirklich hilfreich. Können Sie mir auch sagen, wo der Beispielcode für State Management in Python verfügbar ist? –

+0

Offizieller Link für SM ist in node.js: https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs#making-skill-state-management-simpler –

+0

Sie können eine Idee davon nehmen , https://github.com/nmyster/python-alexa –

0

Hey es nicht wirklich so. Deine Antwort ist falsch. Ich muss keine Eingabe als "Eins" geben, dann "Zwei" und danach "Drei" ... Nein, nicht so. Eingänge wie "1234" können gegeben werden, da es im Echo-Gerät gut funktioniert. Teste niemals deine Fähigkeiten in Echosim.io. Testen Sie immer in einem Amazon Gerät.

+0

Welchen Slot-Typ haben Sie dann benutzt? –

+0

AMAZON.LITERAL ist der Slot-Typ, den ich benutzt habe. –

Verwandte Themen