Der Begriff Sitzung steht für eine Unterhaltung zwischen einem Dialogflow-Agent und einem Endnutzer. Während einer Sitzung können Sie spezielle Entitäten namens Sitzungsentitäten erstellen. Sitzungsentitäten können benutzerdefinierte Entitätstypen erweitern oder ersetzen und sind nur während der Sitzung vorhanden, für die sie erstellt wurden. Alle Sitzungsdaten, einschließlich Sitzungsentitäten, werden von Dialogflow 20 Minuten lang gespeichert.
Wenn der Agent beispielsweise eine Entität vom Typ @fruit
mit den Einträgen "Birne" und "Traube" hat, könnte diese Entität abhängig von den Informationen, die der Agent von einem Endnutzer erfasst, mit "Apfel" oder "Orange" aktualisiert werden.
Der aktualisierte Entitätstyp würde für den Rest der Sitzung den Entitätseintrag "Apfel" oder "Orange" enthalten.
Sitzungsentitäten mit Auftragsausführung erstellen
Sie können Sitzungsentitäten mit der Auftragsausführung erstellen.
Der Typ WebhookResponse
enthält ein Feld namens sessionEntityTypes
, das zum Festlegen von Sitzungsentitäten verwendet wird.
Die folgenden Beispiele zeigen, wie Entitätseinträge eines Entitätstyps fruit
auf apple
und orange
für die aktuelle Sitzung festgelegt werden.
Beispiel für WebhookResponse:
{ "fulfillmentMessages": [ { "text": { "text": [ "Choose apple or orange" ] } } ], "sessionEntityTypes":[ { "name":"projects/project-id/agent/sessions/session-id/entityTypes/fruit", "entities":[ { "value":"APPLE_KEY", "synonyms":[ "apple", "green apple", "crabapple" ] }, { "value":"ORANGE_KEY", "synonyms":[ "orange" ] } ], "entityOverrideMode":"ENTITY_OVERRIDE_MODE_OVERRIDE" } ] }
Beispiel für die Actions on Google-Clientbibliothek:
Wenn Sie die Actions on Google-Clientbibliothek verwenden, können Sie das Plugin für Sitzungsentitäten verwenden.
Ihr Code sieht in etwa so aus:
const { sessionEntitiesHelper } = require('actions-on-google-dialogflow-session-entities-plugin') const app = dialogflow() .use(sessionEntitiesHelper()) app.intent('input.welcome', (conv) => { conv.ask('make your choice: apple or orange?'); // Set the fruit session entity values to 'apple' and 'orange'. conv.sessionEntities.add({ name: 'fruit', entities: [{ value: 'APPLE_KEY', synonyms: [ 'apple', 'green apple', 'crabapple' ] }, { value: 'ORANGE_KEY', synonyms: ['orange'] }] }); conv.sessionEntities.send(); });
Sitzungsentitäten mit der API erstellen
Sie erstellen, verwalten und aktualisieren Sitzungsentitäten mit dem Typ SessionEntityTypes
.