DeepPavlov Agent: Marco de código abierto para IA conversacional multihabilidad

Rate this content
Bookmark

DeepPavlov Agent es un marco diseñado para facilitar el desarrollo de asistentes virtuales multi-habilidad escalables y listos para producción, sistemas de diálogo complejos y chatbots. Las características clave de DeepPavlov Agent incluyen (1) escalabilidad y confiabilidad en entornos de alta carga debido a la arquitectura de microservicios; (2) facilidad para agregar y orquestar habilidades conversacionales; (3) memoria compartida de estado de diálogo y anotaciones de NLP accesibles para todas las habilidades.


DeepPavlov DREAM es una plataforma de socialbot con un diseño modular con componentes principales como anotadores, habilidades y selectores que se ejecutan como servicios independientes. Estos componentes se configuran e implementan utilizando contenedores Docker. Permite a los desarrolladores centrarse en el desarrollo de aplicaciones en lugar de enfocarse en los detalles intrínsecos de la configuración de infraestructura manual a nivel bajo.

This talk has been presented at ML conf EU 2020, check out the latest edition of this Tech Conference.

FAQ

El Agente Pavlov es un marco de código abierto para IA conversacional multi-habilidad desarrollado en el Instituto de Física y Tecnología de Moscú. Su propósito es permitir la creación y orquestación de múltiples habilidades conversacionales en sistemas de diálogo, facilitando así la construcción de asistentes digitales más complejos y eficientes.

La multi-habilidad es crucial porque la experiencia del cliente abarca múltiples dominios, como encuestas, promociones y soporte técnico. Cada dominio requiere habilidades específicas, por lo que un sistema multi-habilidad puede manejar diversas tareas y proporcionar una interacción más completa y útil con los usuarios.

En un sistema de diálogo modular, la entrada del usuario se procesa primero para detectar el dominio, la intención y las entidades. Esta información se utiliza para crear un marco semántico que el Gestor de Diálogos usa para actualizar el estado del diálogo y decidir la acción sistémica a tomar, que luego se convierte en lenguaje natural mediante un módulo de generación de lenguaje.

El ciclo de vida comienza con un Producto Mínimo Viable (MVP) que luego se despliega para interactuar con los usuarios. A medida que el sistema gana complejidad y se identifican nuevas necesidades, se agregan más características y scripts. El proyecto Pavlov busca ir más allá, permitiendo la fácil integración de nuevas habilidades conversacionales a medida que el sistema se expande.

La arquitectura del Agente Pavlov, basada en microservicios, permite una escalabilidad eficiente y la integración de habilidades conversacionales como servicios independientes. Esto facilita la gestión del desarrollo por equipos distribuidos, mejora la organización y permite la reutilización y extensión de habilidades previamente desarrolladas.

La Biblioteca Deep Pavlov es una biblioteca de código abierto para construir tuberías de procesamiento del lenguaje natural y habilidades conversacionales. Se utiliza para crear componentes que luego pueden ser orquestados por el Agente Pavlov en un sistema de IA conversacional, permitiendo así la creación de asistentes digitales más robustos y versátiles.

Mikhail Burtsev
Mikhail Burtsev
27 min
02 Jul, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
El Agente Pavlov es un marco de código abierto para IA conversacional multihabilidad, que aborda la necesidad de habilidades específicas en diferentes dominios. La arquitectura de microservicios permite la escalabilidad y reutilización de habilidades. La Biblioteca Deep Pavlov permite la creación de tuberías de procesamiento de lenguaje natural (NLP) para diferentes habilidades. Deep Pavlov Dream sirve como un repositorio de habilidades y plantillas, mientras que el Agente de Implementación orquesta todos los componentes para una experiencia conversacional perfecta. DeepLove.AI ofrece más flexibilidad y personalización en comparación con el servicio LUIS de Microsoft.

1. Introducción a Pavlov Agent

Short description:

Hola, mi nombre es Mikhail Burtsev, y soy fundador y líder del proyecto Pavlov en el Instituto de Física y Tecnología de Moscú. Hoy les hablaré sobre el Agente Pavlov, un marco de código abierto para IA conversacional multi-habilidad. La multi-habilidad es importante porque la experiencia del cliente abarca múltiples dominios y, para abordar cada dominio, se necesitan habilidades específicas. Los sistemas de conversación tradicionales utilizan un sistema de diálogo modular, donde las indicaciones del usuario se convierten a forma textual y se procesan mediante un módulo de comprensión del lenguaje natural. El Gestor de Diálogos actualiza el estado del diálogo y realiza acciones basadas en el estado actual. Los sistemas actuales se basan en redes neuronales, modelos de aprendizaje profundo y reglas para la gestión del diálogo y la generación del lenguaje natural. El ciclo de vida del asistente de IA comienza con un Producto Mínimo Viable, que incluye modelos pre-entrenados para NLU y scripts para el Gestor de Diálogos.

Hola, mi nombre es Mikhail Burtsev, y soy fundador y líder del proyecto Pavlov en el Instituto de Física y Tecnología de Moscú. Y hoy les hablaré sobre el Agente Pavlov, que es un marco de código abierto para IA conversacional multi-habilidad. Así que comencemos con una pregunta, ¿por qué es tan importante la multi-habilidad? Es importante porque la experiencia del cliente abarca múltiples dominios, como encuestas, promociones, campañas, servicio al cliente, soporte técnico y muchos otros. Y generalmente, para abordar cada dominio, se necesita una habilidad específica. Por eso necesitamos construir un asistente digital multi-habilidades, y necesitamos tener múltiples habilidades conversacionales en nuestro sistema. Y si observamos los asistentes de comercio electrónico, como los sistemas de diálogo complejos modernos. Por ejemplo, aquí tenemos el caso de Alimia Assist, que es un asistente en AliExpress. Entonces puedes ver aquí que es un sistema híbrido con muchas habilidades diferentes. Por ejemplo, tenemos este servicio de asistente con un motor de llenado de espacios, y tenemos servicio al cliente con un motor de gráficos de conocimiento, y tenemos servicio de chat con un motor de chat. Así que ves que es una combinación de algunas reglas comerciales, de escenarios escritos y con habilidades específicas que abordan diferentes necesidades del cliente.

Entonces, ¿cuál es la forma tradicional de construir sistemas de conversación en la actualidad? El enfoque más dominante es el llamado sistema de diálogo modular. ¿Cómo funciona? Tenemos al usuario, el usuario tiene alguna indicación para el sistema, y esta indicación se convierte a forma textual y se alimenta al módulo de comprensión del lenguaje natural, que realiza básicamente tres funciones. Detección de dominio, detección de intención y detección de entidades en la entrada del usuario. Y luego, después de este preprocesamiento, tenemos una descripción formal de la entrada del usuario, que también se llama marco semántico, donde tenemos la intención, aquí es solicitar una película, y tenemos las entidades. En esta solicitud, es comedia general y fin de semana. Y luego, toda esta información va al Gestor de Diálogos. Y la tarea del Gestor de Diálogos es primero actualizar el estado de diálogo actual, para que esté actualizado, para integrar esta nueva información en el historial previo del diálogo, y luego, con este estado de diálogo actualizado, realizar la acción necesaria en el lado del sistema.

Entonces, consta del estado de diálogo y de la política, o guion, que decide qué acción se debe seleccionar, dada la situación actual del diálogo. Y aquí en nuestro ejemplo tenemos la acción que es solicitar ubicación. Pero esta acción está en alguna representación interna del sistema. Y necesitamos convertir esta acción en la indicación de lenguaje natural. Y aquí tenemos el último módulo de nuestro sistema, que es la generación de lenguaje natural. Que crea la forma superficial de nuestra solicitud para los usuarios. Así que, con la acción de solicitar ubicación, tenemos como resultado en lenguaje natural `¿Dónde estás?`. Así es básicamente cómo se construyen los sistemas actuales. Y principalmente en esta parte de la entrevista, tenemos muchas redes neuronales, modelos de aprendizaje profundo, que se utilizan aquí, y en la parte del Gestor de Diálogos, tenemos algunas redes neuronales y muchas reglas y diálogos escritos. Y también para la generación de lenguaje natural, principalmente tenemos modelos de recuperación con algún llenado de espacios o plantillas.

Bien, entonces, ¿cuál es el ciclo de vida del asistente de IA? ¿Cómo construimos nuestro asistente digital, nuestros sistemas de diálogo, con esta tecnología modular? Por lo general, comenzamos con un Producto Mínimo Viable (MVP). Para NLU, tenemos algunas características y algunos modelos pre-entrenados para este dominio, y en el lado del Gestor de Diálogos, tenemos algunos scripts y es muy agradable y claro architecture, y entendemos cómo funciona.

2. Ventajas de la Descomposición de la Complejidad

Short description:

Queremos ir más allá del techo de complejidad de la tecnología actual mediante la descomposición de la complejidad entre el agente y las habilidades conversacionales. Nuestra arquitectura de microservicios permite la escalabilidad y la reutilización de habilidades existentes. Con la Biblioteca Deep Pavlov, podemos construir tuberías de procesamiento del lenguaje natural y combinar diferentes componentes en habilidades conversacionales para dominios y tareas específicas.

Cubre los aspectos más importantes de la interacción entre el sistema y el usuario. Y luego, desplegamos este MVP en producción y este sistema comienza a interactuar con los usuarios. Y aquí, entendemos que necesitamos aumentar la cobertura del sistema porque los usuarios hacen las mismas preguntas de manera diferente debido a la variabilidad del lenguaje, por lo que necesitamos agregar más características y hacer que nuestra comprensión del lenguaje natural sea más compleja.

Y también queremos cubrir más funciones, por lo que agregamos más scripts en el lado de nuestro gestor de diálogos. Y luego, continuamos con más características y más scripts, más características, más scripts, llegamos a la llamada etapa principal del asistente de IA, que en realidad es un desorden de características y scripts. Y esta es una solución que ya alcanza la complejidad máxima debido a todos estos componentes interdependientes. Así que ahora estás en una posición en la que no puedes hacer crecer tu producto más.

Y lo que queremos hacer con nuestro marco, con el Agente Deep Pavlov, es romper esta imagen. Queremos ir más allá de este techo de complejidad de la tecnología actual. Así que en nuestra visión, el ciclo de vida del sistema de IA comienza con el mismo MVP simple, claro y agradable. Y luego, lo que haces, lo pruebas y luego lo agregas al sistema ya desplegado como una de las habilidades conversacionales. Y luego, si quieres agregar más funcionalidad a tu sistema, simplemente creas una nueva habilidad conversacional y la agregas a tu agente. Esto te permite descomponer la complejidad entre el agente, que es básicamente un marco de orquestación de habilidades, y las habilidades conversacionales. Y esto te proporciona una arquitectura de microservicios muy agradable, que se puede escalar en un sistema de IA mayor mucho más complejo.

