top of page
  • Foto del escritorMaría Soto

SevillaDotNETConf 2023: Azure OpenAI embeddings

Actualizado: 16 may 2023

Para la charla de la Sevilla DotNet preparé una demo que utilizaba el servicio de embedding de Azure OpenAI para hacer búsquedas semánticas y recomendaciones de productos.


La principal ventaja que tiene los embeddings con respecto a las llamadas de GPT 3 o GPT 4 es que puedes acotar las búsquedas de información a unos determinados documentos, productos, textos o datos.


¿Qué son los embedings?


  • Representaciones vectoriales de texto, cuanto más similares sean dos textos más cercana será la distancia de sus dos vectores.

  • Para saber la distancia entre dos vectores se calcula la distancia similitud coseno entre dos vectores de embeddings. Cuánto menos distancia, más similitud hay entre los dos vectores.


En este ejemplo podemos ver en una gráfica la representación de 2D de los vectores correspondientes a 300 reseñas de reviews de comida, gracias al modelo de embeddings de OpenAI, detecta textos de reseñas similares y los posicona cerca en la gráfica.



Principales casos de uso de los embeddings

  • Búsquedas semánticas o de contenido similar

  • Clasificación o agrupación de términos

  • Recomendaciones de productos


Llamada a la API de Azure OpenAI embeddings


Desde esta url podemos ver cómo es la url de llamada del servicio de Azure OpenAI, y cuáles son los parámetros obligatorios y su respuesta.



La única pega que tiene este servicio es que a día de hoy solo se le puede pasar un array de un elemento con el texto que queremos convertir a embedding, no nos deja pasarle varios a la vez, ralentiza el cálculo pero se supone que pronto sacan la versión que si lo soporta.


Si se llama al servicio de OpenAI, si podríamos obtener en una sóla llamada un array de varios embeddings correspondientes a varios textos.


Aquí el vídeo con la demo que enseñé en el que recomiendo películas en base a los gustos del usuario.




Dejo el código del fichero js y html https://github.com/MeryPonfe/EmbeddingsAzureOpenAI




bottom of page