Tilan hallinta

Agentin osavaltio noudattaa samoja paradigmia kuin nykyaikaiset verkkosovellukset. Agents SDK tarjoaa joitakin abstrakteja valtion hallinnan helpottamiseksi.

Kuten verkkosovelluksissa, agentti on luonnostaan tilaton. Agentin eri esiintymä voi käsitellä keskustelua milloin tahansa. Joissain asiakaspalvelimissa tämä yksinkertaisuus on suositeltavampaa: agentti voi toimia joko ilman lisätietoja, tai vaadittavat tiedot sisältyvät saapuvaan viestiin. Toisille tilan (kuten se, missä keskustelu jäi tai käyttäjästä aiemmin vastaanotetut tiedot) on tarpeen, jotta agentti voi käydä hyödyllisen keskustelun.

Mihin tilaa tarvitaan?

Tilan ylläpito mahdollistaa agentillesi merkityksellisemmän keskustelun muistamalla tiettyjä asioita käyttäjästä tai keskustelusta. Jos olet esimerkiksi puhunut aiemmin käyttäjän kanssa, voit tallentaa edelliset tiedot heistä, jotta sinun ei tarvitse pyytää sitä uudelleen. Tila säilyttää myös tietoja pidempään kuin nykyisen vuoron ajan, jotta agenttisi voi säilyttää tietoja usean vuoron keskustelun aikana.

Agenttien kohdalla on muutamia kerroksia tilan käyttämiseen: tallennuskerros, valtion hallinta ja AgentApplication.

Tallennuskerros

Taustasta alkaen, johon tilan tiedot tosiasiassa tallennetaan, on tallennuskerros. Voit ajatella tätä fyysisenä tallennustilana, kuten muistissa, Azuressa tai kolmannen osapuolen palvelimessa.

Agents SDK sisältää joitakin tallennustason toteutuksia:

Muistitallennus käyttää muistissa tallennustilaa testausta varten. Muistissa olevien tietojen tallennus on tarkoitettu vain paikalliseen testaukseen, koska tämä tallennustila on muuttuva ja tilapäinen. Tiedot tyhjennetään aina, kun agentti käynnistyy uudelleen.

Azure Blob -säilö muodostaa yhteyden Azure Blob -säilön objektitietokantaan.

Azure Cosmos DB:n osioima tallennustila muodostaa yhteyden ositettuun Cosmos DB NoSQL -tietokantaan.

Lisätietoja yhteyden muodostamisesta muihin tallennusvaihtoehtoihin on artikkelissa Agenttien SDK-tallennustilan yleiskatsaus

Osavaltion hallinta

Valtion johto automatisoi agenttisi tilan lukemisen ja kirjoittamisen pohjana olevaan tallennuskerrokseen. Osavaltio tallennetaan valtion ominaisuuksissa, jotka ovat käytännössä avain-arvo-pareja, joita agenttisi voi lukea ja kirjoittaa valtion hallintaobjektin kautta huolehtimatta pohjana olevasta erityisestä toteutuksesta. Nämä osavaltion ominaisuudet määrittävät, miten nämä tiedot tallennetaan. Kun esimerkiksi noudat ominaisuuden, jonka määritit tietyksi luokaksi tai objektiksi, tiedät, miten nämä tiedot jäsentetään.

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 näistä pakkauksista:

  • Käyttäjän tila
  • Keskustelun tila

Kaikki nämä säilöt ovat Agent State -luokan aliluokkia, jotka voidaan johtaa määrittämään muuntyyppisiä säilöjä, joilla on eri vaikutusalueet.

Nämä ennalta määritetyt säilöt on rajoitettu tiettyyn näkyvyyteen säilöstä riippuen:

  • Käyttäjätila on käytettävissä joka tapauksessa, kun agentti keskustelee kyseisen käyttäjän kanssa kyseisellä kanavalla keskustelusta riippumatta.
  • Keskustelutila on käytettävissä milloin tahansa tietyssä keskustelussa käyttäjästä riippumatta, kuten ryhmäkeskusteluissa

Käyttäjän tila ja keskustelun tila on rajoitettu kanavan mukaan. Sama henkilö, joka käyttää agenttiasi eri kanavilla, näkyy eri käyttäjinä, yksi kutakin kanavaa kohden ja kukin eri käyttäjätilassa.

Kussakin esimääritetyssä säilössä käytetyt avaimet ovat käyttäjä- ja keskustelukohtaisia eli agentteja. Kun määrität osavaltio-ominaisuuden arvoa, avain määritetään sisäisesti. Avain sisältää kääntymiskontekstin sisältämät tiedot sen varmistamiseksi, että jokainen käyttäjä tai keskustelu sijoitetaan oikeaan säilöön ja ominaisuuteen. Avaimet on määritetty seuraavasti:

  • Käyttäjätila luo avaimen kanavan tunnuksella ja ID:stä. Esimerkki: {Activity.ChannelId}/users/{Activity.From.Id}#YourPropertyName
  • Keskustelutila luo avaimen kanavan tunnuksen ja keskustelun tunnuksen avulla. Esimerkki: {Activity.ChannelId}/conversations/{Activity.Conversation.Id}#YourPropertyName

Milloin kutakin osavaltiotyyppiä kannattaa käyttää?

Keskustelutila on hyvä keskustelun kontekstin seurannassa, kuten:

  • Kysyikö agentti käyttäjältä kysymyksen ja mikä kysymys oli
  • Mikä on keskustelun nykyinen aihe tai mikä oli viimeisin
  • Keskusteluhistorian tallentaminen

Käyttäjätila sopii hyvään käyttäjää koskevien tietojen seurantaan, kuten:

  • Ei-tärkeät käyttäjätiedot, kuten nimi ja asetukset, hälytysasetus tai hälytysasetus
  • Tiedot edellisestä keskustelusta, jonka he keskustelivat agentin kanssa.
    • Tuotetukiagentti voi esimerkiksi seurata, mistä tuotteista käyttäjä on kysynyt.

Agenttisovellus

  • Lisäämäsi reitityskäsittelijät saavat esiintymän TurnState . Keskustelun ja käyttäjän tilan käyttö tässä esiintymässä.
  • Tila ladataan ja tallennetaan automaattisesti.