Y también te brinda muchas características interesantes. Por ejemplo, puedes tener habilidades predeterminadas. No necesitas desarrollarlas tú mismo. Solo necesitas conectar tus propias habilidades. Y es, como dije, una arquitectura muy escalable porque cada habilidad se despliega como un microservicio. Y también es muy práctico porque cuando creas un nuevo producto o quieres crear nuevas habilidades, que son similares a las que ya tienes, simplemente puedes reutilizar las antiguas y ampliarlas para la nueva función o integrarlas en tu producto. Y lo que también es importante en nuestra cultura de desarrollo global en este momento, es que generalmente las soluciones complejas se construyen con equipos distribuidos. Y esta arquitectura de orquestación de habilidades y estructura modular de tu agente conversacional te permite distribuir el mantenimiento y desarrollo de habilidades separadas a diferentes equipos separados. Esto hace que tu trabajo y coordinación entre habilidades sea mucho más organizado y eficiente. Así que esto es lo que queremos, esta es nuestra visión. Lo que queremos hacer es tener habilidades conversacionales y tener un nivel de orquestación conversacional. Entonces, lo que estamos haciendo ahora mismo para implementar esta visión. Así que hemos comenzado con la Biblioteca Deep Pavlov. La Biblioteca Deep Pavlov es una biblioteca de código abierto para construir tuberías de procesamiento del lenguaje natural y habilidades conversacionales para la IA conversacional. Entonces puedes tener modelos específicos de NLP como reconocimiento de entidades nombradas, resolución de correferencia, reconocimiento de intención y autodetección, respuesta a preguntas, política de diálogo, historial de diálogo, modelos de lenguaje, y así sucesivamente. Y luego, con nuestro marco, puedes combinar estos diferentes componentes en habilidades conversacionales para dominios y tareas específicas, como aquí.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
ML conf EU 2020ML conf EU 2020
41 min
TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
TensorFlow.js enables machine learning in the browser and beyond, with features like face mesh, body segmentation, and pose estimation. It offers JavaScript prototyping and transfer learning capabilities, as well as the ability to recognize custom objects using the Image Project feature. TensorFlow.js can be used with Cloud AutoML for training custom vision models and provides performance benefits in both JavaScript and Python development. It offers interactivity, reach, scale, and performance, and encourages community engagement and collaboration between the JavaScript and machine learning communities.
Uso de MediaPipe para Crear Aplicaciones de Aprendizaje Automático Multiplataforma con React
React Advanced 2021React Advanced 2021
21 min
Uso de MediaPipe para Crear Aplicaciones de Aprendizaje Automático Multiplataforma con React
Top Content
MediaPipe is a cross-platform framework that helps build perception pipelines using machine learning models. It offers ready-to-use solutions for various applications, such as selfie segmentation, face mesh, object detection, hand tracking, and more. MediaPipe can be integrated with React using NPM modules provided by the MediaPipe team. The demonstration showcases the implementation of face mesh and selfie segmentation solutions. MediaPipe enables the creation of amazing applications without needing to understand the underlying computer vision or machine learning processes.
TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
JSNation Live 2021JSNation Live 2021
39 min
TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
JavaScript with TensorFlow.js allows for machine learning in various environments, enabling the creation of applications like augmented reality and sentiment analysis. TensorFlow.js offers pre-trained models for object detection, body segmentation, and face landmark detection. It also allows for 3D rendering and the combination of machine learning with WebGL. The integration of WebRTC and WebXR enables teleportation and enhanced communication. TensorFlow.js supports transfer learning through Teachable Machine and Cloud AutoML, and provides flexibility and performance benefits in the browser and Node.js environments.
Observabilidad con diagnostics_channel y AsyncLocalStorage
Node Congress 2023Node Congress 2023
21 min
Observabilidad con diagnostics_channel y AsyncLocalStorage
Observability with Diagnostics Channel and async local storage allows for high-performance event tracking and propagation of values through calls, callbacks, and promise continuations. Tracing involves five events and separate channels for each event, capturing errors and return values. The span object in async local storage stores data about the current execution and is reported to the tracer when the end is triggered.
Una introducción al aprendizaje por transferencia en NLP y HuggingFace
ML conf EU 2020ML conf EU 2020
32 min
Una introducción al aprendizaje por transferencia en NLP y HuggingFace
Transfer learning in NLP allows for better performance with minimal data. BERT is commonly used for sequential transfer learning. Models like BERT can be adapted for downstream tasks such as text classification. Handling different types of inputs in NLP involves concatenating or duplicating the model. Hugging Face aims to tackle challenges in NLP through knowledge sharing and open sourcing code and libraries.

