Een klassieke chatbot als een vaardigheid gebruiken in een Bot Framework-bot
Notitie
Dit artikel is alleen van toepassing op klassieke chatbots. Deze functie is niet beschikbaar in de nieuwe Copilot Studio-ervaring.
Wanneer u een klassieke chatbot gebruikt als een vaardigheid met een Bot Framework-bot, bepaalt de Bot Framework-bot of alles wat de gebruiker zegt, overeenkomt met de triggerzinnen van de klassieke chatbot. Als er een match is, geeft de Bot Framework-bot het gesprek door aan de klassieke chatbot. De klassieke chatbot extraheert entiteiten en activeert het overeenkomende onderwerp.
U kunt u ook een variabele doorgeven aan een Copilot Studio-vaardigheidsonderwerp als invoer van Bot Framework Composer en de uitvoer gebruiken die wordt geretourneerd.
Belangrijk
U moet een proefversie of een volledige Copilot Studio-licentie hebben om klassieke chatbots als vaardigheden te gebruiken. Deze mogelijkheid is niet beschikbaar met de Teams Copilot Studio-licentie.
Uw klassieke chatbot instellen als vaardigheid:
Voeg de Bot Framework-bot toe aan de acceptatielijst voor de klassieke chatbot.
Download het vaardighedenmanifest voor de klassieke chatbot.
Gebruik de Bot Framework Emulator om te bevestigen of de bot als een vaardigheid werkt.
Vereisten
- Begrijpen hoe Bot Framework-vaardigheden werken.
- Begrijpen hoe u Bot Framework Composer gebruikt.
- Begrijpen hoe u vaardigheden in Bot Framework Composer gebruikt.
- De app-id van uw Bot Framework-bot ophalen.
Uw Bot Framework-bot toevoegen aan de acceptatielijst voor uw klassieke chatbot
Voeg de app-id van de Bot Framework-bot toe aan de acceptatielijst voor de klassieke chatbot die u als vaardigheid wilt gebruiken. De bots moeten in dezelfde tenant zijn.
Open in Bot Framework Composer de bot die de vaardigheid zal gebruiken. Selecteer Configureren en selecteer daarna Ontwikkelresources. Kopieer de id in Microsoft App-id.
Open in Copilot Studio de klassieke chatbot die u als vaardigheid wilt gebruiken.
Ga in het navigatiemenu naar Instellingen en selecteer Beveiliging. Selecteer daarna Acceptatielijst.
Selecteer Toegestane beller toevoegen.
Plak de app-id van uw Bot Framework-bot en selecteer Volgende.
Let op
De klassieke chatbot kan niet als vaardigheid voor andere klassieke chatbots fungeren. Als u probeert een app-id die bij een Power Virtual Agent-bot hoort aan de acceptatielijst toe te voegen, krijgt u een foutmelding. U kunt alleen een app-id toevoegen voor een Bot Framework-bot.
Copilot Studio valideert de app-id van de Bot Framework-bot en bevestigt dat deze tot een bot behoort die bij dezelfde tenant hoort.
(Optioneel) Voeg een weergavenaam toe voor de bot die u aan de acceptatielijst hebt toegevoegd.
Selecteer Opslaan.
De Bot Framework-bot wordt weergegeven met de weergavenaam als u er een hebt ingevoerd, of met de app-id als u geen weergavenaam hebt ingevoerd. Als u het op elk gewenst moment wilt verwijderen of bewerken, selecteert u het pictogram rechts van de weergavenaam of app-id van de bot.
Notitie
De Bot Framework-bots die aan de Acceptatielijst zijn toegevoegd, worden niet geëxporteerd als onderdeel van de botinhoud.
Download het klassieke chatbot skill manifest voor je klassieke chatbot
Bot Framework-bots kunnen een Copilot Studio-vaardighedenmanifest gebruiken om een verbinding te configureren met de klassieke chatbot die het manifest heeft geproduceerd.
Alle klassieke chatbots hebben vaardighedenmanifesten. Een vaardighedenmanifest is een JSON-bestand dat de naam, interface en triggerzinnen van een vaardigheid bevat.
Een Bot Framework-bot kan een vaardighedenmanifest gebruiken om te weten wanneer de klassieke chatbot moet worden geactiveerd (bijvoorbeeld als reactie op iets dat een gebruiker tegen de chatbot zegt).
Copilot Studio-manifesten van vaardigheid volgen versie 2.2 van het Bot Framework-schema voor manifesten van vaardigheid en bestaan uit bestanden intents.lu en manifest.json.
Een Bot Framework-bot kan beslissen dat een klassieke chatbot de aanvraag van de gebruiker moet afhandelen op basis van de manifestgegevens. Aan de klassieke chatbot wordt alles doorgegeven wat de gebruiker heeft gezegd. Daarna koppelt de klassieke chatbot wat de gebruiker heeft gezegd aan een Copilot Studio-onderwerp, extraheert eventuele entiteiten die nodig zijn voor het vullen van tijdvakken en activeert het Copilot Studio-onderwerp.
Copilot Studio-manifesten van vaardigheid worden automatisch gegenereerd en bijgewerkt. Een klassieke chatbot heeft twee vaardighedenmanifesten:
Testmanifest: hiermee kan de Bot Framework-bot verbinding maken met de testversie van uw klassieke chatbot. Gebruik het testmanifest om wijzigingen in uw vaardigheid te valideren voordat u deze publiceert.
- Het testmanifest is direct beschikbaar voor elke nieuw gemaakte klassieke chatbot.
- Het wordt automatisch bijgewerkt om de wijzigingen weer te geven telkens wanneer u uw klassieke chatbot opslaat.
Gepubliceerd manifest: hiermee kan de Bot Framework-bot verbinding maken met de gepubliceerde versie van uw klassieke chatbot.
- Het gepubliceerde manifest is alleen beschikbaar voor klassieke chatbots die minstens één keer zijn gepubliceerd.
- Het wordt automatisch bijgewerkt om wijzigingen weer te geven telkens wanneer u uw agent publiceert.
Notitie
Het gepubliceerde manifest is niet beschikbaar voor klassieke chatbots die nooit zijn gepubliceerd.
Als u het gepubliceerde manifest van uw bot wilt genereren, publiceert u uw klassieke chatbot.
Beide manifesten van vaardigheid worden weergegeven in het paneel Acceptatielijst beheren.
De manifesten van vaardigheid worden ook weergegeven op de detailpagina van de copilot. Selecteer in het navigatiemenu Instellingen en daarna Details. De pagina Details toont andere metagegevens, zoals Omgevings-id, Tenant-id en App-id van bot.
Om een manifest te downloaden, selecteert u het. Het wordt gedownload als een .zip-bestand met het label <botnaam>manifest voor het gepubliceerde manifest of <botnaam>test__manifest voor het testmanifest.
Notitie
Het vaardighedenmanifest bevat geen systeemonderwerpen en Composer-dialogen die worden toegevoegd aan een klassieke chatbot. Alleen onderwerpen die zijn gemaakt door copilot-auteurs en intentietriggers van Composer die auteurs aan de bot toevoegen, worden opgenomen.
Verbinding maken met een Copilot Studio-vaardigheid in Composer
Gebruik Copilot Studio-manifesten van vaardigheid om een vaardigheidsverbinding in uw Bot Framework-bot te maken in Composer.
Selecteer in een Bot Framework Composer-project de optie Toevoegen en vervolgens Verbinden met een vaardigheid.
Blader naar en selecteer een Copilot Studio-manifest .zip-archief en selecteer vervolgens Volgende.
Selecteer de onderwerpen of intenties in uw klassieke chatbot die u wilt toevoegen aan uw Bot Framework-bot en selecteer daarna Volgende.
Bekijk en bewerk de triggerzinnen voor uw klassieke chatbot en selecteer daarna Volgende.
Zorg ervoor dat Orchestrator gebruiken voor projecten met meerdere bots is geselecteerd en selecteer Doorgaan.
Controleer of de Copilot Studio-vaardigheid correct is toegevoegd aan uw Bot Framework-bot en of een nieuwe trigger met de naam van uw klassieke chatbot in het project in Composer verschijnt.
Het onderwerp zoeken in het manifest van vaardigheid
Gebruik een gebeurtenis om een Copilot Studio-onderwerp te activeren in de vaardigheid. Als u een specifiek onderwerp wilt aanroepen vanuit Composer, verwijst u naar het onderwerp met de bijbehorende gebeurtenis in het manifest van vaardigheid.
Selecteer de actie Verbinden met een vaardigheid.
Selecteer onder Naam van vaardigheidsdialoogvenster de optie Manifest van vaardighied weergeven.
Zoek activiteiten in het manifest. Deze eigenschap bevat geneste eigenschappen die de onderwerpen vertegenwoordigen die beschikbaar zijn in uw klassieke chatbot.
Zoek het onderwerp dat u wilt aanroepen en zoek naar de eigenschap name. Wanneer de Copilot Studio-vaardigheid een gebeurtenis met deze naam ontvangt, activeert deze het onderwerp.
In dit volgende voorbeeld is
dispatchTo_new_topic_87609dabd86049f7bc6507c6f7263aba_33d
de naam van de gebeurtenisactiviteit.
Een Copilot Studio-vaardigheidsonderwerp aanroepen
In plaats van te vertrouwen op wat een gebruiker zegt om een Copilot Studio-vaardigheidsonderwerp te activeren, kunt u het rechtstreeks aanroepen. U kunt alleen Copilot Studio-onderwerpen rechtstreeks aanroepen die in het manifest van vaardigheid worden vermeld.
Selecteer in het ontwerpcanvas van Composer Toevoegen en selecteer vervolgens Toegang tot externe bronnen en selecteer vervolgens Verbinden met een vaardigheid.
Selecteer uw klassieke chatbot in de lijst Naam van vaardigheidsdialoogvenster.
Zoek de naam van de gebeurtenisactiviteit voor het onderwerp van de klassieke chatbot dat u wilt aanroepen. Kopieer de waarde, laat de aanhalingstekens weg, en sla deze op voor gebruik in de volgende stappen.
Selecteer Sluiten.
Selecteer in de sectie Activiteit de optie Code weergeven.
Typ of plak de volgende code. Vervang
TOPIC_ACTIVITY_NAME
door de naam van de gebeurtenisactiviteit van uw onderwerp. Zorg ervoor dat er geen aanhalingstekens in de eigenschap name staan.[Activity type = event name = TOPIC_ACTIVITY_NAME ]
Geef een invoervariabele door aan het Copilot Studio-vaardigheidsonderwerp
Bot Framework Composer kan een variabele doorgeven aan een Copilot Studio-vaardigheidsonderwerp als invoer. Als u wilt weten hoe u Copilot Studio-onderwerpen maakt die invoervariabelen accepteren, gaat u naar Werken met variabelen.
Als een Copilot Studio-onderwerp dat een invoervariabele kan ontvangen, wordt vermeld in uw manifest van vaardigheid, kunt u er een Composer-variabele aan doorgeven.
Selecteer in het ontwerpcanvas van Composer Toevoegen en selecteer vervolgens Toegang tot externe bronnen en selecteer vervolgens Verbinden met een vaardigheid.
Selecteer uw klassieke chatbot in de lijst Naam van vaardigheidsdialoogvenster.
Zoek de naam van de gebeurtenisactiviteit voor het onderwerp van de klassieke chatbot dat u wilt aanroepen. Kopieer de waarde, laat de aanhalingstekens weg, en sla deze op voor gebruik in de volgende stappen.
Zoek de eigenschap value van het onderwerp. De eigenschap value bevat een eigenschap $ref. Kopieer die waarde en sla deze op voor gebruik in de volgende stap.
Waarschuwing
Als een Copilot Studio-onderwerp geen invoer heeft, bevat deze geen eigenschap value.
Zoek de eigenschap definitions en zoek vervolgens naar een geneste eigenschap die overeenkomt met de $ref-waarde die u in de vorige stap hebt gevonden. Noteer de namen en typen in de invoer van het Copilot Studio-onderwerp. U gebruikt deze in de volgende stappen.
Selecteer Sluiten.
Selecteer in de sectie Activiteit de optie Code weergeven.
Typ of plak de volgende code. Vervang deze waarden:
- Vervang
TOPIC_ACTIVITY_NAME
door de naam van de gebeurtenisactiviteit van uw onderwerp. - Vervang
PVA_INPUT_VARIABLE
door een invoervariabele uit uw onderwerp. - Vervang
COMPOSER_INPUT_VARIABLE
door een Composer-variabele die een waarde zal opleveren.
[Activity Type = event Name = TOPIC_ACTIVITY_NAME Value = ${addProperty(json("{}"), 'PVA_INPUT_VARIABLE', COMPOSER_INPUT_VARIABLE)} ]
In dit voorbeeld geeft de Composer-variabele
dialog.storeLocation
een waarde aan de invoervariabelepva_StoreLocation
in het onderwerp van de klassieke chatbotdispatchTo_new_topic_127cdcdbbb4a480ea113c5101f309089_21a34f16
.- Vervang
Ontvang een uitgangsvariabele van een Copilot Studio-vaardigheidsonderwerp
Het is mogelijk om uitvoer te ontvangen van een Copilot Studio-vaardigheidsonderwerp in Composer. Zie Werken met variabelen om te weten te komen hoe u Copilot Studio-onderwerpen kunt maken die uitvoer retourneren.
Selecteer in het ontwerpcanvas van Composer Toevoegen en selecteer vervolgens Toegang tot externe bronnen en selecteer vervolgens Verbinden met een vaardigheid.
Selecteer uw klassieke chatbot in de lijst Naam van vaardigheidsdialoogvenster.
Zoek de naam van de gebeurtenisactiviteit voor het onderwerp van uw klassieke chatbot dat u wilt aanroepen. Kopieer de waarde, laat de aanhalingstekens weg, en sla deze op voor gebruik in de volgende stappen.
Zoek de eigenschap resultValue van het onderwerp. De eigenschap resultValue bevat een eigenschap $ref. Kopieer die waarde en sla deze op voor gebruik in de volgende stap.
Waarschuwing
Als een Copilot Studio-onderwerp geen uitvoer heeft, bevat deze geen eigenschap resultValue.
Zoek de eigenschap definitions en zoek vervolgens naar een geneste eigenschap die overeenkomt met de $ref-waarde die u in de vorige stap hebt gevonden. Noteer de namen en typen in de invoer van de uitvoervariabelen van het Copilot Studio-onderwerp. U gebruikt deze in de volgende stappen.
In dit voorbeeld retourneert het Copilot Studio-onderwerp twee outputs van het type String, namelijk pva_State en pva_Item.
Selecteer Sluiten.
Selecteer in de sectie Activiteit de optie Code weergeven.
Typ of plak de volgende code. Vervang
TOPIC_ACTIVITY_NAME
door de naam van de gebeurtenisactiviteit van uw onderwerp. Zorg ervoor dat er geen aanhalingstekens in de eigenschap name staan.[Activity type = event name = TOPIC_ACTIVITY_NAME ]
Stel in het codegebied de optie Eigenschap in op een Composer-variabele om de uitvoerwaarden van het Copilot Studio-vaardigheidsonderwerp te ontvangen en op te slaan.
Selecteer in het ontwerpcanvas van Composer Toevoegen en selecteer vervolgens Eigenschappen beheren en selecteer vervolgens Eigenschappen instellen.
Stel de optie Eigenschap in op de Composer-waarde die de geëxtraheerde waarde moet opslaan. Stel vervolgens Waarde in op de Composer-variabele waarin u de uitvoer van het onderwerp hebt opgeslagen.
In dit voorbeeld worden de uitvoerwaarden van dialog.skillResult.pvaState en dialog.skillResult.pvaItem geëxtraheerd in nieuwe Composer-variabelen dialog.State en dialog.Item.
Uw klassieke chatbot testen als een vaardigheid met een Bot Framework-bot
Gebruik de Bot Framework Emulator om te testen of uw Bot Framework-bot een klassieke chatbot correct als een vaardigheid aanroept.
Belangrijk
Uw Bot Framework-bot moet worden toegevoegd aan de acceptatielijst van de klassieke chatbot om de vaardigheidsverbinding te laten werken.
Een multitenant Bot Framework-bot bijwerken naar een bot met één tenant
De volgende illustratie toont een scenario waarin een Bot Framework-bot die is gebouwd op basis van de Bot Framework SDK een klassieke chatbot aanroept om deze als een vaardigheid te gebruiken.
Zowel de Bot Framework-bot als de klassieke chatbot hebben een Microsoft Entra ID-appregistratie, waarnaar wordt verwezen door de Azure Bot-exemplaren. Deze Microsoft Entra ID-appregistraties zijn gemaakt als multitenant. De Bot Framework-bot vraagt een token aan bij de Bot Framework-tenant en gebruikt dit token om zich te verifiëren bij Copilot Studio met behulp van de Azure Bot Service. Copilot Studio gebruikt hetzelfde mechanisme om contact te leggen met de Bot Framework-bot.
De toepassingsregistratie van de Copilot Studio-chatbot is nu gemaakt als single-tenant, waardoor deze communicatie niet meer werkt. Microsoft Entra ID weigert tokens te maken voor registraties van toepassingen met één tenant die zich niet in dezelfde tenant bevinden.
Bovendien valideert Copilot Studio het binnenkomende token en wijst het verzoeken af van onverwachte tenants, zoals de tenant-ID waarin de toepassingsregistratie van de klassieke chatbot is gemaakt.
Er zijn twee mogelijke oplossingen voor dit probleem.
Klassieke chatbots in dezelfde tenant als de Bot Framework-bot
In scenario's waarin de Copilot Studio-chatbot al is geïmplementeerd in dezelfde tenant als de Bot Framework-bot en alleen door deze bot wordt gebruikt, werkt u de bot bij naar een configuratie met één tenant en implementeert u vervolgens uw Bot Framework-bot opnieuw. Zie voor meer informatie over het configureren van een Bot Framework-bot voor één tenant Een bot inrichten en publiceren.
Copilot Studio-chatbot die niet kan worden bijgewerkt naar single-tenant
In scenario's waarin de Copilot Studio-chatbot al is geïmplementeerd in dezelfde tenant als de Bot Framework-bot, maar de bot niet kan worden bijgewerkt naar single-tenant, moet u de code in de Bot Framework-bot bijwerken om het token te maken om te communiceren met de Copilot Studio-chatbot. Het token moet worden gemaakt voor de tenant waarin ook de Copilot Studio-chatbot is gemaakt. Bovendien moet de respons worden geaccepteerd. Hiervoor moet u waarschijnlijk de stappen in Een bestaande vaardigheid van multitenant naar één tenant converteren uitvoeren.