Share via


Avustajan lisääminen mobiili- ja mukautettuihin sovelluksiin

Tärkeää

Power Virtual Agents -ominaisuudet ja -toiminnot ovat nyt Microsoft Copilot Studion osa generatiiviseen tekoälyyn tehtyjen panostusten ja parannettujen Microsoft Copilot -integrointien jälkeen.

Joissakin artikkeleissa ja näyttökuvissa voidaan viitata Power Virtual Agentsiin, kun ohjeita ja koulutussisältöä päivitetään.

Voit yhdistää Avustajan mukautettuun sovellukseen siten, että sovelluksen käyttäjät voivat olla yhteydessä avustajaan suoraan sovelluksesta.

Useimmissa tapauksissa mukautettu sovellus on mobiililaitteen sovellus, joka on joko verkkopohjainen sovellus tai natiivisovellus tai sovitin muihin yrityksen vaatimiin palveluihin.

Mobiilisovellukseen muodostetaan yhteys eri tavoilla sen mukaan, onko sovellus verkkopohjainen vai natiivisovellus.

Avustajien yhdistäminen verkkopohjaiseen sovellukseen on suhteellisen suoraviivaista, koska siihen liittyy koodikatkelman kopiointi sovellukseen. Sekä verkkopohjaiset että natiivit tai mukautetut sovellukset edellyttävät kuitenkin merkittävää kehittäjäkokemusta, jotta avustaja saadaan integroitua täysin sovellukseen. Molemmat menettelyt kuvataan tässä artikkelissa.

edellytykset

Avustajan yhdistäminen verkkopohjaiseen sovellukseen

  1. Valitse Copilot Studioin siirtymisvalikon Asetukset-kohdasta Kanavat.

  2. Valitse Mobiilisovellus-ruutu avataksesi määritysikkunan.

  3. Kopioi Verkkopohjaiset sovellukset -osan koodi ja välitä se sovelluskehittäjille verkkopohjaiseen sovellukseesi lisäämistä varten.

    Lisää avustaja verkkopohjaiseen sovellukseen.

Avustajan yhdistäminen natiiviin tai mukautettuun sovellukseen

Vihje

Vaikka tässä osassa kuvataan, miten yhteys luodaan mobiilisovellukseen, samaa prosessia voi soveltaa mukautettuihin tai natiivisovelluksiin, kuten IoT (esineiden internetin) -sovelluksiin.

Jos tavoitteena on muodostaa yhteys Azure Bot Service -kanaviin, kehittäjät voivat näiden ohjeiden lisäksi saada lisätietoja kohdasta Botin yhdistäminen Azure Bot Service -kanaviin.

Tärkeä

Tämän osan ohjeet edellyttävät ohjelmistokehitystä sinulta tai kehittäjiltäsi. Se on tarkoitettu kokeneille IT-ammattilaisille, kuten IT-järjestelmänvalvojille tai sovelluskehittäjille, joilla on vankka käsitys kehittäjien työkaluista, apuohjelmista ja IDE:istä.

Koodinäytteet

Tässä asiakirjassa käytettävien koodikatkelmien alkuperä:

Viitteet

Tämän asiakirjan ohjeissa viitataan seuraavaan lähdemateriaaliin:

Copilot Studion avustajan parametrien noutaminen

Jotta voit yhdistää luodun avustajan, sinun on noudettava avustajan nimi ja tunnuksen päätepiste tunnistaaksesi sen.

  1. Kopioi avustajan nimi Copilot Studiosta.

    Hae avustajan nimi.

  2. Valitse siirtymisvalikon Asetukset-kohdasta Kanavat.

  3. Valitse Mobiilisovellus.

    Mobiilisovelluskanava.

  4. Valitse Tunnuksen päätepiste -kohdan vierestä Kopioi. Tätä päätepistettä tarvitaan Hae Direct Line -tunnus -vaiheessa.

    Hae avustajan parametrit.

Hae Direct Line -tunnus

Direct Line -tunnus tarvitaan, jotta avustajan kanssa voi aloittaa keskustelun. Tämän tunnuksen voi hankkia tekemällä GET-pyynnön Copilot Studio -näytössä osoitettuun päätepisteeseen. Tätä tunnusta on sitten käytettävä otsikkona myöhemmissä Direct Line API -kutsuissa.

Esimerkki:

GET <BOT TOKEN ENDPOINT>

Jos pyyntö onnistuu, palautetaan pyydetyn avustajan Direct Line -tunnus, vanhenemisaika ja keskustelun tunnus. Esimerkki:

{
    "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
    "expires_in": 3600,
    "conversationId": "abc123"
}

Näytekoodiesimerkki

Seuraavassa esimerkissä käytetään näytteitäyhdistimen näytekoodista Direct Line -tunnuksen hakemiseksi Copilot Studion avustajalle.

/// <summary>
/// Get directline token for connecting bot
/// </summary>
/// <returns>directline token as string</returns>
public async Task<DirectLineToken> GetTokenAsync(string url)
{
    try
    {
        return await _httpClient.GetFromJsonAsync<DirectLineToken>(url);
    }
    catch (HttpRequestException ex)
    {
        throw ex;
    }        
}
/// <summary>
/// class for serialization/deserialization DirectLineToken
/// </summary>
public class DirectLineToken
{
  public string Token { get; set; }
  public int Expires_in { get; set; }
  public string ConversationId { get; set; }
}

