Creando habilidades personalizadas para chatbots con plugins

Creando habilidades personalizadas para chatbots

El campo de la IA conversacional ha avanzado rápidamente, con modelos de lenguaje grandes como ChatGPT, Claude y BARD demostrando impresionantes habilidades en el lenguaje natural. Con los chatbots cada vez más capaces, las empresas están ansiosas por utilizarlos para el soporte al cliente, generación de documentos, investigación de mercado y más. Sin embargo, los chatbots predefinidos tienen limitaciones en cuanto al conocimiento específico de la industria, la integración con los sistemas empresariales y la personalización de las respuestas.

Los chatbots predefinidos pueden mejorarse mediante la incorporación de capacidades específicas que realizan tareas especializadas y pueden trabajar juntas para resolver el problema en cuestión. Estas capacidades se pueden implementar como complementos que pueden invocarse con la ayuda de LLMs. Al adoptar un marco de complementos, se pueden aprovechar los modelos fundamentales para orquestar e invocar los complementos necesarios en la secuencia correcta.

Estos complementos no solo pueden permitir la integración perfecta de fuentes de datos externas como bases de datos, sistemas de gestión de contenido y servicios impulsados por API, sino también facilitar la adición de módulos especializados como preguntas y respuestas específicas de la industria, contexto del usuario, análisis de sentimiento y otras mejoras. Con el marco de complementos adecuado y las herramientas de construcción de complementos correspondientes, se pueden ensamblar múltiples habilidades en una aplicación conversacional potente y personalizada.

La arquitectura adecuada permite que los complementos protejan las inversiones en chatbots al abstraer el motor de IA subyacente. Al actualizar el núcleo y utilizar mejores modelos fundamentales, se pueden retener las habilidades que ya se han desarrollado. De esta manera, las empresas pueden maximizar el retorno de inversión en IA conversacional. A medida que la IA avanza, se pueden ofrecer experiencias personalizadas sólidas tratando los modelos fundamentales como una plataforma. Veamos un enfoque sobre cómo construir un marco para la creación de complementos.

Consideraciones para construir un marco para la creación de complementos

El núcleo del chatbot proporciona el procesamiento de lenguaje natural base y las capacidades de razonamiento a través de modelos de lenguaje grandes como BERT, GPT-3, etc., mientras que los complementos proporcionan habilidades adicionales, integran fuentes de datos externas, editan respuestas, etc. El marco de complementos actúa como intermediario entre el núcleo del chatbot y los complementos. Proporciona interfaces para que los complementos se registren e interactúen para ampliar las capacidades de la aplicación.

Algunas de las responsabilidades principales del marco incluyen:

  • Permitir que los complementos se registren a través de una API simple como register_plugin(PluginClass)
  • Mantener un registro de los complementos activos y las habilidades que proporcionan
  • Enrutamiento de las entradas de usuario a través del canal de complementos para recopilar preprocesamiento y posprocesamiento
  • Invocar complementos de interrupción para entradas específicas y anular el procesamiento predeterminado
  • Gestionar la combinación de múltiples habilidades como preguntas y respuestas, recomendaciones, búsqueda, etc.
  • Encapsular el núcleo del chatbot de los complementos: las actualizaciones no se afectan entre sí

Los complementos pueden engancharse en el marco en diferentes puntos de extensión. Esto permite que los complementos amplíen los chatbots de manera modular y personalizable. El marco abstrae la complejidad.

Definición de complemento

A continuación se muestra un diseño de ejemplo para una clase de complemento. Dado que la invocación del complemento será orquestada por LLM, es necesario describir el formato de entrada y los atributos del complemento para que LLM invoque el complemento con la entrada correcta. Se define una clase base de complemento, que sirve como plantilla. Los complementos serán una subclase. El siguiente ejemplo utiliza el ‘complemento de clima’ como ejemplo. Otra información, como el estado de lanzamiento de la versión (experimental, beta, etc.), se puede capturar como parte de la subclase o como atributos de la clase base.

Una vez definidos los complementos, el marco debe mantener un registro de las habilidades y qué complementos las proporcionan. Se debe definir un registro de complementos de manera que se puedan registrar todos los complementos compatibles con el chatbot. Los complementos experimentales se pueden colocar en una carpeta separada o identificados en los metadatos asociados con el complemento.

El siguiente paso es inicializar y registrar los complementos. El código de ejemplo a continuación demuestra cómo se puede hacer esto.

Canal de ejecución

