Copilot Studion avustajan lisääminen Azure Bot Servicen kanaviin
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 olemassa oleviin Azure Bot Service -kanaviin. Tästä voi olla apua, jos haluat yhdistää avustajan käyttäjille Azure Bot Servicen kanavilla.
Avustajan lisääminen Azure Bot Service -kanaviin edellyttää merkittävää kehittäjäasiantuntemusta. Tämä artikkeli on kirjoitettu IT-järjestelmänvalvojille tai sovelluskehittäjille, joilla on kokemusta koodin kehittämisestä ja kirjoittamisesta.
Vihje
Sinun ei tarvitse lukea tätä asiakirjaa, jos haluat lisätä Copilot Studio -avustajan verkkosivustollesi, Facebookiin tai Microsoft Teamsiin. Jos haluat muodostaa yhteyden mukautettuun verkkopohjaiseen tai natiiviin sovellukseen, kehittäjät saavat lisätietoja kohdasta Avustajan lisääminen mobiili- ja mukautettuihin sovelluksiin.
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ä.
Edellytykset
- Azure Bot Service -tilaus.
- Azure Bot Service -botti, joka käyttää v4 SDK:ta.
- .NET Core SDK:n versio 2.1.
- NuGet-paketti Microsoft.Bot.Connector.DirectLine.
- Copilot Studioissa luotu avustaja, jonka haluat yhdistää Azure Bot Service -kanavaan.
- Avustajan yhdistäminen mobiilisovelluksiin ja mukautettuihin sovelluksiin.
Koodinäytteet
Tässä asiakirjassa käytetyt koodikatkelmat ovat peräisin relebotin näytekoodista .
Viitteet
Tämän asiakirjan ohjeissa viitataan seuraavaan:
- Botin käyttöönotto Azuressa Azure Bot Service -botin käyttöönottoa koskevia ohjeita varten.
- Azure Bot Service -kanavat mihin tahansa Azure Bot Servicen tukemaan kanavaan yhdistämistä varten.
- Azure Bot Servicen virheenkorjaus emulaattorilla Azure Bot Service -botin virheenkorjausta koskevia ohjeita varten.
Azure Bot Service -botin luonti tai aiemman luodun sellaisen käyttö
Tarvitset Azure Bot Service -botin, joka voi välittää keskusteluja Copilot Studion avustajan ja Azure Bot Service -kanavien välillä.
Välitysbotin näytekoodi on hyvä aloituskohta, jos sinulla ei ole aiemmin luotua Azure Bot Service -bottia. Se kehitetään Microsoft Bot Framework -botin näytekoodista, joka voidaan kääntää ja ottaa käyttöön Azure Bot Servicessä. Näytekoodia on tarkoitus käyttää aloituskohtana, eikä sitä ole tarkoitettu käytettäväksi suoraan tuotannossa. Sinun on lisättävä koodia ja optimointia liiketoimintatarpeidesi mukaan.
Jos sinulla on jo Azure Bot Service -botti, sinun on lisättävä Copilot Studio -yhdistin ja koodia keskusteluistuntojen hallintaa varten. Tämän jälkeen voit ottaa botin käyttöön Azure Bot Servicessä ja muodostaa yhteyden kanaviin Azure-portaalin avulla.
Copilot Studion avustajan parametrien hakeminen
Jotta voit yhdistää Copilot Studion avulla luodun avustajan, sinun on noudettava avustajan nimi ja tunnuksen päätepiste.
Kopioi avustajan nimi Copilot Studiosta.
Valitse siirtymisvalikon Asetukset-kohdasta Kanavat.
Valitse kanava, johon haluat muodostaa yhteyden. Tässä skenaariossa esimerkkinä on Slack.
Jos haluat kopioida ja tallentaa tunnuksen päätepisteen arvon, valitse Kopioi. Päätepisteen on yhdistettävä avustaja Azure Bot Service -kanavaan.
Keskusteluistuntojen hallinta Copilot Studion avustajalla
Azure Bot Service -kanavien ja Copilot Studion avustajan Direct Line -yhteyden välillä voi olla useita keskusteluja.
Azure Bot Service -botin on liitettävä ja välitettävä keskustelu Azure Bot Service -kanavasta Direct Line -keskusteluun Copilot Studion avustajan kanssa ja toisinpäin.
Näytekoodiesimerkki
Seuraavassa esimerkissä käytetään näytteitä välitysbotin näytekoodista.
Aloita Copilot Studion avustajakeskustelu jokaisessa uudessa ulkoisessa Azure Bot Service -kanavan keskustelussa. Katso ohjeet uuden keskustelun aloittamisesta botin kanssa kohdista Hanki Direct Line -tunnus ja Käytä Direct Linea avustajan kanssa viestimiseen.
using (var httpRequest = new HttpRequestMessage()) { httpRequest.Method = HttpMethod.Get; UriBuilder uriBuilder = new UriBuilder(TokenEndPoint); httpRequest.RequestUri = uriBuilder.Uri; using (var response = await s_httpClient.SendAsync(httpRequest)) { var responseString = await response.Content.ReadAsStringAsync(); string token = SafeJsonConvert.DeserializeObject<DirectLineToken>(responseString).Token; } } /// <summary> /// class for serialization/deserialization DirectLineToken /// </summary> public class DirectLineToken { public string Token { get; set; } }
// 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; }
Jos haluat hallita useita istuntoja, sinun on ylläpidettävä ulkoisten Azure Bot Service -kanavakeskustelujen yhdistämismääritystä vastaaviin Copilot Studion avustajakeskusteluihin. Copilot Studion avustajakeskustelu voidaan tunnistaa ja yhdistää kahden ominaisuuden perusteella:
ConversationtId
jaToken
.Dictionary<string, PowerVirtualAgentsConversation> ConversationRouter = new Dictionary<string, PowerVirtualAgentsConversation>();
Voit hallita keskustelin elinkaarta päivittämällä Direct Line -tunnukset tai poistamalla käyttämättömiä keskusteluja. Lisätietoja tunnuksen päivittämisestä: Päivitä Direct Line -tunnus. Copilot Studion avustajakeskustelu näiden tueksi määritetään seuraavasti:
/// <summary> /// Data model class for Copilot Studio copilot conversation /// </summary> public class PowerVirtualAgentsConversation { public string ConversationtId { get; set; } // The Copilot Studio copilot conversation ID retrieved from step 1 public string Token { get; set; } // The DirectLine token retrieved from step 1 public string WaterMark { get; set; } // Identify turn in a conversation public DateTime LastTokenRefreshTime { get; set; } = DateTime.Now; // Timestamp of last token refresh public DateTime LastConversationUpdateTime { get; set; } = DateTime.Now; // Timestamp of last active user message sent to copilot }
Kun uusi Copilot Studion avustajakeskustelu alkaa, lisää avainarvopari (
external_Azure_Bot_Service_channel_conversationID
,PowerVirtualAgentsConversation
) yhdistämistaulukkoon.// After new Copilot Studio copilot conversation starts ConversationRouter[external_Azure_Bot_Service_channel_conversationID] = new PowerVirtualAgentsConversation() { Token = token, ConversationtId = conversationId, WaterMark = null, LastConversationUpdateTime = DateTime.Now, LastTokenRefreshTime = DateTime.Now, };
Voit jatkaa olemassa olevaa keskustelua hakemalla uuden vastaanotetun ulkoisen Azure Bot Service -kanavaviestin, hakemalla olemassa olevan keskustelun yhdistämistaulukosta, välittämällä ulkoisen keskusteluaktiviteetin Copilot Studion avustajalle ja saamalla vastauksen.
Seuraavassa esimerkissä esitetään keskustelun välittäminen ohittamalla ActivityHandler.OnMessageActivityAsync((ITurnContext<IMessageActivity>, CancellationToken) -menetelmä
// Invoked when a message activity is received from the user // Send the user message to Copilot Studio copilot and get response protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken) { // Retrieve copilot conversation from mapping table // If not exists for the given external conversation ID, start a new Copilot Studio copilot conversation ConversationRouter.TryGetValue(externalCID, out PowerVirtualAgentsConversation currentConversation) ? currentConversation : /*await StartBotConversationAsync(externalCID)*/; // Create DirectLine client with the token associated to current conversation DirectLineClient client = new DirectLineClient(currentConversation.Token); // Send user message using directlineClient await client.Conversations.PostActivityAsync(currentConversation.ConversationtId, new DirectLineActivity() { Type = DirectLineActivityTypes.Message, From = new ChannelAccount { Id = turnContext.Activity.From.Id, Name = turnContext.Activity.From.Name }, Text = turnContext.Activity.Text, TextFormat = turnContext.Activity.TextFormat, Locale = turnContext.Activity.Locale, }); // Update LastConversationUpdateTime for session management currentConversation.LastConversationUpdateTime = DateTime.Now; }
Katso kohdasta Direct Linen käyttö avustajan kanssa viestimiseen, miten saat vastauksen Copilot Studion avustajalta. Kun Copilot Studion avustajan vastaus on vastaanotettu, katso kohdasta Avustajan keskustelutietojen jäsentäminen ohjeet vastauksen jäsentämiseen ulkoiseen Azure Bot Service -kanavan vastaukseen.
Esimerkki vastauksen jäsennyksestä välitysbotin näytekoodissa ResponseConverter.cs.
Käyttöönotto Azure Bot Servicessä
Kun Azure Bot Service -välitysbottisi on valmis, sinun on otettava botti käyttöön Azure Bot Servicesässi.
Azure Bot Service -kanavien määrittäminen
Voit määrittää kanavat, joihin haluat muodostaa yhteyden, kirjautumalla Azure-portaaliin ja valitsemalla Azure Bot Service -resurssiryhmän, jossa olet ottanut botin käyttöön. Tutustu kunkin kanavan yksilöllisiin ohjeisiin aiheessa Azure Bot Service -kanavat.
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle