Wenn ein Intent zur Laufzeit zugeordnet wird, erfasst der Dialogflow-Agent so lange Informationen vom Endnutzer, bis dieser Daten für jeden erforderlichen Parameter bereitgestellt hat. Dieser Vorgang wird als Slot-Füllung bezeichnet.
Standardmäßig sendet Dialogflow erst dann eine Anfrage des Auftragsausführungs-Webhooks, wenn alle erforderlichen Daten vom Endnutzer erfasst wurden.
Wenn Webhook for slot filling aktiviert ist, sendet Dialogflow eine Anfrage des Auftragsausführungs-Webhooks für jede Unterhaltungsrunde während der Slot-Füllung.
In den meisten Fällen sind die Parameteraufforderungen ausreichend, um alle erforderlichen Parameter zu erfassen. Mit einem Webhook für die Slot-Füllung können Sie jedoch eine spezifischere Agent-Logik während der Erfassung der Parameter definieren. Beispielsweise kann Ihr Webhook die Anpassung von Anschlussfragen oder das Festlegen von Parameter-Slots übernehmen, die nicht aus der Endnutzerantwort abgerufen werden können, z. B. aus einer Datenbank.
Webhook für die Slot-Füllung aktivieren
So aktivieren Sie den Webhook für die Slot-Füllung während der Entwicklung:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Wählen Sie einen Agent aus.
- Wählen Sie im Menü der linken Seitenleiste Intents aus.
- Wählen Sie einen Intent aus.
- Scrollen Sie nach unten zum Abschnitt Fulfillment.
- Aktivieren Sie Enable webhook call for slot filling.
- Klicken Sie auf Speichern.
Webhook für Slot-Füllungsaufrufe zur Laufzeit verarbeiten
Die von Ihrem Webhook-Dienst empfangene Webhook-Anfragenachricht enthält das Feld queryResult.parameters
.
Dieses Feld umfasst den aktuellen Satz an Parametern, die vom Endnutzer angegeben wurden.
Werte, die noch nicht erfasst wurden, werden auf leere Strings gesetzt.
Ein Beispiel für die Webhook-Antwortnachricht zum Festlegen von Parametern finden Sie unter Webhook-Antwort: Beispiele.