Creación de un bot con Bot Framework SDK para JavaCreate a bot with the Bot Framework SDK for Java

se aplica a: SDK V4APPLIES TO: SDK v4

En este artículo se muestra cómo compilar un bot mediante la plantilla Bot de eco de Java y, a continuación, cómo probarlo con el Bot Framework Emulator.This article shows you how to build a bot by using the Java Echo Bot template, and then how to test it with the Bot Framework Emulator.

Requisitos previosPrerequisites

PlantillasTemplates

Use el generador de Yeoman para configurar rápidamente un bot de IA conversacional con funcionalidades básicas de IA en Bot Framework v4.Use the Yeoman generator to quickly set up a conversational AI bot using core AI capabilities in the Bot Framework v4. Para obtener más información, vea yeoman.io.For more information, see yeoman.io.

El generador admite tres opciones de plantilla diferentes, como se muestra a continuación.The generator supports three different template options as shown below.

PlantillaTemplate DescripciónDescription
Bot de   ecoEcho Bot Una buena plantilla si desea algo más que "Hola mundo!", pero no mucho más.A good template if you want a little more than "Hello World!", but not much more. Esta plantilla controla los conceptos básicos de enviar mensajes a un bot y hacer que el bot procese los mensajes repitiendolos al usuario.This template handles the very basics of sending messages to a bot, and having the bot process the messages by repeating them back to the user. Esta plantilla genera un bot que simplemente "vuelve a hacer eco" al usuario todo lo que el usuario dice al bot.This template produces a bot that simply "echoes" back to the user anything the user says to the bot.
Bot   vacíoEmpty Bot Una buena plantilla si está familiarizado con Bot Framework v4 y simplemente quiere un proyecto básico de esqueleto.A good template if you are familiar with Bot Framework v4, and simply want a basic skeleton project. También es una buena opción si desea tomar código de ejemplo de la documentación y pegarlo en un bot mínimo para aprender.Also a good option if you want to take sample code from the documentation and paste it into a minimal bot in order to learn.
Bot principalCore Bot Una buena plantilla si desea crear bots avanzados, ya que usa diálogos de varios turnos y LUIS, un servicio cognitivo basado en inteligencia artificial, para implementar language understanding.A good template if you want to create advanced bots, as it uses multi-turn dialogs and LUIS, an AI based cognitive service, to implement language understanding. Esta plantilla crea un bot que puede extraer lugares y fechas para reservar un vuelo.This template creates a bot that can extract places and dates to book a flight.

Instalación de YeomanInstall Yeoman

  1. Asegúrese de que ha instalado node.jsversión 12.10 o posterior.Assure that you have installed node.js version 12.10 or later.

  2. Instale la versión más reciente de npm.Install latest npm.

    npm install -g npm
    
  3. Instale Yeoman.Install Yeoman. Asegúrese de instalar globalmente.Make sure to install globally.

    npm install -g yo
    
  4. Instale generator-botbuilder-java.Install generator-botbuilder-java. Asegúrese de instalar globalmente.Make sure to install globally.

    npm install -g generator-botbuilder-java
    
  5. Compruebe que Yeoman y generator-botbuilder-java se han instalado correctamente.Verify that Yeoman and generator-botbuilder-java have been installed correctly.

    yo botbuilder-java --help
    

Creación de un botCreate a bot

Creación de un bot de ecoCreate an echo bot

Ejecute el siguiente comando para crear un bot de eco a partir de plantillas.Run the following command to create an echo bot from templates. El comando usa opciones predeterminadas para sus parámetros.The command uses default options for its parameters.

yo botbuilder-java -T "echo"

Yeoman le solicitará alguna información con la que se va a crear el bot.Yeoman prompts you for some information with which to create your bot. En este tutorial, use los valores predeterminados.For this tutorial, use the default values.

? 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 una serie de opciones de línea de comandos que se pueden usar para cambiar las opciones predeterminadas del generador o para preinserr un símbolo del sistema.The generator supports a number of command line options that can be used to change the generator's default options or to pre-seed a prompt.

Opción   de línea de   comandosCommand line Option DescripciónDescription
--help, -h--help, -h Lista de texto de ayuda para todas las opciones de línea de comandos admitidasList help text for all supported command-line options
--botName, -N--botName, -N El nombre dado al proyecto de botThe name given to the bot project
--packageName, -P--packageName, -P El nombre del paquete de Java que se usará para el botThe Java package name to use for the bot
--template, -T--template, -T Plantilla que se usa para generar el proyecto.The template used to generate the project. Las opciones empty son , o echo .Options are empty, or echo. Consulte https://github.com/Microsoft/BotBuilder-Samples/tree/master/generators/generator-botbuilder para obtener información adicional sobre la opción de plantilla diferente y sus diferencias funcionales.See https://github.com/Microsoft/BotBuilder-Samples/tree/master/generators/generator-botbuilder for additional information regarding the different template option and their functional differences.
--noprompt--noprompt El generador no solicitará confirmación antes de crear un bot.The generator will not prompt for confirmation before creating a new bot. Las opciones de requisitos que no se pasen en la línea de comandos usarán un valor predeterminado razonable.Any requirement options not passed on the command line will use a reasonable default value. Esta opción está pensada para habilitar la generación automatizada de bots con fines de prueba.This option is intended to enable automated bot generation for testing purposes.

Gracias a la plantilla, el proyecto contiene todo el código necesario para crear el bot en esta guía de inicio rápido.Thanks to the template, your project contains all the code that's necessary to create the bot in this quickstart. No es necesario ningún código adicional para probar el bot.You don't need any additional code to test your bot.

Nota

Si crea un bot Core, necesitará un modelo de lenguaje LUISIf you create a Core bot, you'll need a LUIS language model. Puede crear un modelo de lenguaje en luis.ai.You can create a language model at luis.ai. Después de crear el modelo, actualice el archivo de configuración.After creating the model, update the configuration file.

Inicio del botStart your bot

  1. Desde un terminal, vaya al directorio donde guardó el bot y, a continuación, ejecute los comandos que se enumeran a continuación.From a terminal, navigate to the directory where you saved your bot, then execute the commands listed below.

  2. Compile el proyecto de Maven y lo empaqueta en un archivo .jar (archivo).Build the Maven project and packages it into a .jar file (archive).

    mvn package
    
  3. Ejecute el bot localmente.Run the bot locally. Reemplace archive-name por el nombre real del comando anterior.Replace the archive-name with the actual name from the previous command.

    java -jar .\target\<archive-name>.jar
    

Ya está listo para iniciar el emulador.You are now ready to start the Emulator.

Inicio del emulador y conexión del botStart the Emulator and connect your bot

  1. Inicie Bot Framework Emulator.Start the Bot Framework Emulator.

  2. Seleccione Open Bot (Abrir bot) en la pestaña Welcome (Bienvenida) del emulador.Select Open Bot on the Emulator's Welcome tab.

  3. Escriba la dirección URL del bot, que es la dirección URL del puerto local, y se agrega a la ruta /api/messages de acceso, normalmente http://localhost:3978/api/messages .Enter your bot's URL, which is the URL of the local port, with /api/messages added to the path, typically http://localhost:3978/api/messages.

    abrir un bot

  4. A continuación, seleccione Conectar.Then select Connect.

    Envíe un mensaje al bot y el bot responderá de nuevo.Send a message to your bot, and the bot will respond back.

    mensaje de eco

Recursos adicionalesAdditional resources

Consulte Tunelización (ngrok) para más información sobre cómo conectarse a un bot hospedado de forma remota.See tunneling (ngrok) for how to connect to a bot hosted remotely.

Pasos siguientesNext steps