La llamada al complemento adecuado para invocar requiere un proceso de pensamiento y, si se hace correctamente, permitirá que el marco sea extensible. Un enfoque es diseñar el proceso de ejecución como un canal con diferentes etapas. Las diferentes etapas del flujo de ejecución dentro del marco de complementos se pueden describir a continuación.

  • Preproceso: Los complementos pueden modificar o enriquecer la entrada del usuario antes de enviarla al núcleo. Útil para normalización, correcciones ortográficas, etc.
  • Proceso: Esta etapa puede ser impulsada y orquestada con la ayuda de un modelo de lenguaje grande. Esta fase implica extraer la intención de la entrada del usuario y determinar el complemento adecuado para ejecutar y obtener la respuesta. Este sería un enfoque iterativo donde las respuestas de las iteraciones anteriores se utilizan para determinar si la entrada del usuario se puede responder por completo. Si no es así, se produce otra iteración en la que se invoca el complemento más apropiado que probablemente pueda llenar el vacío faltante en la respuesta.
  • Posproceso: Los complementos pueden modificar la respuesta del chatbot antes de devolverla al usuario. Esto permite agregar variabilidad.
  • Interrupción: El canal de ejecución normal puede interrumpirse y ser asumido por humanos u otros complementos para ciertos tipos de entradas que puedan manejar. Esto puede ser útil si la conversación no va en la dirección correcta y el tono del usuario tiende hacia la negatividad.

Esto es cómo puede verse el pipeline.

A continuación se muestra un código de muestra que se puede adoptar para construir la base del pipeline de ejecución del marco de plugins:

Es importante manejar escenarios que puedan llevar a bucles infinitos. Se pueden agregar salvaguardias adicionales para permitir solo un cierto número de plugins para responder a una consulta específica del usuario. Esto no solo protege al chatbot de consultas complejas que pueden no tener respuestas, sino que también mejora el rendimiento.

Los métodos que se invocan en la clase del modelo de lenguaje grande se pueden implementar adoptando técnicas de ingeniería de prompts. Por ejemplo, al implementar el método select_best_plugin, una opción sería pasar la lista de plugins con descripción, ejemplos, la entrada del usuario y la instrucción de prompt correcta para seleccionar un plugin que responda mejor a la entrada del usuario.

Verificar si la respuesta es completa y aprovechar iterativamente diferentes plugins para responder completamente la consulta del usuario se basa en la técnica de prompts Chain-of-Thought.

Escenarios de Ejemplo de Plugin

La integración de la API de Calendario aborda una de las principales limitaciones de los chatbots: la invisibilidad de los calendarios de los usuarios que impide el soporte de programación. Al desarrollar plugins para chatbots en plataformas de calendario como Google y Office365, las empresas pueden habilitar funciones que mejoran la productividad. Los empleados pueden verificar la disponibilidad, programar reuniones automáticamente, recibir recordatorios y gestionar planes de viaje. Esto crea un valor tremendo para situaciones corporativas, equipos de ventas, asistentes ejecutivos, administradores de instalaciones y cualquier persona que necesite gestionar sistemas de manera efectiva.

Ejemplos de conversaciones cuando permites que un chatbot interactúe con el calendario de un usuario.

Usuario: “¿Cuál es mi agenda para hoy?”

El framework llama al plugin de calendario.

Plugin: Recupera los eventos del calendario del usuario de la API de Google Calendar y devuelve “Tienes una reunión de equipo hoy de 2 a 3 pm y una cena con amigos programada para las 7 pm”.

Usuario: “Programa una reunión con John el próximo miércoles a las 10 am.”

El framework llama al plugin de calendario con la nueva entrada del usuario.

Plugin: Utiliza la API de Calendario para verificar la disponibilidad y confirmar las citas y devuelve “Tú y John tienen una reunión programada para el miércoles a las diez de la mañana”.

Los plugins permiten aprovechar una base de conocimientos externa y desbloquear todo el potencial de un chatbot. Incluso los modelos más avanzados tienen limitaciones de conocimiento basadas en los datos de entrenamiento. Combinar chatbots con modelos de conocimiento y bases de datos crea un almacenamiento de información virtualmente ilimitado. Las empresas pueden habilitar investigación de mercado, mejorar el soporte al cliente y gestionar mejor el conocimiento. Al construir plugins en bases de conocimientos externas como wikis de la empresa, feeds de datos financieros o grafos de conocimiento públicos, los chatbots obtienen acceso a la vasta riqueza de conocimiento del mundo. Esto ayuda a superar barreras de datos y hace que los chatbots sean más avanzados.

