Es crucial que los clientes puedan encontrar los productos que buscan de manera fácil y rápida. A menudo, los clientes no conocen el nombre exacto de un producto, lo que puede llevar a la frustración si no lo encuentran. En este tutorial aprenderás cómo implementar una búsqueda de productos difusa con la API de OpenAI. Utilizaremos un truco para asegurarnos de que incluso nombres de productos similares o con errores conduzcan con éxito a los productos correctos.

Principales conclusiones

  • La búsqueda estándar requiere coincidencias exactas de los nombres de los productos.
  • Una búsqueda difusa de productos se puede implementar devolviendo todos los nombres de los productos cuando la coincidencia exacta falla.
  • La IA puede luego seleccionar el nombre correcto de entre los nombres de productos similares y devolver la descripción del producto correspondiente.

Guía paso a paso

Para construir una búsqueda difusa de productos, sigue los siguientes pasos.

Paso 1: Identificación del problema

Primero debemos identificar el problema básico: la búsqueda de un producto es demasiado exacta. Si el nombre del producto que ingresa el cliente no coincide exactamente con el de la base de datos, el producto no se encuentra. En un ejemplo anterior, vimos que al ingresar "en77" no se encontró ningún producto porque el nombre real era "Nice en 77". Aquí podría ser útil una captura de pantalla de este error.

Implementación de una búsqueda de productos difusa con la API de OpenAI

Paso 2: Ajuste de la lógica de búsqueda

Para solucionar este problema, debemos cambiar la lógica de la descripción del producto. Modificamos la función "encontrar producto" para que devuelva todos los nombres de productos disponibles si no se encuentra un producto bajo el nombre exacto. De esta manera, nos aseguramos de que la IA pueda buscar de forma autónoma el nombre más cercano que coincida. Agrega el siguiente código a la descripción de la función: "si el producto no se encuentra bajo el nombre exacto, esta función devolverá todos los nombres de productos disponibles". Este paso ayuda a la IA a encontrar la coincidencia correcta cuando no hay un nombre exacto disponible.

Implementación de una búsqueda de productos difusa con la API de OpenAI

Paso 3: Actualización de la descripción de parámetros

Una vez que hayamos cambiado la lógica, es importante actualizar también la descripción de los parámetros. Utiliza la siguiente formulación: "el nombre del producto o el nombre del modelo a encontrar". Esto indica claramente que la función también puede buscar nombres similares si no hay una coincidencia exacta.

Implementación de una búsqueda de productos borrosa con la API de OpenAI

Paso 4: Ajuste de las llamadas a la función

Es necesario cambiar el manejo de las llamadas a funciones. Si el nombre del producto se encuentra con éxito y tenemos el ID del producto, se devuelve la descripción como antes. Sin embargo, si el nombre del producto no se encuentra directamente, creamos una matriz de nombres de productos que incluye todas las clave en la base de datos. Esta matriz se utiliza luego para hacer visibles los posibles nombres de productos para la IA, que luego puede identificar la coincidencia deseada.

Implementación de una búsqueda de productos difusa con la API de OpenAI

Paso 5: Prueba de la nueva lógica

Después de implementar los cambios, deberías probar la nueva lógica. Por ejemplo, ingresa "do you have the en77" sin espacios y sin el nombre completo. Así podrás verificar si la función ahora es capaz de encontrar el producto correcto. El resultado debería indicar que el producto "Nice en77" está disponible. Este es un gran avance, ya que la búsqueda ahora también funciona con entradas difusas.

Implementación de una búsqueda de productos difusa con la API de OpenAI

Paso 6: Consulta de descripción del producto

Ahora puedes probar si la descripción del producto se devuelve correctamente. Pregunta a la IA por más información diciendo: "please first give me more information about this guitar". La IA debería devolver entonces la descripción correspondiente, basada en el nombre del producto encontrado. Aquí se hace evidente que la lógica funciona y proporciona la información correcta.

Implementación de una búsqueda de productos difusa con la API de OpenAI

Paso 7: Agregar al carrito

Una vez que hayas recibido la descripción, puedes intentar agregar el producto al carrito de compras. Usa el comando: "añadir mi Carro de la Compra". Esta función debería ejecutarse sin problemas en este momento, y el producto debería ser añadido correctamente al carrito. Esto también demuestra que toda la estructura de comunicación está funcionando correctamente.

Implementación de una búsqueda de productos difusa con la API de OpenAI

Paso 8: Conclusión y Perspectivas

Con esta técnica has implementado con éxito una búsqueda de productos borrosa que permite a la inteligencia artificial manejar mejor las entradas de los usuarios. En nuestro ejemplo simple, teníamos solo una cantidad limitada de productos, lo que hizo que la asignación fuera fácil. Sin embargo, en una base de datos más grande con más de 1000 productos, podría ser necesario explorar técnicas adicionales como Embeddings para capturar mejor las similitudes. Esto nos ayudará a buscar de manera eficiente incluso en conjuntos de datos más extensos.

Implementación de una búsqueda de productos borrosa con la API de OpenAI

Resumen

En resumen, esta guía muestra cómo implementar una búsqueda de productos borrosa con un flujo preciso para facilitar la búsqueda de productos a los clientes, incluso si no están seguros de cómo se llama el producto. Los cambios en la lógica de búsqueda y ajustes de parámetros permiten una solución eficiente, fácil de implementar y que mejora la experiencia del usuario.

Preguntas Frecuentes

¿Cómo funciona la búsqueda de productos borrosa?La búsqueda de productos borrosa devuelve todos los nombres de productos si no se encuentra ningún resultado en la búsqueda exacta, para que la IA pueda seleccionar el nombre correcto.

¿Qué debo cambiar en la función "encontrar producto"?Debes cambiar la lógica para que devuelva todos los nombres de productos si no hay una coincidencia exacta.

¿Cómo pruebo la nueva lógica de búsqueda?Ingresa un nombre de producto borroso, por ejemplo, "¿tienes el en77?", y verifica si se encuentra el producto correcto.

¿Cómo maneja la IA cientos de productos?La IA puede manejar cientos de productos siempre y cuando no se excedan los límites de tokens, sin embargo, para conjuntos de datos más grandes, los Embeddings pueden ser una mejor opción.

¿La búsqueda funciona también con grandes bases de productos?Sí, la lógica principal también funciona con bases de productos más grandes, sin embargo, es posible que se requieran técnicas adicionales para garantizar la eficiencia y precisión.