In dit artikel wordt beschreven hoe u uw eerste bot bouwt met de Bot Framework SDK voor C#, Java, JavaScript of Python en hoe u uw bot test met de Bot Framework Emulator.
Voor het maken van uw eerste bot is geen Azure-abonnement of een Azure AI Bot Service-resource vereist. Deze quickstart is gericht op het lokaal maken van uw eerste bot. Zie Een Azure-botresource maken als u wilt weten hoe u een bot maakt in Azure.
Notitie
De Sdk's voor Bot Framework JavaScript, C# en Python blijven ondersteund, maar de Java SDK wordt buiten gebruik gesteld met definitieve langetermijnondersteuning die eindigt op november 2023.
Bestaande bots die zijn gebouwd met de Java SDK blijven functioneren.
Met .NET Core-sjablonen kunt u snel nieuwe conversationele AI-bots bouwen met Bot Framework v4.
Vanaf mei 2020 zijn deze sjablonen en de code die ze genereren vereist .NET Core 3.1 of hoger.
De Bot Framework-sjablonen installeren:
Open een consolevenster.
Download en installeer .NET Core SDK versie 3.1 of hoger.
U kunt deze opdracht gebruiken om te bepalen welke versies van de .NET Core-opdrachtregelinterface zijn geïnstalleerd.
dotnet --version
Installeer de drie Bot Framework C#-sjablonen: de echo-, kern- en lege botsjablonen.
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
dotnet new -i Microsoft.Bot.Framework.CSharp.CoreBot
dotnet new -i Microsoft.Bot.Framework.CSharp.EmptyBot
Controleer of de sjablonen correct zijn geïnstalleerd.
dotnet new --list
Notitie
In de bovenstaande stappen worden alle drie de Bot Framework-sjablonen geïnstalleerd. U hoeft niet alle sjablonen te installeren en kunt alleen de sjablonen installeren die u gaat gebruiken. In dit artikel wordt gebruikgemaakt van de sjabloon voor de echobot .
Een Azure-account als u wilt implementeren in Azure.
Java-sjablonen
Gebruik de Yeoman-generator om snel een conversationele AI-bot te maken met behulp van de belangrijkste AI-mogelijkheden in bot framework v4. Zie yeoman.io voor meer informatie.
De generator ondersteunt drie verschillende sjabloonopties, zoals hieronder wordt weergegeven.
Sjabloon
Beschrijving
ECHO bot
Een goede sjabloon als u iets meer wilt dan 'Hallo wereld!, maar niet veel meer. Deze sjabloon verwerkt de basisbeginselen van het verzenden van berichten naar een bot en het laten verwerken van de berichten door de bot terug te zetten naar de gebruiker. Deze sjabloon produceert een bot die simpelweg 'echo's' weergeeft aan de gebruiker wat de gebruiker aan de bot zegt.
Lege bot
Een goede sjabloon als u bekend bent met Bot Framework v4 en gewoon een basisskeletproject wilt. Ook een goede optie als u voorbeeldcode uit de documentatie wilt nemen en deze in een minimale bot wilt plakken om te leren.
Kernbot
Een goede sjabloon als u geavanceerde bots wilt maken, omdat er gebruik wordt gemaakt van dialoogvensters met meerdere rollen en Azure AI LUIS om taalbegrip te implementeren. Met deze sjabloon maakt u een bot die plaatsen en datums kan extraheren om een vlucht te boeken.
Notitie
Language Understanding (LUIS) wordt op 1 oktober 2025 buiten gebruik gesteld.
Vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken.
Er is nu een nieuwere versie van taalkennis beschikbaar als onderdeel van Azure AI Language.
Conversational Language Understanding (CLU), een functie van Azure AI Language, is de bijgewerkte versie van LUIS.
Zie Natuurlijke taalkennis voor meer informatie over ondersteuning voor taalkennis in de Bot Framework SDK.
Yeoman en de Yeoman-generator voor Bot Framework v4 installeren:
Open een terminal- of verhoogde opdrachtprompt.
Schakel over naar de map voor uw JavaScript-bots. Maak deze eerst als u er nog geen hebt.
mkdir myJsBots
cd myJsBots
Zorg ervoor dat u de nieuwste versies van npm en Yeoman hebt.
npm install -g npm
npm install -g yo
Installeer de Yeoman-generator.
Yeoman is een hulpprogramma voor het maken van toepassingen. Zie yeoman.io voor meer informatie.
npm install -g generator-botbuilder
Notitie
De installatie van windows-buildhulpprogramma's die hieronder worden vermeld, is alleen vereist als u Windows als uw ontwikkelbesturingssysteem gebruikt.
Voor sommige installaties geeft de installatiestap voor Restify een fout met betrekking tot node-gyp.
Als dit het geval is, kunt u deze opdracht uitvoeren met verhoogde machtigingen.
Deze aanroep kan ook vastlopen zonder af te sluiten als Python al op uw systeem is geïnstalleerd:
Voer deze opdracht alleen uit als u windows gebruikt.
Een virtuele omgeving is een combinatie van een specifieke Python-interpreter en -bibliotheken die afwijken van uw algemene instellingen. De virtuele omgeving is specifiek voor een project en wordt onderhouden in de projectmap. Een voordeel van het gebruik van een virtuele omgeving is dat wanneer u een project in de loop van de tijd ontwikkelt, de virtuele omgeving altijd de exacte afhankelijkheden van het project weerspiegelt. Zie Het maken van virtuele omgevingen voor meer informatie over virtuele omgevingen.
Navigeer naar de map waarin u uw bot wilt maken. Voer vervolgens de volgende opdrachten uit voor uw voorkeursplatform. Nadat u uw virtuele omgeving hebt geactiveerd, moet uw opdrachtregel/terminal worden voorafgegaan door (venv). Hiermee weet u dat de virtuele omgeving actief is. U kunt uw virtuele omgeving op elk gewenst moment deactiveren door het volgende te typen. deactivate
macOS/Linux
python3 -m venv venv
source venv/bin/activate
Windows
python -m venv venv
venv\Scripts\activate.bat
Python-sjablonen
Installeer de benodigde pakketten door de volgende pip install opdrachten uit te voeren:
Maak in Visual Studio een nieuw botproject en gebruik de sjabloon Echo Bot (Bot Framework v4 - .NET Core 3.1). Als u alleen botsjablonen wilt zien, kiest u het projecttype AI Bots .
Zorg ervoor dat .NET Core 3.1 of hoger is geïnstalleerd.
Open in Visual Studio Code een nieuw terminalvenster.
Ga naar de map waarin u uw botproject wilt maken.
Maak een nieuw echobotproject met behulp van de volgende opdracht. Vervang <your-bot-name> door de naam die u voor uw botproject wilt gebruiken.
dotnet new echobot -n <your-bot-name>
Open een nieuw terminalvenster.
Ga naar de map waarin u uw botproject wilt maken.
Maak een nieuw echobotproject met behulp van de volgende opdracht. Vervang <your-bot-name> door de naam die u voor uw botproject wilt gebruiken.
dotnet new echobot -n <your-bot-name>
Dankzij de sjabloon bevat uw project alle benodigde code om de bot in deze quickstart te maken. U hebt geen code meer nodig om uw bot te testen.
Voer de volgende opdracht uit om een echobot te maken op basis van sjablonen. De opdracht maakt gebruik van standaardopties voor de parameters.
yo botbuilder-java -T "echo"
Yeoman vraagt u om informatie waarmee u uw bot kunt maken. Gebruik voor deze zelfstudie de standaardwaarden.
? What's the name of your bot? (echo)
? What's the fully qualified package name of your bot? (com.mycompany.echo)
? Which template would you like to start with? (Use arrow keys) Select "Echo Bot"
? Looking good. Shall I go ahead and create your new bot? (Y/n) Enter "y"
De generator ondersteunt veel opdrachtregelopties die u kunt gebruiken om de standaardinstellingen van de generator te wijzigen of om een prompt vooraf te seeden. De opties zijn hoofdlettergevoelig.
Opdrachtregeloptie
Beschrijving
--help, -h
Help-tekst weergeven voor alle ondersteunde opdrachtregelopties
--botName, -N
De naam die aan het botproject is gegeven
--packageName, -P
De Naam van het Java-pakket dat moet worden gebruikt voor de bot
--template, -T
De sjabloon die wordt gebruikt om het project te genereren. Opties zijnecho, empty, . core Zie de GitHub-opslagplaats voor uw taal, C#, JavaScript, Python of Java voor meer informatie over de verschillende sjablonen.
--noprompt
De generator vraagt niet om bevestiging voordat u een nieuwe bot maakt. Vereisteopties die niet op de opdrachtregel worden doorgegeven, gebruiken een redelijke standaardwaarde. Deze optie is bedoeld om geautomatiseerde botgeneratie in te schakelen voor testdoeleinden.
Dankzij de sjabloon bevat uw project alle code die nodig is om de bot te maken in deze quickstart. U hebt geen andere code nodig om uw bot te testen.
Yeoman vraagt u om informatie waarmee u uw bot kunt maken. Gebruik voor deze zelfstudie de standaardwaarden.
? What's the name of your bot? my-chat-bot
? What will your bot do? Demonstrate the core capabilities of the Microsoft Bot Framework
? What programming language do you want to use? JavaScript
? Which template would you like to start with? Echo Bot - https://aka.ms/bot-template-echo
? Looking good. Shall I go ahead and create your new bot? Yes
Dankzij de sjabloon bevat uw project alle code die nodig is om de bot te maken in deze quickstart. U hebt geen andere code nodig om uw bot te testen.
Visual Studio bouwt de toepassing, implementeert deze op localhost en start de webbrowser om de pagina van default.htm de toepassing weer te geven.
Op dit moment wordt uw bot lokaal uitgevoerd op poort 3978.
In Visual Studio Code:
Open de projectmap van uw bot.
Als u wordt gevraagd om een project te selecteren, selecteert u het project voor de bot die u hebt gemaakt.
Selecteer Uitvoeren in het menu en voer uitvoeren zonder foutopsporing uit.
Als u wordt gevraagd om een omgeving te selecteren, selecteert u .Net Core.
Als deze opdracht de startinstellingen heeft bijgewerkt, slaat u de wijzigingen op en voert u de opdracht opnieuw uit.
Met de run-opdracht wordt de toepassing gebouwd, geïmplementeerd op localhost en wordt de webbrowser gestart om de pagina van default.htm de toepassing weer te geven.
Op dit moment wordt uw bot lokaal uitgevoerd op poort 3978.
Vanaf een opdrachtprompt of terminal:
Wijzig mappen in de projectmap voor uw bot.
Gebruik dotnet run dit om de bot te starten.
dotnet run
Met deze opdracht wordt de toepassing gebouwd en geïmplementeerd op localhost.
De standaardwebpagina van de toepassing wordt niet weergegeven, maar op dit moment wordt uw bot lokaal uitgevoerd op poort 3978.
Selecteer Bot openen op het tabblad Welkom van de emulator.
Voer de URL van uw bot in, die uw lokale host en poort is, en /api/messages voeg deze toe aan het pad. Het adres is meestal: http://localhost:3978/api/messages.
Selecteer vervolgens Connect.
Stuur een bericht naar uw bot en de bot reageert terug.