Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Agentin tila noudattaa samoja paradigmoja kuin modernit verkkosovellukset. Agents SDK tarjoaa abstraktioita, jotka tekevät tilojen hallinnasta aiempaa helpompaa.
Samoin kuin verkkosovellukset, agentti on lähtökohtaisesti tilaton. Agentin eri esiintymä voi käsitellä keskustelua milloin tahansa. Joillekin agenteille tämä yksinkertaisuus on toivottavaa, sillä agentti voi toimia ilman lisätietoja tai tarvittavat tiedot löytyvät varmasti saapuvasta viestistä. Joillekin agenteille tila (esimerkiksi keskustelun loppuminen tai käyttäjältä aiemmin saadun tiedon tallentaminen) on välttämätöntä, jotta agentti voi käydä mielekästä keskustelua.
Mihin tilaa tarvitaan?
Tilojen hallinta mahdollistaa agentille aiempaa merkityksellisemmät keskustelut, koska se muistaa tiettyjä asioita käyttäjästä tai keskustelusta. Jos esimerkiksi käyttäjän kanssa on keskusteltu aiemmin, käyttäjästä aiemmin saadut tiedot voidaan tallentaa, jotta niitä ei tarvitse kysyä uudelleen. Tila myös säilyttää tietoja pidempään kuin nykyisen vuoron ajan, jotta agentti säilyttää tiedot monivaiheisen keskustelun aikana.
Agenttien tilan käyttöön liittyy muutamia kerroksia. Ne ovat tallennuskerros, tilojen hallinta ja AgentApplication.
Tallennuskerros
Tallennuskerros on taustajärjestelmä, jossa tilatieto todellisuudessa tallennetaan. Tätä voidaan pitää fyysisenä tallennustilana, kuten sisäinen muisti, Azure tai kolmannen osapuolen palvelin.
Agenttien SDK sisältää seuraavia toteutuksia tallennuskerrokselle:
Muistipohjainen tallennus käyttää muistissa tapahtuvaa tallennusta testausta varten. Sisäisessä muistissa tapahtuva tallennus on tarkoitettu vain paikalliseen testaukseen, koska tallennus on väliaikaista. Tiedot tyhjennetään aina, kun agentti käynnistyy uudelleen.
Azure Blob Storage muodostaa yhteyden Azure Blob Storage -objektitietokantaan.
Azure Cosmos DB:n osioitu tallennus muodostaa yhteyden osioituun Cosmos DB NoSQL -tietokantaan.
Lisätietoja yhteyden muodostamisesta muihin tallennusvaihtoehtoihin on kohdassa Agenttien SDK:n tallennustilan yleiskatsaus
Tilanhallinta
Tilojen hallinta automatisoi agentin tilan lukemisen ja kirjoittamisen tallennuskerrokseen. Tila tallennetaan tilaominaisuuksina, jotka ovat käytännössä avain-arvopareja, joita agentti voi lukea ja kirjoittaa tilanhallintaobjektin avulla niin, ettei sen tarvitse välittää taustalla olevasta toteutuksesta. Nämä tilaominaisuudet määrittävät, miten kyseiset tiedot tallennetaan. Kun esimerkiksi haet ominaisuuden, joka on määritetty tietyksi luokaksi tai objektiksi, saat lisätietoja tietojen rakenteesta.
Nämä tilan ominaisuudet niputetaan rajatuiksi säilöiksi. Säilöt ovat kokoelmia, jotka auttavat näiden ominaisuuksien järjestämisessä. SDK sisältää kolme tällaista säilöä:
- Käyttäjän tila
- Keskustelun tila
Kaikki nämä säilöt ovat agentin tilaluokan aliluokkia, jota voi laajentaa määrittämään muita säilötyyppejä eri laajuuksissa.
Nämä ennalta määritellyt säilöt on rajattu tiettyyn näkyvyyteen säilön mukaan seuraavasti:
- Käyttäjän tila on käytettävissä keskustelusta riippumatta missä tahansa vuorossa, kun agentti keskustelee kyseisen käyttäjän kanssa kyseisellä kanavalla
- Keskustelutila on käytettävissä missä tahansa vuorossa käyttäjästä riippumatta tietyssä keskustelussa, kuten ryhmäkeskusteluissa.
Käyttäjän tila ja keskustelun tila ovat kanavakohtaisia. Sama henkilö, joka käyttää eri kanavia käyttääkseen agenttia, näkyy eri käyttäjinä. Jokaisella kanavalla on yksi käyttäjä, jolla on oma tilansa.
Kullekin ennalta määritellylle säilölle käytetyt avaimet ovat käyttäjä- ja keskustelukohtaisia tai agenttikohtaisia. Kun asetat tilaominaisuuden arvon, avain määritellään sisäisesti vuoron kontekstin tietojen perusteella, jotta jokainen käyttäjä ja keskustelu sijoitetaan oikeaan säilöön ja ominaisuuteen. Avaimet määritellään seuraavasti:
- Käyttäjätila luo avaimen käyttäen kanavan tunnusta ja kohteen tunnusta. Esimerkki:
{Activity.ChannelId}/users/{Activity.From.Id}#YourPropertyName - Keskustelutila luo avaimen käyttäen kanavan tunnusta ja keskustelun tunnusta. Esimerkki:
{Activity.ChannelId}/conversations/{Activity.Conversation.Id}#YourPropertyName
Kunkin tilatyypin käyttökohteet
Keskustelutila sopii hyvin keskustelun kontekstin seuraamiseen seuraavasti:
- kysyikö agentti käyttäjältä kysymyksen, ja mikä kysymys se oli
- mikä on nykyinen keskustelunaihe tai mikä oli viimeinen keskustelunaihe
- keskusteluhistorian tallentaminen.
Käyttäjätila soveltuu käyttäjän tietojen seuraamiseen esimerkiksi seuraavasti:
- Ei-kriittiset käyttäjätiedot, kuten nimi ja asetukset, hälytyksen asetus tai hälytysasetukset
- Tietoja käyttäjän viimeisestä keskustelusta agentin kanssa
- Esimerkiksi tuotetukiagentti saattaa seurata, mistä tuotteista käyttäjä on pyytänyt tietoja.
AgentApplication
- Lisätyille reittienkäsittelijöille tarjotaan
TurnState-instanssi. Keskustelun ja käyttäjän tilan käyttö tässä esiintymässä. - Tila ladataan ja tallennetaan automaattisesti.