Hola a todos. Bienvenidos a mi charla en React Day Berlin. Soy Shabal Amba. Trabajo como evangelista de desarrolladores en Couchbase, que es una plataforma de base de datos NoSQL que empodera a los desarrolladores, incluyendo muchas capacidades de IA que se están implementando con soporte para búsqueda vectorial.
Así que la sesión de hoy girará en torno a descifrar la búsqueda vectorial y los embeddings para desarrolladores de React. Ahora imagina que eres como Joey de Friends y estás sentado en un sofá realmente bonito. Por supuesto, a todos nos encanta el sofá y tener una buena silla, ¿verdad? Así que, por supuesto, si eres un desarrollador de software, probablemente amarás tu silla de trabajo o si simplemente estás disfrutando viendo una película y disfrutando de balancearte detrás con una silla realmente agradable. Así que, por supuesto, a todos nos encanta eso. Y si lo usas demasiado, a veces podrías ver que tu silla simplemente se rompe. Así que, por supuesto, el siguiente paso sería que podrías querer buscar ese tipo particular de silla que realmente amas. Así que podrías tener una consulta de búsqueda en una plataforma de comercio electrónico donde buscas Estoy buscando una silla vieja, que sea muy cómoda. Tiene un color marrón porque realmente no puedes recordar la marca exacta de esa silla particular que estás buscando, porque es tan vieja.
Y, por supuesto, ¿qué pasaría si dieras una descripción tan descriptiva de la silla cuando avanzas e intentas buscar con este tipo de descripción en diferentes plataformas de comercio electrónico? Veamos qué sucede realmente. Entonces, ¿crees que Joey podrá realmente encontrar esa misma silla que está buscando? Bueno, según muchas encuestas, el 88% de los usuarios no podrán realmente encontrar lo que están buscando, y no regresan a un sitio web después de una experiencia tan mala donde no encuentran o no pueden encontrar lo que buscan. Y el 61% de los usuarios dicen que no pueden realmente encontrar lo que buscan en cinco segundos. Y si eso sucede, realmente irán al siguiente sitio para encontrar los resultados.
Así que, por supuesto, si pongo esa misma descripción dentro de una plataforma de comercio electrónico, entonces, ¿qué sucedería? Entonces, si vas y buscas ese tipo particular de silla, probablemente no podremos encontrar lo mismo que estamos buscando. Encontramos un montón de otras sillas aleatorias que no coinciden con la descripción que estamos tratando de buscar. Entonces, ¿qué significa eso sobre las experiencias de búsqueda? Vimos que no encontramos ninguna silla marrón, ninguna silla marrón terrosa, ningún reclinador manual o reclinador automático. Pero al menos estas eran sillas, pero aún no cumplían con nuestra descripción que queríamos encontrar. Así que esa es la razón por la cual la búsqueda tradicional está realmente rota.
Así que de lo que vamos a hablar hoy, vamos a hablar sobre qué es un vector, qué son los embeddings, qué es la búsqueda vectorial, y luego cómo se aplica realmente para nosotros los desarrolladores de React o Next.js. Así que vimos que, por supuesto, la búsqueda tradicional, que se basa típicamente en la búsqueda de texto completo, donde cualquier consulta de usuario que se envíe, tratamos de coincidir con la consulta de búsqueda exacta y tratamos de encontrar resultados en nuestra base de datos que coincidan con la palabra exacta por palabra o texto por letra o letra por letra basada en la consulta de búsqueda que has enviado. Así que si tienes una descripción muy vaga como Estoy buscando una silla marrón realmente bonita que sea reclinable, si ese mismo texto no existe en tu base de datos, entonces no podrás realmente encontrar resultados para eso. Así que veamos cómo podemos superar ese problema particular. Así que primero, entendamos qué es exactamente un vector. Así que de nuevo, una advertencia de que si eres un desarrollador de React o un desarrollador de JavaScript, esto involucrará muchos números. Bueno, un vector es una lista de números que puede representar palabras, frases, imágenes y mucho más. Y aquí, cada número en esta lista particular básicamente tendrá alguna información sobre el significado de ese texto particular que estás mostrando. Y un embedding o un vector embedding básicamente convierte estas palabras o frases en estas listas de números de baja dimensión. Y estos embeddings son muy compactos y ayudan a hacer tareas como buscar y organizar estos textos muy fáciles.
Comments