¿Qué es el SDK de Bot Framework?

SE APLICA A: SDK v4

Microsoft Bot Framework y Azure Bot Service son una colección de bibliotecas, herramientas y servicios que le permiten compilar, probar, implementar y administrar bots inteligentes. Bot Framework incluye un SDK modular y extensible para compilar bots y conectarse a los servicios de inteligencia artificial. Con este marco, los desarrolladores pueden crear bots que usen voz, comprender el lenguaje natural, responder preguntas, etc.

¿Qué es un bot?

Los bots proporcionan una experiencia que se siente menos similar al uso de un equipo y mucho más como trabajar con una persona, o robot inteligente. Puede usar bots para cambiar tareas sencillas y repetitivas, como tomar una reserva de cena o recopilar información de perfil, en sistemas automatizados que ya no requieran intervención humana directa. Los usuarios conversan con los bot mediante texto, tarjetas interactivas y la voz. Una interacción del bot puede ser una respuesta rápida a una pregunta o a una conversación implicada que proporciona de forma inteligente acceso a los servicios.

Una manera de pensar en un bot es como una aplicación web que tiene una interfaz conversacional. Los usuarios se conectan al bot a través de un canal, como Facebook, Slack, Microsoft Teams o una aplicación personalizada.

  • En función de cómo se configure el bot y cómo se registre con el canal, las interacciones pueden estar en texto o voz y pueden incluir imágenes y vídeos.
  • El bot procesa la entrada del usuario para interpretar lo que el usuario ha solicitado o dicho.
  • El bot evalúa la entrada y realiza tareas relevantes, como pedir al usuario información adicional o acceder a los servicios en nombre del usuario.
  • El bot responde al usuario para informarles de lo que hace o ha hecho el bot.

Un bot remoto interactúa con un usuario en un dispositivo mediante texto, voz, imágenes o vídeo.

Los bots se suelen implementar como una aplicación web, hospedados en Azure y mediante api para enviar y recibir mensajes. Lo que hay en un bot varía ampliamente en función del tipo de bot que es y cuál es su propósito. Un bot simple puede recibir mensajes y devolverlos al usuario, con muy poco código implicado. Un bot más complejo puede basarse en varias herramientas y servicios para ofrecer experiencias más enriquecidas en una amplia variedad de plataformas.

Los bots pueden hacer lo mismo que otros tipos de software: leer y escribir en archivos, usar bases de datos y API y realizar las tareas de cálculo normales. Lo que hace que los bots sean únicos es su uso de mecanismos que generalmente se reservan para la comunicación entre humanos.

Azure Bot Service y Bot Framework incluyen:

  • SDK de Bot Framework para desarrollar bots en C#, JavaScript, Python o Java. (Los SDK de Python y Java se están retirando con la compatibilidad final a largo plazo que finaliza en noviembre de 2023).
  • Herramientas de la CLI para obtener ayuda con el desarrollo de bots de un extremo a otro.
  • Bot Connector Service, que retransmite mensajes y eventos entre bots y canales.
  • Recursos de Azure para la administración y configuración de bots.

Además, los bots pueden usar otros servicios de Azure, como:

  • Azure Cognitive Services para crear aplicaciones inteligentes
  • Azure Storage como solución de almacenamiento en la nube

Creación de un bot

Azure Bot Service y Microsoft Bot Framework ofrecen un conjunto integrado de herramientas y servicios para ayudarle a diseñar y crear bots, a través de todas las fases del ciclo de vida del bot. Existen SDK para C#, Java, JavaScript, Typescript y Python. Elija el entorno de desarrollo o las herramientas de línea de comandos que prefiera para crear el bot.

Ilustración de los pasos del ciclo de vida del bot.

Plan

Al igual que con cualquier otro tipo de software, tener un conocimiento exhaustivo de los objetivos, los procesos y las necesidades de los usuarios es importante para el proceso de creación de un bot adecuado. Puede crear un bot simple o incluir funcionalidades más sofisticadas, como la voz, el reconocimiento de lenguaje natural y la respuesta a preguntas.

Antes de escribir código, revise las directrices de diseño del bot para conocer los procedimientos recomendados e identifique las necesidades del bot.

Build

Normalmente, un bot es un servicio web hospedado en Azure. En Azure, puede configurar el bot para enviar y recibir mensajes y eventos de varios canales. Se pueden crear bots en cualquier número de entornos y lenguajes. Puede crear un bot para el desarrollo local.

Con Azure Bot Service y Bot Framework, puede usar otras bibliotecas y servicios para ampliar la funcionalidad del bot. En esta tabla se describen algunas de las características admitidas por el SDK.

Característica Descripción Más información
Memoria y almacenamiento Conservación del estado de usuario y conversación Administración de estados
Comprensión del lenguaje natural Interpretación y extracción de información de la entrada del usuario Language Understanding
Tarjetas enriquecidas Combinar texto y otros medios, como imágenes, audio, vídeo y botones Cómo agregar elementos multimedia y tarjetas

Herramientas de línea de comandos que le ayudarán a crear, administrar y probar recursos de bot. Para más información, consulte Cli de Azure y Herramientas de Bot Framework.

Para obtener ejemplos de código completos, consulte el repositorio de ejemplos de Bot Framework. En los ejemplos se muestran muchas funcionalidades del SDK.

Prueba

Los bots son aplicaciones complejas con una gran cantidad de elementos diferentes que funcionan juntos. Como cualquier otra aplicación compleja, esto puede provocar algunos errores interesantes o que el bot se comporte de forma diferente a la esperada. Antes de publicarlo, pruebe el bot. Hay varias maneras de probar los bots antes de ponerlos en funcionamiento:

  • Pruebe el bot localmente con el Bot Framework Emulator. Bot Framework Emulator es una aplicación independiente que no solo proporciona una interfaz de chat, sino también herramientas de depuración y consulta que ayudan a conocer el funcionamiento del bot. El emulador se puede ejecutar localmente junto con la aplicación de bot en desarrollo.

  • Pruebe el bot en la Web. Una vez configurado a través de Azure Portal, también se puede acceder al bot a través de una interfaz de chat web, La interfaz de chat web es una excelente manera de conceder acceso al bot a los evaluadores y a otras personas que no tienen acceso directo al código en ejecución del bot.

  • Prueba unitaria del bot con el SDK de Bot Framework actual.

Publicar

Cuando esté listo para que el bot esté disponible en la web, implemente el bot en Azure o implemente en su propio servicio web o centro de datos. Tener una dirección en la red pública de Internet es el primer paso para que el bot cobre vida en su sitio web o en los canales de chat.

Conectar

Conecte el bot a canales, como Facebook, Messenger, Slack, Microsoft Teams, Telegram y SMS a través de Twilio. Bot Framework realiza la mayor parte del trabajo necesario para enviar y recibir mensajes de todas estas plataformas diferentes: la aplicación de bot recibe una secuencia unificada normalizada de mensajes independientemente del número y el tipo de canales a los que está conectado. Para obtener información acerca de cómo agregar canales, consulte el tema de los canales.

Evaluate

Use los datos recopilados en Azure Portal para identificar oportunidades para mejorar las funcionalidades y el rendimiento de su bot. Puede obtener nivel de servicio y datos de instrumentación como tráfico, latencia e integraciones. Analytics proporciona también informes de nivel de conversación relativos a los datos del usuario, los mensajes y los canales. Para más información, consulte el artículo acerca de cómo recopilar análisis.

Pasos siguientes