Delen via


Status beheren in adaptieve dialoogvensters - referentiehandleiding

VAN TOEPASSING OP: SDK v4

Dit artikel bevat technische details waarmee u met geheugenbereiken in adaptieve dialoogvensters kunt werken. Zie het conceptartikel Gespreksstroom en geheugen composer voor een inleiding tot geheugenbereiken en het beheren van de status in adaptieve dialoogvensters.

Fooi

Alle eigenschapspaden zijn niet hoofdlettergevoelig. Is bijvoorbeeld user.name hetzelfde als user.Name. Als u geen eigenschap hebt met de naam user.name en u een eigenschap met de naam user.name.first maakt, wordt het user.name object automatisch voor u gemaakt.

Gebruikersbereik

Gebruikersbereik is een permanent gegevensbereik dat is afgestemd op de id van de gebruiker waarmee u verbinding maakt.

Voorbeelden:

  • user.name
  • user.address.city

Gespreksbereik

Het gespreksbereik is een permanent gegevensbereik dat is afgestemd op de id van het gesprek dat u hebt.

Voorbeelden:

  • conversation.hasAccepted
  • conversation.dateStarted
  • conversation.lastMaleReference
  • conversation.lastFemaleReference
  • conversation.lastLocationReference

Dialoogvensterbereik

Het dialoogvensterbereik bewaart gegevens voor de levensduur van het bijbehorende dialoogvenster, waardoor geheugenruimte wordt geboden voor elk dialoogvenster om interne permanente boekhouding te hebben. Het dialoogvenster wordt gewist wanneer het bijbehorende dialoogvenster wordt beëindigd.

Voorbeelden van dialoogvensters:

  • De afkorting is dialog.orderStarted $orderStarted.
  • De afkorting is dialog.shoppingCart $shoppingCart.

Alle opties die worden doorgegeven BeginDialog bij het maken van een nieuw adaptief dialoogvenster worden eigenschappen van dat dialoogvenster en kunnen worden geopend zolang het binnen het bereik valt. U opent deze eigenschappen op naam: dialoogvenster.<propertyName>. Als de beller bijvoorbeeld {a: '1', b: '2'} heeft doorgegeven, worden deze ingesteld als dialoogvenster.a en dialoogvenster.b.

Dialoogvenstersubscopen

Alle triggeracties in een adaptief dialoogvenster hebben hun eigen subscopen en worden geopend op naam. De actie wordt bijvoorbeeld Foreach geopend als dialog.Foreach. Standaard worden de index en waarde ingesteld in het dialog.foreach bereik, die als dialog.Foreach.index en dialog.Foreach.value.

Bereik draaien

Het draaibereik bevat niet-permanente gegevens die alleen zijn afgestemd op de huidige draai. Het draaibereik biedt een plaats om gegevens te delen voor de levensduur van de huidige draai.

Voorbeelden:

  • turn.bookingConfirmation
  • turn.activityProcessed

Subscopen draaien

turn.activity

Elke binnenkomende activiteit voor de bot is beschikbaar via turn.activity het bereik.

U hebt bijvoorbeeld iets als dit gedefinieerd in ons LG-bestand om te reageren op een gebruiker die een ongeldige waarde heeft ingevoerd wanneer hierom wordt gevraagd:

Sorry, I don't understand '${turn.activity.text}'. ${GetAge()}

turn.recognized

Alle intenties en entiteiten die worden geretourneerd door een recognizer op een bepaalde beurt, worden automatisch ingesteld in het turn.recognized bereik en blijven beschikbaar totdat de volgende beurt plaatsvindt. het turn.recognized bereik heeft drie eigenschappen:

  • turn.recognized.intents.xxx: Een lijst met de belangrijkste intenties die zijn geclassificeerd door de recognizer voor die beurt.
  • turn.recognized.entities.xxx: Een lijst met entiteiten die worden herkend.
  • turn.recognized.score: De betrouwbaarheidsscore van de meest scorende intentie voor die beurt.

turn.dialogEvent

turn.dialogEvent bevat de nettolading van een gebeurtenis die door het systeem of uw code wordt gegenereerd. U kunt toegang krijgen tot de informatie in de nettolading door toegang te krijgen tot het turn.dialogEvent.<eventName>.value bereik.

turn.lastResult

U hebt toegang tot de resultaten uit het laatste dialoogvenster dat is aangeroepen vanuit het turn.lastResult bereik.

turn.activityProcessed

turn.activityProcessed, een Booleaanse eigenschap; true geeft aan dat het turnContext.activity is gebruikt door een bepaald onderdeel in het systeem.

turn.interrupted

turn.interrupted, een Booleaanse eigenschap; true geeft aan dat er een onderbreking is opgetreden.

Instellingen bereik

Dit vertegenwoordigt alle instellingen die beschikbaar worden gesteld voor de bot via het configuratiesysteem voor platformspecifieke instellingen, bijvoorbeeld als u uw bot ontwikkelt met behulp van C#, worden deze instellingen weergegeven in het bestand appsettings.json .

voorbeeld van Instellingen bereik

Dit is een voorbeeld van een appettings.json-bestand met configuratie-instellingen voor uw bot:

{
    "MicrosoftAppId": "<yourMicrosoftAppId>",
    "MicrosoftAppPassword": "<yourMicrosoftAppPassword>",
    "QnAMaker": {
        "knowledgebaseId": "<yourQnAKnowledgebaseId>",
        "hostname": "https://<YourHostName>.azurewebsites.net/qnamaker",
        "endpointKey": "yourEndpointKey"
    }
}

Dit bereik

Het this bereik heeft betrekking op de eigenschappenverzameling van de actieve actie. Dit is handig voor invoeracties omdat hun levenstype doorgaans langer duurt dan één draai van het gesprek.

  • this.value bevat de huidige herkende waarde voor de invoer.
  • this.turnCount bevat het aantal keren dat de ontbrekende informatie om deze invoer wordt gevraagd.

Klassebereik

Dit bevat de exemplaareigenschappen van het actieve dialoogvenster. u verwijst naar dit bereik als volgt: ${class.<propertyName>}.

Aanvullende informatie