Sitzungsentitäten

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.