Ejemplos de conversaciones cuando conectas un chatbot con datos estructurados avanzados.

Usuario: “¿Cuál es la población de Canadá?”

El framework pasa las preguntas al plugin de la base de conocimientos.

Plugin: Busca los datos en una base de datos y devuelve “La población de Canadá es de aproximadamente 38 millones”.

Aquí hay un código de muestra para un plugin que proporciona capacidad de preguntas y respuestas específicas de la industria/domain:

Beneficios Adicionales de Construir un Marco de Plugins

Además del beneficio obvio de habilitar chatbots con conocimientos de dominio y otras habilidades, también se pueden lograr los siguientes beneficios:

  • Los plugins pueden habilitarse para acceder a datos en vivo como calendarios, sistemas IoT, registros de transacciones y flujos en tiempo real a través de APIs.
  • Los plugins pueden agregar más variabilidad, personalidad y conocimiento contextual a las respuestas del chatbot.
  • Un marco de plugins como el descrito en este artículo facilita la experimentación rápida al combinar múltiples habilidades como preguntas y respuestas, recomendaciones, búsqueda, etc.
  • Los plugins implementados correctamente mantienen la privacidad del usuario al procesar datos localmente y anonimizar cualquier dato del usuario enviado a terceros.
  • Los plugins encapsulan habilidades y conocimientos específicos desacoplados del modelo base del chatbot, lo que permite una actualización más fácil a nuevas generaciones de chatbots en el tiempo.
  • Los plugins ya construidos se vuelven “más inteligentes” cuando se combinan con modelos de lenguaje grande base mejorados, ahorrando trabajo.

Conclusión

Al extender las capacidades del modelo de lenguaje base del chatbot al agregar conocimiento de dominio, integrarse con APIs externas y personalizar respuestas, un marco de trabajo robusto para complementos de chatbot puede ofrecer grandes beneficios al proporcionar flexibilidad y extensibilidad. En lugar de estar limitados por un marco inflexible y monolítico, los complementos permiten a los chatbots desbloquear nuevas habilidades. El uso de la arquitectura adecuada es clave para organizar correctamente estas habilidades. Un marco de trabajo bien diseñado para construir complementos actúa como una capa intermedia, proporcionando puntos de extensión para que los complementos se ajusten sin comprometer la independencia del modelo base del chatbot. Esto permite mejoras estables con el tiempo y también soporta iteraciones rápidas. A medida que surjan inevitablemente nuevos y más avanzados modelos de chatbot, los complementos existentes pueden integrarse sin problemas con el modelo base de próxima generación. El valor empresarial acumulado en habilidades mejoradas se conserva en lugar de perderse. Esto hace que diseñar un marco de trabajo robusto para complementos sea una práctica recomendada importante para despliegues de chatbot en producción. Al adoptar algunos de los principios descritos en este artículo, las empresas pueden adaptar eficazmente los chatbots a las necesidades presentes y futuras.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Alibaba libera el modelo de IA de código abierto para competir con Meta y potenciar a los desarrolladores

En un desarrollo significativo, Alibaba, el gigante chino del comercio electrónico, ha decidido abrir su potente mode...

Inteligencia Artificial

Un 'mapa' más preciso de las luces que ves cuando cierras los ojos puede mejorar los resultados de los 'ojos biónicos'.

Un método de mapeo de fosfenos desarrollado por investigadores de la Universidad de Monash en Australia podría ayudar...

Inteligencia Artificial

Principales bibliotecas de procesamiento de imágenes en Python

La visión por computadora es una rama de la inteligencia artificial (IA) que permite a las computadoras y sistemas ex...

Inteligencia Artificial

Investigadores de UC Berkeley presentan Gorilla un modelo basado en LLaMA afinado que supera a GPT-4 en la escritura de llamadas a la API.

Un avance reciente en el campo de la Inteligencia Artificial es la introducción de los Modelos de Lenguaje Grandes (L...

Inteligencia Artificial

Utilice un modelo de base de IA generativa para la síntesis y respuesta a preguntas utilizando sus propios datos

Los modelos de lenguaje grandes (LLMs) se pueden utilizar para analizar documentos complejos y proporcionar resúmenes...

Inteligencia Artificial

Red de robots monitoriza tuberías utilizando sensores de ondas acústicas

Investigadores demostraron que los sensores de ondas acústicas guiadas pueden permitir que redes de robots independie...