Ing. Javier Rivera
Nov. 2025
Buscador con inteligencia Artificial.
Cómo usamos espacios vectoriales para construir el buscador con IA de Celovendo
Autor: Ing. Javier Rivera Urruela. Nov. 2025.
En Celovendo desarrollamos el que probablemente ha sido nuestro proyecto más desafiante: un buscador con IA para repuestos que entiende el significado semántico de lo que el usuario quiso decir, incluso si escribe el modelo incompleto, con errores o usando sinónimos. Detrás de lo que a simple vista parece “solo un buscador” hay bastante geometría, modelos de lenguaje modernos y muchas horas de ingeniería.
Un buscador clásico se limita a comparar palabras: toma el texto que escribes, lo divide en términos y busca coincidencias en títulos o descripciones. Eso funciona mientras el usuario escriba “exactamente como el catálogo”, pero se rompe en cuanto entra la realidad: mezclas de inglés y español, errores de dedo, nombres abreviados, sinónimos y formas muy distintas de pedir el mismo producto. Nuestro objetivo era otro: que el sistema pudiera entender la intención y no solo el texto literal.
Para lograrlo construimos nuestro propio motor de busqueda en Python y trabaja sobre una base de datos relacional a la que añadimos capacidades de búsqueda vectorial. Usamos modelos de lenguaje modernos para transformar tanto las consultas de los usuarios como la información de los productos en vectores dentro de un espacio de muchas dimensiones. Encima de eso, desarrollamos un algoritmo de búsqueda que combina una capa semántica con una capa más tradicional de búsqueda de texto y, finalmente, una capa de re-ranking donde aplicamos lógica del negocio y señales internas que hemos ido aprendiendo en producción.
Medimos angulos entre vectores
La idea central es sencilla pero poderosa: representar texto como vectores. Un vector, dicho en simple, es una lista ordenada de números que representa algo en un espacio geométrico. Igual que un punto en un plano puede escribirse como (x, y), un texto puede representarse como un punto en un espacio de cientos o miles de dimensiones. Ese conjunto de todos los vectores posibles es lo que llamamos un espacio vectorial: un “mundo” en el que podemos sumar vectores, escalarlos y, sobre todo, hablar de distancias y ángulos entre ellos. Cuando estudié esto por primera vez en la Universidad del Valle, en la clase de álgebra lineal, jamás creí que sería útil, pero resultó vital para este proyecto y tiene muchas otras aplicaciones prácticas. Todo lo que se aprende en la vida sirve, es nuestra obligación hacer lo mejor con lo que nos da Dios.
Ahí es donde aparece la magia de los modelos semánticos modernos: frases que significan cosas parecidas tienden a convertirse en vectores que quedan relativamente cerca y apuntan en direcciones similares. Consultas como "bocinas para la playa" o "equipos de sonido impermeables" son textos distintos, pero en este espacio vectorial terminan agrupados en la misma zona. En lugar de trabajar solo con palabras, trabajamos con direcciones en un espacio de alta dimensión.
Entiende el significado semántico de la búsqueda, no solo compara palabras.
Combinamos tecnologías.
Para medir qué tan parecidos son dos significados usamos ideas geométricas básicas. Una forma de verlo es la distancia: si dos vectores están cerca, representan cosas similares; si están muy lejos, representan cosas distintas. Otra forma es mirar el ángulo entre ellos: imaginando cada vector como una flecha desde el origen, si dos flechas apuntan casi al mismo lugar, el ángulo es pequeño; si apuntan en direcciones completamente distintas, el ángulo se acerca a 180 grados.
Usamos una medida conocida como similitud del coseno, que captura precisamente ese ángulo entre vectores. Valores cercanos a 1 indican significados muy alineados; valores cercanos a 0 indican que no tienen casi nada que ver.
Nuestro buscador semántico se apoya en este tipo de medidas. Cada vez que alguien escribe una consulta, la transformamos en un vector y la comparamos con los vectores de nuestro catálogo de productos. El sistema busca aquellos que “apuntan” en direcciones similares y arma una primera lista de posibles coincidencias. A partir de ahí entra lo que realmente marca la diferencia: una capa de re-ranking propia, donde combinamos esa similitud geométrica con diversas señales internas del negocio para decidir qué mostrar primero. No detallamos esa fórmula porque es precisamente parte de nuestro aprendizaje y de nuestra ventaja competitiva, pero la idea general es que el orden final de los resultados no depende solo de la matemática de los vectores, sino también de cómo entendemos nuestro catálogo y el comportamiento real de los clientes.
Además de la capa semántica, mantenemos un conjunto de mecanismos más “clásicos” de búsqueda por texto que siguen siendo útiles para ciertos tipos de consultas muy estructuradas. El sistema decide cómo combinar estas piezas según la entrada del usuario, sin exigir que este sepa exactamente cómo escribir el nombre de un repuesto para encontrarlo.
Lo más interesante es que esto es solo el principio. Estoy seguro de que esta será la versión más tonta de nuestro buscador con IA, todo el código está hecho para poderse actualizar fácilmente a medida que la tecnología avance.
Hasta ahora trabajamos principalmente con texto: lo que el cliente escribe y lo que nosotros usamos para describir productos. El siguiente paso natural es llevar la misma idea al mundo visual: vectorizar también las fotos de los productos para capturar su significado en un espacio vectorial, de manera que imágenes que muestran repuestos similares queden cerca entre sí. Eso abre la puerta a búsquedas donde una foto pueda servir como entrada para encontrar el repuesto correcto, o donde el sistema pueda combinar de forma inteligente la información textual y visual en el mismo espacio de representación.
Para nosotros, este proyecto ha sido, además de un reto técnico, una forma de invertir en la experiencia del usuario: que alguien llegue a la tienda sienta que el buscador leyó su mente. Será crucial y parte de futuros desarrollos que lo utilizarán para mejorar le experiencia del cliente como chatbots inteligentes, agentes de IA que atiendan llamadas etc.
Detrás de esa sensación hay vectores, espacios de alta dimensión, ángulos, modelos de lenguaje, base de datos con capacidades vectoriales y muchas iteraciones; pero en el fondo el objetivo es muy simple: conectar más rápido a cada persona con el producto que realmente necesita.
Si te pareció interesante y te gustaría implementar esta tecnología en tu propia aplicación o sitio web, no dudes en contactarme. Me dedico a automatizar procesos e implementar tecnología de IA en empresas.