Workshops on related topic

Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
JSNation 2024JSNation 2024
108 min
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
Featured Workshop
Roy Derks
Shivay Lamba
2 authors
Hoy en día, todos los desarrolladores están utilizando LLMs en diferentes formas y variantes, desde ChatGPT hasta asistentes de código como GitHub CoPilot. Siguiendo esto, muchos productos han introducido capacidades de IA integradas, y en este masterclass haremos que los LLMs sean comprensibles para los desarrolladores web. Y nos adentraremos en la codificación de tu propia aplicación impulsada por IA. No se necesita experiencia previa en trabajar con LLMs o aprendizaje automático. En su lugar, utilizaremos tecnologías web como JavaScript, React que ya conoces y amas, al mismo tiempo que aprendemos sobre algunas nuevas bibliotecas como OpenAI, Transformers.js
¿Pueden los LLM aprender? Personalicemos un LLM para chatear con tus propios datos
C3 Dev Festival 2024C3 Dev Festival 2024
48 min
¿Pueden los LLM aprender? Personalicemos un LLM para chatear con tus propios datos
WorkshopFree
Andreia Ocanoaia
Andreia Ocanoaia
Sientes las limitaciones de los LLMs? Pueden ser creativos, pero a veces carecen de precisión o se basan en información desactualizada. En esta masterclass, desglosaremos el proceso de construir y desplegar fácilmente un sistema de Generación con Recuperación Mejorada. Este enfoque te permite aprovechar el poder de los LLMs con el beneficio adicional de precisión factual e información actualizada.
Deja que la IA sea tu Documentación
JSNation 2024JSNation 2024
69 min
Deja que la IA sea tu Documentación
Workshop
Jesse Hall
Jesse Hall
Únete a nuestro masterclass dinámico para crear un portal de documentación impulsado por IA. Aprende a integrar ChatGPT de OpenAI con Next.js 14, Tailwind CSS y tecnología de vanguardia para ofrecer soluciones de código e resúmenes instantáneos. Esta sesión práctica te equipará con el conocimiento para revolucionar la forma en que los usuarios interactúan con la documentación, convirtiendo las búsquedas tediosas en descubrimientos eficientes e inteligentes.
Aspectos destacados:
- Experiencia práctica en la creación de un sitio de documentación impulsado por IA.- Comprensión de la integración de la IA en las experiencias de usuario.- Habilidades prácticas con las últimas tecnologías de desarrollo web.- Estrategias para implementar y mantener recursos de documentación inteligente.
Tabla de contenidos:- Introducción a la IA en la documentación- Configuración del entorno- Construcción de la estructura de documentación- Integración de ChatGPT para documentación interactiva
Prácticas con TensorFlow.js
ML conf EU 2020ML conf EU 2020
160 min
Prácticas con TensorFlow.js
Workshop
Jason Mayes
Jason Mayes
Ven y descubre nuestro masterclass que te guiará a través de 3 recorridos comunes al usar TensorFlow.js. Comenzaremos demostrando cómo usar uno de nuestros modelos predefinidos, clases de JS muy fáciles de usar para trabajar rápidamente con ML. Luego veremos cómo volver a entrenar uno de estos modelos en minutos utilizando el aprendizaje por transferencia en el navegador a través de Teachable Machine y cómo se puede usar en tu propio sitio web personalizado. Finalmente, terminaremos con un hola mundo escribiendo tu propio código de modelo desde cero para hacer una regresión lineal simple y predecir los precios ficticios de las casas en función de sus metros cuadrados.
La Guía del Autoestopista de la Galaxia de Ingeniería de Aprendizaje Automático
ML conf EU 2020ML conf EU 2020
112 min
La Guía del Autoestopista de la Galaxia de Ingeniería de Aprendizaje Automático
Workshop
Alyona Galyeva
Alyona Galyeva
¿Eres un Ingeniero de Software al que se le asignó la tarea de implementar un modelo de aprendizaje automático o aprendizaje profundo por primera vez en tu vida? ¿Te preguntas qué pasos seguir y cómo se diferencia el software impulsado por IA del software tradicional? Entonces este es el masterclass adecuado al que asistir.
Internet ofrece miles de artículos y cursos gratuitos que muestran lo fácil que es entrenar e implementar un modelo de IA simple. Al mismo tiempo, en la realidad es difícil integrar un modelo real en la infraestructura actual, depurarlo, probarlo, implementarlo y monitorearlo correctamente. En este masterclass, te guiaré a través de este proceso compartiendo consejos, trucos y herramientas de código abierto favoritas que te facilitarán mucho la vida. Así que al final del masterclass, sabrás por dónde empezar tu viaje de implementación, qué herramientas utilizar y qué preguntas hacer.
Introducción al Aprendizaje Automático en la Nube
ML conf EU 2020ML conf EU 2020
146 min
Introducción al Aprendizaje Automático en la Nube
Workshop
Dmitry Soshnikov
Dmitry Soshnikov
Este masterclass será tanto una introducción suave al Aprendizaje Automático, como un ejercicio práctico de uso de la nube para entrenar modelos de aprendizaje automático simples y no tan simples. Comenzaremos utilizando ML Automático para entrenar el modelo para predecir la supervivencia en el Titanic, y luego pasaremos a tareas de aprendizaje automático más complejas como la optimización de hiperparámetros y la programación de series de experimentos en el clúster de cómputo. Finalmente, mostraré cómo Azure Machine Learning se puede utilizar para generar pinturas artificiales utilizando Redes Generativas Adversarias, y cómo entrenar un modelo de preguntas y respuestas de lenguaje en documentos de COVID para responder preguntas relacionadas con COVID.