SE APLICA A: SDK v4
En este artículo se describe cómo compilar el primer bot con Bot Framework SDK para C#, Java, JavaScript o Python y cómo probar el bot con Bot Framework Emulator.
La creación del primer bot no requiere una suscripción de Azure ni un recurso del servicio de Bot de Azure AI. Este inicio rápido se centra en la creación del primer bot localmente. Si quiere obtener información sobre cómo crear un bot en Azure, consulte Creación de un recurso de Azure Bot.
Nota:
Para crear agentes con su elección de servicios de inteligencia artificial, orquestación y conocimientos, considere la posibilidad de usar el SDK de agentes de Microsoft 365. El SDK de agentes admite C#, JavaScript o Python. Puede obtener más información sobre el SDK de agentes en aka.ms/agents. Si busca una plataforma de agente basada en SaaS, considere Microsoft Copilot Studio. Si tiene un bot existente creado con Bot Framework SDK, puede actualizar el bot al SDK de agentes. Puede revisar los cambios principales y las actualizaciones en la guía de migración del Bot Framework SDK al SDK de Agentes. Las incidencias de soporte técnico del SDK de Bot Framework ya no se atenderán a partir del 31 de diciembre de 2025.
Requisitos previos
Plantilla de C++
Los ejemplos de bot actuales usan plantillas de .NET Core 3.1.
Para agregar las plantillas de bot a Visual Studio, descarga e instala las plantillas del SDK de Bot Framework v4 para el archivo VSIX de Visual Studio.
Nota:
Puedes instalar las plantillas desde Visual Studio.
- En el menú, selecciona Extensiones, y a continuación Administrar extensiones.
- En el cuadro de diálogo Administrar extensiones, busque e instale plantillas del SDK de Bot Framework v4 para Visual Studio.
Para obtener información sobre cómo implementar bots de .NET en Azure, consulte Aprovisionamiento y publicación de un bot.
Las plantillas de .NET Core te ayudarán a crear rápidamente nuevos bots de IA conversacionales mediante Bot Framework v4.
A partir de mayo de 2020, estas plantillas y el código que generan requieren .NET Core 3.1 o posterior.
Para instalar las plantillas de Bot Framework:
Abra una ventana de la consola.
Descarga e instala la versión 3.1 o posterior del SDK de .NET Core.
Puedes usar este comando para determinar qué versiones de la interfaz de la línea de comandos de .NET Core están instaladas.
dotnet --version
Instala las tres plantillas de C# de Bot Framework: el eco, el núcleo y las plantillas de bot vacías.
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
dotnet new -i Microsoft.Bot.Framework.CSharp.CoreBot
dotnet new -i Microsoft.Bot.Framework.CSharp.EmptyBot
Comprueba que las plantillas se han instalado correctamente.
dotnet new --list
Nota:
Los pasos anteriores instalan las tres plantillas de Bot Framework. No es necesario instalar todas las plantillas y puedes instalar solo las que usarás. En este artículo se usa la plantilla de bot de eco.
Plantillas de Java
Usa el generador de Yeoman para crear rápidamente un bot de IA conversacional mediante las funcionalidades principales de IA en Bot Framework v4. Para obtener más información, consulte yeoman.io.
El generador admite tres opciones de plantilla diferentes, como se muestra a continuación.
Plantilla |
Descripción |
Bot de eco |
Una buena plantilla si quieres un poco más que "Hola mundo!", pero no mucho más. Esta plantilla controla los aspectos básicos de enviar mensajes a un bot y hacer que el bot procese los mensajes repitiéndolos de nuevo al usuario. Esta plantilla genera un bot que simplemente "devuelve" al usuario todo lo que el usuario dice al bot. |
Bot vacío |
Una buena plantilla si estás familiarizado con Bot Framework v4 y simplemente quieres un proyecto de esqueleto básico. También es una buena opción si deseas tomar código de ejemplo de la documentación y pegarlo en un bot mínimo para aprender. |
Bot principal |
Una buena plantilla si desea crear bots avanzados, ya que usa diálogos de varios turnos y LUIS de Azure AI para implementar la comprensión del lenguaje. Esta plantilla crea un bot que puede extraer lugares y fechas para reservar un vuelo. |
Nota:
Reconocimiento del lenguaje (LUIS) se retirará el 1 de octubre de 2025.
A partir del 1 de abril de 2023, no podrás crear nuevos recursos de LUIS.
Hay disponible una versión más reciente de las funcionalidades de reconocimiento del lenguaje como parte del Lenguaje de Azure AI.
Reconocimiento del lenguaje conversacional (CLU), una característica del lenguaje de Azure AI, es la versión actualizada de LUIS.
Para obtener más información sobre la compatibilidad con reconocimiento del lenguaje en Bot Framework SDK, consulte reconocimiento natural del lenguaje.
Instalación de Yeoman
Asegúrate de que tienes instalada la versión 12.10 o una versión posterior de Node.js.
Instale la versión más reciente de npm.
npm install -g npm
Instalar Yeoman. Asegúrate de instalarlo globalmente.
npm install -g yo
Instala generator-botbuilder-java. Asegúrate de instalarlo globalmente.
npm install -g generator-botbuilder-java
Comprueba que Yeoman y generator-botbuilder-java se han instalado correctamente.
yo botbuilder-java --help
Plantillas de JavaScript y TypeScript
Para instalar Yeoman y el generador de Yeoman para Bot Framework v4:
Abra un terminal o un símbolo del sistema con privilegios elevados.
Cambie al directorio para sus bots de JavaScript. Créelo primero si aún no tiene uno.
mkdir myJsBots
cd myJsBots
Asegúrate de tener instalada las versiones más recientes de npm y Yeoman.
npm install -g npm
npm install -g yo
Instala el generador de Yeoman.
Yeoman es una herramienta para crear aplicaciones. Para obtener más información, consulte yeoman.io.
npm install -g generator-botbuilder
Nota:
La instalación de las herramientas de compilación de Windows que se indican a continuación solo se necesitan si se usa Windows como sistema operativo de desarrollo.
En algunas instalaciones, el paso de instalación de restify genera un error relacionado con node-gyp
.
Si este es el caso, intente ejecutar este comando con permisos elevados.
Esta llamada también puede bloquearse si Python ya está instalado en el sistema:
Ejecuta este comando solo si está en Windows.
npm install -g windows-build-tools
Creación y habilitación de un entorno virtual
Un entorno virtual es una combinación de un intérprete de Python específico y bibliotecas que son diferentes de tu configuración global. El entorno virtual es específico a un proyecto y se mantiene en la carpeta de proyecto. Una ventaja de usar un entorno virtual es que a medida que el proyecto se desarrolla a lo largo del tiempo, el entorno virtual siempre refleja las dependencias exactas del proyecto. Para más información sobre los entornos virtuales, consulte Creación de entornos virtuales.
Ve al directorio donde deseas crear el bot. A continuación, ejecuta los siguientes comandos para la plataforma preferida. Después de activar el entorno virtual, la línea de comandos o terminal debe estar precedida de (venv)
. Esto te permite saber que el entorno virtual está activo. Puedes desactivar el entorno virtual en cualquier momento si escribes: deactivate
.
macOS y Linux
python3 -m venv venv
source venv/bin/activate
Windows
python -m venv venv
venv\Scripts\activate.bat
Plantillas de Python
Para instalar los paquetes necesarios, ejecute los comandos pip install
siguientes:
pip install botbuilder-core
pip install asyncio
pip install aiohttp
pip install cookiecutter==1.7.0
Importante
Si usas una versión de 32 bits de Python, asegúrate de que también ejecutas pip install cryptography==2.8
.
Creación de un bot
En Visual Studio, crea un proyecto de bot mediante la plantilla Echo Bot (Bot Framework v4 - .NET Core 3.1). Elige Bots de IA en los tipos de proyecto para mostrar solo plantillas de bot.
Asegúrate de que .NET Core 3.1 o posterior esté instalado.
En Visual Studio Code, abra una ventana de terminal.
Ve al directorio en el que deseas crear tu proyecto de bot.
Cree un nuevo proyecto de bot eco utilizando el siguiente comando. Necesitará reemplazar <your-bot-name>
por el nombre que desee utilizar para su proyecto de bot.
dotnet new echobot -n <your-bot-name>
Abra una nueva ventana de terminal.
Ve al directorio en el que deseas crear tu proyecto de bot.
Cree un nuevo proyecto de bot eco utilizando el siguiente comando. Necesitará reemplazar <your-bot-name>
por el nombre que desee utilizar para su proyecto de bot.
dotnet new echobot -n <your-bot-name>
Gracias a la plantilla, el proyecto contiene todo el código necesario para crear el bot en esta guía de inicio rápido. No es necesario ningún código adicional para probar el bot.
Ejecuta el siguiente comando para crear un bot de eco a partir de plantillas. El comando usa opciones predeterminadas para tus parámetros.
yo botbuilder-java -T "echo"
Yeoman le solicitará alguna información con la que se va a crear el bot. En este tutorial, use los valores predeterminados.
? 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"
El generador admite muchas opciones de la línea de comandos que puedes usar para cambiar los valores predeterminados del generador o para inicializar previamente un mensaje. Las opciones distinguen entre mayúsculas y minúsculas.
Opción de línea de comandos |
Descripción |
--help, -h |
Enumerar el texto de ayuda de todas las opciones de la línea de comandos admitidas |
--botName, -N |
Nombre asignado al proyecto de bot |
--packageName, -P |
Nombre del paquete de Java que se va a usar para el bot |
--template, -T |
El proyecto generado a partir de la plantilla. Las opciones son echo , empty , core . Para obtener más información sobre las distintas plantillas, consulta el repositorio de GitHub para el lenguaje, C#, JavaScript, Python o Java. |
--noprompt |
El generador no pedirá confirmación antes de crear un nuevo bot. Cualquier opción de requisito que no se pase en la línea de comandos usará un valor predeterminado razonable. Esta opción está pensada para habilitar la generación automatizada de bots con fines de prueba. |
Gracias a la plantilla, el proyecto contiene todo el código necesario para crear el bot en esta guía de inicio rápido. No es necesario ningún código adicional para probar el bot.
Usa el generador para crear un bot de eco.
yo botbuilder
Yeoman le solicitará alguna información con la que se va a crear el bot. En este tutorial, use los valores predeterminados.
? 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
Gracias a la plantilla, el proyecto contiene todo el código necesario para crear el bot en esta guía de inicio rápido. No es necesario ningún código adicional para probar el bot.
En el directorio de trabajo, ejecute el siguiente comando para descargar la plantilla del bot de eco y sus dependencias:
cookiecutter https://github.com/microsoft/BotBuilder-Samples/releases/download/Templates/echo.zip
Se te pedirá que asignes un nombre y una descripción al bot. Escriba los siguientes valores:
-
bot_name: echo_bot
-
bot_description: un bot que devuelve la respuesta del usuario.
Inicio del bot
En Visual Studio:
- Abre el proyecto de bot.
- Ejecuta el proyecto sin depuración.
- Visual Studio compila la aplicación, la implementa en localhost e inicia el navegador web para mostrar la página
default.htm
de la aplicación.
En este momento, el bot se ejecuta de forma local en el puerto 3978.
En Visual Studio Code:
Abre la carpeta del proyecto del bot.
Si se te pide que selecciones un proyecto, selecciona el que creaste para el bot..
En el menú Ejecutar, selecciona Ejecutar sin depuración.
- Si se solicita seleccionar entorno, selecciona .NET Core.
- Si este comando actualizó la configuración de inicio, guarda los cambios y vuelve a ejecutar el comando.
El comando de ejecución compila la aplicación, la implementa en localhost e inicia el navegador web para mostrar la página default.htm
de la aplicación.
En este momento, el bot se ejecuta de forma local en el puerto 3978.
Desde un terminal o un símbolo del sistema:
Cambia los directorios a una carpeta de proyecto para tu bot.
Usa dotnet run
para iniciar el bot.
dotnet run
Este comando compila la aplicación y la implementa en el localhost.
La página web predeterminada de la aplicación no se mostrará, pero en este momento el bot se ejecuta localmente en el puerto 3978.
Desde un terminal, ve al directorio donde guardaste el bot y, a continuación, ejecuta los comandos que se enumeran a continuación.
Compile el proyecto de Maven y lo empaqueta en un archivo .jar (archivo).
mvn package
Ejecución local del bot. Reemplace archive-name por el nombre real del comando anterior.
java -jar .\target\<archive-name>.jar
Ya estás listo para iniciar Emulator.
En un terminal o símbolo del sistema, mueva los directorios al que creó para el bot e inícielo con npm start
.
cd my-chat-bot
npm start
En este momento, el bot se ejecuta de forma local en el puerto 3978.
En la línea de comandos/terminal, cambia el directorio a echo_bot
.
cd echo_bot
Instala las dependencias de la plantilla del bot de eco.
pip install -r requirements.txt
Una vez instaladas las dependencias, ejecuta el siguiente comando para iniciar el bot:
python app.py
Sabrás que el bot está listo para probarlo cuando veas la última línea que se muestra en la siguiente captura de pantalla:
Copia la dirección HTTP en la última línea. La necesitarás cuando uses Emulator para interactuar con el bot.
Inicio del emulador y conexión del bot
Inicie Bot Framework Emulator.
Haz clic en Abrir bot en la pestaña de Bienvenido/a de Emulator.
Escribe la dirección URL del bot, que es el host local y el puerto, con /api/messages
agregado a la ruta de acceso. La dirección suele ser: http://localhost:3978/api/messages
.
A continuación, seleccione Conectar.
Envía un mensaje al bot y te responderá.
Pasos siguientes
- Para obtener información sobre cómo depurar mediante Visual Studio o Visual Studio Code y Bot Framework Emulator, consulta Depuración de un bot.
- Para obtener información sobre devtunnel, consulte Tunneling (devtunnel).