Vastausobjekti on sama kuin aiemmin nähty GET-pyyntö.

{
  "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
  "expires_in": 3600,
  "conversationId": "abc123"
}

Direct Linen käyttäminen viestinnässä avustajan kanssa

Kun olet noutanut Direct Line -tunnuksen, olet valmiina keskustelemaan Copilot Studion avustajan kanssa Direct Linella. Voit aloittaa keskustelun sekä lähettää ja vastaanottaa viestejä Bot Framework Direct Line -ohjelmointirajapinta -kohdan ohjeiden avulla.

Seuraavassa esimerkissä käytetään näytteitä yhdistimen näytekoodeista keskustelun aloittamista sekä viestien Copilot Studio n avustajalle lähettämistä ja sellaiselta vastaanottamista varten.

  1. Alusta DirectLineClient-esiintymä Direct Line -tunnuksen avulla ja aloita keskustelu:

       // Use the retrieved token to create a DirectLineClient instance
       using (var directLineClient = new DirectLineClient(token))
       {
           var conversation = await directLineClient.Conversations.StartConversationAsync();
           string conversationtId = conversation.ConversationId;
       }
    
  2. Alkamisensa jälkeen kukin keskustelu voidaan tunnistaa ja yhdistää yhdistelmällä token ja conversationtId. Käyttäjäviestin lähettäminen aiemmin luotuun keskusteluun:

       // Use the retrieved token to create a DirectLineClient instance
       // Use the conversationId from above step
       // endConversationMessage is your predefined message indicating that user wants to quit the chat
       while (!string.Equals(inputMessage = /*Get_User_Input()*/, endConversationMessage, StringComparison.OrdinalIgnoreCase))
       {
           using (var directLineClient = new DirectLineClient(token))
           {
               // Send user message using directlineClient
               // Payload is a Microsoft.Bot.Connector.DirectLine.Activity
               await directLineClient.Conversations.PostActivityAsync(conversationtId, new Activity()
               {
                   Type = ActivityTypes.Message,
                   From = new ChannelAccount { Id = "userId", Name = "userName" },
                   Text = inputMessage,
                   TextFormat = "plain",
                   Locale = "en-Us",
               });
           }
       }
    
  3. Nouda avustajan vastaus käyttäen samoja arvoja token ja conversationId. Noudetut Direct Line -vastausaktiviteetit sisältävät sekä käyttäjän että avustajan viestit. Voit suodattaa bottisi vastausaktiviteetteja avustajan nimen perusteella, jotta saat vain avustajan vastausviestejä.

       // Use the same token to create a directLineClient
       using (var directLineClient = new DirectLineClient(token))
       {
           // To get the first response set string watermark = null
           // More information about watermark is available at
           // https://learn.microsoft.com/azure/bot-service/rest-api/bot-framework-rest-direct-line-1-1-receive-messages?view=azure-bot-service-4.0
    
           // response from bot is of type Microsoft.Bot.Connector.DirectLine.ActivitySet
           ActivitySet response = await directLineClient.Conversations.GetActivitiesAsync(conversationtId, watermark);
    
           // update watermark from response
           watermark = response?.Watermark;
    
           // response contains set of Activity from both user and bot
           // To display bot response only, filter Activity.From.Name equals to your bot name
           List<Activity> botResponses = response?.Activities?.Where(x =>
                     x.Type == ActivityTypes.Message &&
                       string.Equals(x.From.Name, /*Bot_Name*/, StringComparison.Ordinal)).ToList();
    
           // Display botResponses
       }
    

Direct Line -tunnuksen päivittäminen

Koodi on ehkä lisättävä, jotta Direct Line -tunnus voidaan päivittää, jos sovelluksessa on pitkä keskustelu avustajan kanssa. Tunnus vanhenee, mutta sen voi päivittää ennen vanhentumista; lisätietoja: Direct Line -todennus.

Seuraavassa esimerkissä käytetään näytteitä Yhdistimen näytekoodista olemassa olevan Copilot Studio -keskustelun tunnuksen päivittämistä varten:

  // DirectLine provides a token refresh method
  // Requires the currentToken valid when refreshing
  string refreshToken = new DirectLineClient(currentToken).Tokens.RefreshToken().Token;
  // create a new directline client with refreshToken
  directLineClient = new DirectLineClient(refreshToken);
  // use new directLineClient to communicate to your bot

Avustajan keskustelutietojen jäsentäminen

Kun olet aloittanut keskustelun avustajan kanssa, muunnoksen JSON-tiedoissa käytetään vakiomuotoista Microsoft Bot Framework Direct Line -aktiviteettia. Lisätietoja: Bot Framework Direct Line API.

Siirtoaktiviteetin käsitteleminen

Jos sovelluksen on suoritettava siirto live-asiakaspalvelijoiden tarjoajalle, sinun on käsiteltävä siirtoaktiviteetti. Siirtoaktiviteetti lähetetään, kun Siirrä asiakaspalvelijalle-solmu käynnistyy. Voit tutustua tarkemmin kunkin siirtoaktiviteetin tietoihin.

Tervetuloviestin käynnistys

Jos haluat, että avustaja lähettää Tervehdys-järjestelmäaiheen automaattisesti, kun käyttäjä aloittaa keskustelun, voit lähettää aktiviteetin, jossa on Type=event ja Name=startConversation.