mayo 20, 2023

Global Azure 2023: Power Platform & Azure Open AI Embeddings

Hoy quiero compartir con vosotros un pequeño resumen de la sesión que impartí junto con Maria Soto sobre "Power Platform & Azure Open AI Embeddings".

Global Azure 2023: Power Platform & Azure Open AI Embeddings
Made with Clipchamp


Esta sesión fue en el contexto del Global Azure 2023 celebrado en las oficinas de Microsoft. En esta sesión hablamos de que es y de como utilizar Azure Open AI Embeddings para crear un recomendador de películas que se base en nuestros gustos personales. Maria lo enfocó desde una perspectiva Web utilizando HTML+CSS y con toda la lógica en JavaScript. En mi caso el reto era replicar lo que maría habia hecho utilizando "pro code" en "low code". Toda la parte visual la hice en Power Apps Canvas y toda la lógica está construida en Power Automate (menos la parte del cálculo de la distancia coseno) que se calcula a partir de una acción sin enlazar de dataverse escrito con C#.


¿Que son los Embeddings de Azure Open AI?

Son una forma de representar datos textuales o categóricos en un espacio vectorial de baja dimensión, donde las similitudes semánticas se reflejan en las distancias entre los vectores. Esto permite realizar operaciones matemáticas con los datos, como calcular la similitud entre dos textos o encontrar el más cercano a una consulta. Los Embeddings de Azure Open AI se basan en modelos de lenguaje natural pre-entrenados con grandes cantidades de texto, como GPT-3/GPT-4, que aprenden a capturar el significado y el contexto de las palabras.

¿Cómo podemos usarlos para crear un recomendador de películas?

Lo primero que necesitamos es tener un conjunto de datos con las películas que queremos recomendar y sus descripciones. Luego, podemos usar los Azure Open AI Embeddings para convertir cada descripción en un vector de 768 dimensiones. Estos vectores se almacenan en una base de datos, como Dataverse, para poder consultarlos rápidamente. Después, podemos crear una interfaz de usuario, construida en Power App Canvas, donde el usuario pueda introducir sus preferencias o gustos sobre películas. Estas preferencias también se convierten en un vector usando los Embeddings de Azure Open AI. Finalmente, podemos usar una función, como la distancia coseno, para medir la similitud entre el vector del usuario y los vectores de las películas, y devolver las más cercanas como recomendaciones.

¿Qué ventajas tiene este enfoque?

Al usar los Azure Open AI Embeddings, podemos crear un recomendador de películas que se adapte a los gustos personales del usuario, sin necesidad de tener información sobre sus valoraciones o historial de visualización. Además, podemos aprovechar el poder de los modelos de lenguaje natural para entender el significado y el contexto de las descripciones y las preferencias, sin tener que definir reglas o categorías fijas. Además, podemos implementar todo esto usando herramientas lowcode, como Power Platform, que nos facilitan el desarrollo y la integración con estos servicios de Azure.

Espero que os haya gustado esta sesión y que os animéis a probar los Azure Open AI Embeddings en vuestros proyectos. Si queréis saber más sobre este tema os dejo la sesión completa del evento Global Azure 2023. ¡Hasta el próximo evento!