¿Qué es el SDK de Bot Framework?

SE APLICA A: SDK v4

Microsoft Bot Framework y Azure AI Bot Service son una colección de bibliotecas, herramientas y servicios que te 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 IA. Con este marco, los desarrolladores pueden crear bots que usan voz, comprender el lenguaje natural, responder preguntas, etc.

Sugerencia

Para obtener una lista de los productos y servicios de Microsoft para compilar bots, que admiten y una breve descripción de cada uno, consulta Elegir la solución de bot de chat adecuada para su caso de uso.

¿Qué es un bot?

Los bots proporcionan una experiencia que hace que parezca menos que se usa un equipo y más que se trata con una persona (o un robot inteligente). Puedes usar los bots para convertir tareas sencillas y repetitivas (como hacer una reserva para cenar o recopilar información de perfil) en sistemas automatizados que ya no requieran la intervención humana directa. Los usuarios conversan con los bot mediante texto, tarjetas interactivas y la voz. Una interacción con un bot puede ser tanto una pregunta y una respuesta rápidas como una conversación sofisticada que proporciona acceso a servicios de forma inteligente.

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 registra 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 pertinentes, 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 el bot está haciendo o ha hecho.

A remote bot interacts with a user on a device via text, speech, images, or video.

Los bots a menudo se implementan como una aplicación web, hospedadas en Azure y mediante API para enviar y recibir mensajes. El contenido de un bot varía considerablemente en función del tipo que sea y su propósito. Un bot puede recibir mensajes y devolverlos al usuario, con poco código implicado. Un bot más complejo puede depender de varias herramientas y servicios para ofrecer experiencias más enriquecidas en una amplia variedad de plataformas.

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

Bot Framework y el servicio de Bot de Azure AI incluyen:

  • SDK de Bot Framework para desarrollar bots en C#, JavaScript, Python o Java. (El SDK de Java se retira con la compatibilidad final a largo plazo que termina 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 Azura para la administración y configuración del bot.

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

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

Cómo crear un bot

El servicio de Bot de Azure AI y Microsoft Bot Framework ofrecen un conjunto integrado de herramientas y servicios para ayudarte a diseñar y compilar 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.

Illustration of the steps in the bot life cycle.

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, revisa las instrucciones de diseño del bot para seguir los procedimientos recomendados e identificar las necesidades del bot.

Build

Normalmente, un bot es un servicio web hospedado en Azure. En Azure, puedes 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. Puedes crear un bot para el desarrollo local.

Con el servicio de Bot de Azure AI y Bot Framework, puedes 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 Conservar el estado de usuario y conversación Administración de estados
Reconocimiento de lenguaje natural Interpretación y extracción de información de la entrada del usuario Comprensión del lenguaje
Tarjetas Rich Combinar texto y otros medios, como imágenes, audio, vídeo y botones Cómo agregar elementos multimedia y tarjetas

Las herramientas de línea de comandos te ayudan a crear, administrar y probar los recursos de los bots. Para más información, consulta CLI de Azure y Herramientas de Bot Framework.

Para obtener ejemplos de código completos, consulta el repo de ejemplos de Bot Framework. Los ejemplos muestran muchas funcionalidades del SDK.

Prueba

Los bots son aplicaciones complejas con una gran cantidad de elementos diferentes que funcionan conjuntamente. 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:

  • Prueba el bot localmente con 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. Se puede ejecutar Emulator localmente junto con la aplicación del 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 Web Chat es una excelente manera de conceder acceso al bot tanto a los evaluadores como a otras personas que no tienen acceso directo al código de ejecución.

  • Realiza una prueba unitaria del bot con la actualización de julio del SDK de Bot Framework.

Publicar

Cuando estés listo para que el bot esté disponible en Internet, impleméntalo en Azure o en tu 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.

Conexión

Conecta el bot a canales como Facebook, Messenger, Kik, 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 (la aplicación del bot recibe un flujo de mensajes normalizado, independientemente del número y tipo de canales al que esté conectada). 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