Búsqueda vectorial y RAG: equilibrio entre precisión y contexto
Introducción
Los modelos de lenguaje grandes (LLMs) han logrado avances significativos, especialmente en aprendizaje automático y procesamiento del lenguaje natural, haciendo que las máquinas manejen tareas complejas con facilidad. Sin embargo, a medida que la tecnología de los LLM crece, se ha enfrentado a un problema único: las alucinaciones de IA. Esto ocurre cuando la IA genera información incorrecta o falsa, lo que nos hace cuestionar cuán confiables son estos sistemas. Christy Bergman, Developer Advocate en Zilliz con amplia experiencia en IA/ML, habló recientemente sobre el impacto de estas alucinaciones y cómo afectan el despliegue de sistemas de IA en el Unstructured Data Meetup.
Durante su presentación, Christy analizó qué causa las alucinaciones de IA y sus efectos. También mencionó el concepto principal llamado Retrieval Augmented Generation (RAG), un método utilizado para hacer que los modelos de lenguaje sean más confiables al proporcionar información relevante y actual relacionada con la pregunta de un usuario. Esta técnica ayuda a garantizar que los modelos puedan acceder a los datos más recientes, como noticias o investigaciones recientes, para dar mejores respuestas y reducir errores.
Comprender las alucinaciones de IA
Las alucinaciones de IA se refieren al fenómeno en el que los sistemas de inteligencia artificial, particularmente aquellos basados en modelos de lenguaje grandes, generan resultados objetivamente incorrectos, engañosos o completamente fabricados.
Este problema puede ocurrir por varias razones:
Falta de contexto: Los modelos de IA pueden no tener suficiente contexto para generar respuestas precisas, especialmente cuando tratan consultas complejas o matizadas.
Problemas con los datos de entrenamiento: Los datos utilizados para entrenar modelos de IA pueden contener errores, sesgos o información desactualizada, que los modelos pueden replicar inadvertidamente.
Sobregeneralización: Los modelos de IA podrían sobregeneralizar a partir de sus datos de entrenamiento, lo que lleva a extrapolaciones incorrectas cuando se enfrentan a entradas novedosas.
Limitaciones de diseño: Algunas arquitecturas de IA no están diseñadas para verificar la veracidad de sus resultados, centrándose en cambio en generar respuestas estadísticamente probables basadas en sus datos de entrenamiento.
Christy dio un gran ejemplo de esto en el Unstructured Data Meetup. Le pidió al sistema de IA "Gemini" que enumerara tres políticos nacidos en Nueva York, e incluyó a Hillary Clinton, lo cual es incorrecto porque nació en Chicago.
Este ejemplo demuestra cómo la IA puede cometer errores, incluso en preguntas simples y directas.
Como mencionó Christy: “Ten en cuenta que los LLM pueden entrenarse con fuentes no convencionales, como Reddit, lo que puede llevar a resultados inusuales.”
Cómo RAG mitiga las alucinaciones
Retrieval Augmented Generation (RAG) es un enfoque avanzado en el procesamiento del lenguaje natural que busca mejorar la precisión y confiabilidad de los modelos de IA, particularmente en la reducción de alucinaciones.
Christy explicó que RAG es un método nuevo para integrar tus propios datos en el proceso de IA generativa. Así es como funciona en términos simples:
Comienzas introduciendo tus datos en un modelo de embeddings. Este modelo convierte la información en un conjunto de números llamados vectores, que luego se almacenan en una base de datos vectorial.
Cuando haces una pregunta, el mismo modelo de embeddings también transforma tu consulta en un vector, y luego busca los vecinos vectoriales más cercanos en esta base de datos o espacio vectorial. Una vez que encuentra la coincidencia más cercana, la utiliza como contexto, junto con tu pregunta, para generar el prompt del modelo de lenguaje grande. De esta manera, obtienes una respuesta que es más probable que sea precisa.
Ahora, así es como RAG aborda las alucinaciones de la IA:
1. Mantenerse actualizado: Los modelos RAG pueden incorporar los datos más recientes, asegurando que sus respuestas se basen en la información más actual.
2. Precisión y detalle: Estos modelos están diseñados para proporcionar respuestas precisas mediante la recuperación de información específica y relevante. Este proceso reduce la probabilidad de generar contenido falso o inventado y garantiza que las respuestas sean detalladas y estén adaptadas con precisión a la pregunta, evitando afirmaciones demasiado generales.
Desafíos de crear un sistema RAG
Crear un sistema de Generación Aumentada por Recuperación (RAG) implica varios pasos y decisiones complejos. Estos son algunos desafíos clave:
Elegir un modelo de embeddings
Al elegir un modelo de embeddings, puedes centrarte en algunos factores clave:
Dimensión del vector: Elige modelos que produzcan vectores de un tamaño con el que sea fácil trabajar.
Rendimiento de recuperación: Observa qué tan bien funcionan los modelos conocidos de lugares como Cohere y Voyager.
Tamaño del modelo: Considera el tamaño del modelo para asegurarte de que se ajuste a tus capacidades computacionales.
Precisión: Asegúrate de que el modelo pueda captar los detalles finos importantes para tu campo o producto.
Escalabilidad: Asegúrate de que el modelo pueda manejar más datos a medida que crecen tus necesidades.
Y en cuanto a tus opciones, puedes elegir entre:
Modelos de código abierto: Están disponibles gratuitamente y pueden compararse y seleccionarse en plataformas como el hub de modelos de embeddings de Hugging Face.
Modelos propietarios: Empresas como Cohere u OpenAI ofrecen modelos que podrían tener funciones únicas o un mejor rendimiento para tareas específicas, pero tienen un coste.
Elegir un índice
Seleccionar una estructura de índice adecuada es fundamental para el rendimiento del sistema. Esto implica considerar:
Escalabilidad: El índice debe poder escalar a millones o miles de millones de documentos sin volverse prohibitivamente lento.
Huella de memoria: El uso eficiente de la memoria es importante, especialmente cuando se trabaja con grandes conjuntos de datos.
Velocidad de recuperación frente a precisión: A menudo existe un equilibrio entre la rapidez con la que se pueden recuperar los documentos y la precisión con la que coinciden con la consulta.
Fragmentación
La fragmentación implica dividir documentos en partes más pequeñas y semánticamente coherentes para facilitar una recuperación más precisa.
Determinar el tamaño del fragmento: Demasiado grande, y los fragmentos pueden estar menos enfocados; demasiado pequeño, y podría perderse contexto importante.
Mantener la coherencia: Garantizar que cada fragmento siga siendo significativo y coherente por sí solo.
Gestionar solapamientos: Decidir cómo gestionar la información que podría encajar en múltiples fragmentos.
Palabras clave o búsqueda semántica
La elección entre la búsqueda basada en palabras clave y la búsqueda semántica puede afectar la capacidad del sistema para entender y responder a las consultas.
Aunque la búsqueda por palabras clave puede parecer simple y rápida, no encontrar documentos que no contienen las palabras clave exactas, aunque sean semánticamente relevantes, puede afectar enormemente nuestra precisión. Por el contrario, la búsqueda semántica ofrece una comprensión más profunda de la intención de la consulta, pero requiere más recursos computacionales y modelos sofisticados.
Reordenadores
Los reordenadores son modelos o algoritmos adicionales que refinan los resultados iniciales de recuperación, con el objetivo de mejorar la relevancia y la precisión de los documentos seleccionados para generar la respuesta final. La cuestión es si vale la pena usarlos y qué necesitamos para integrarlos correctamente.
Integración: Los reordenadores deben integrarse sin problemas en el sistema sin introducir una latencia significativa.
Datos de entrenamiento: Como otros modelos, los rerankers necesitan datos de entrenamiento de alta calidad y representativos para ser eficaces.
Ajuste: Encontrar el equilibrio adecuado entre la recuperación inicial y la fase de reranking puede ser desafiante.
¿Está muerto RAG?
Una pregunta de la charla de Christy que me ha estado rondando últimamente es si RAG sigue siendo la estrella del espectáculo ahora que los LLMs de contexto largo están mejorando su juego.
Los avances recientes en LLMs de contexto largo han planteado preguntas sobre el futuro de las técnicas de Generación Aumentada por Recuperación (RAG). Con modelos como Claude o Gemini 1.5 Pro, que pueden procesar hasta 10 millones de tokens, algunos argumentan que el enfoque de recuperación dinámica de RAG ya no es necesario.
El enfrentamiento: ¿Puede el contexto largo prescindir de RAG?
Esta es la pregunta de la que todos hablan. Vamos a desglosarla.
Costo y eficiencia:
La naturaleza frugal de RAG, tomando solo lo que necesita, ahorra costos de computación. Pero a medida que bajan los precios de la tecnología de IA, los LLMs de contexto largo se vuelven más asequibles. Aquí está muy parejo.
Dinámicas de recuperación y razonamiento:
Los LLMs de contexto largo combinan su razonamiento con la recuperación de información, creando un toque más personalizado en las respuestas. La captura inicial de información de RAG puede sentirse un poco robótica en comparación.
Escalabilidad y complejidad de datos:
La capacidad de RAG para manejar billones de tokens es su carta de triunfo, lo que lo convierte en el rey para manejar conjuntos de datos masivos y en constante cambio. Los LLMs de contexto largo quedan atrás aquí.
Colaboración por encima de la competencia:
¿Por qué no usar ambos? Combinar la precisión de RAG con la adaptabilidad de los modelos de contexto largo podría conducir a una poderosa sinergia.
OpenAI RAG vs. tu RAG personalizado
Bueno, ya has visto qué es RAG y los desafíos que presenta. Ahora, es momento de profundizar en los aspectos técnicos de construir un RAG. Específicamente, hablaremos del RAG de OpenAI y cómo se compara con construir un RAG personalizado usando bases de datos vectoriales como Milvus.
Una gran pregunta hecha por un miembro de la audiencia fue “¿Cuáles son las razones para hacer un RAG personalizado en lugar de un RAG de Open AI?”
Como mencionó Christy, la parte más importante es “Para que puedas tener más información sobre el sistema RAG, lo cual no tienes usando Open AI; como desarrollador, sabes qué ajustar”
El papel de OpenAI Assistant API en la construcción de RAG
La OpenAI Assistant API es una herramienta poderosa que te permite crear asistentes de IA dentro de tus propias aplicaciones. Un Assistant tiene instrucciones y puede usar modelos, herramientas y archivos para responder a las consultas de los usuarios. Esta API es ideal para aplicaciones que necesitan conversaciones atractivas y a largo plazo, como soporte al cliente o asistentes personales virtuales.
Comparación entre OpenAI RAG y RAG personalizado
Christy demostró dos enfoques para construir un RAG: uno usando la OpenAI API y otro personalizándolo con una base de datos vectorial llamada Milvus. Esta comparación nos ayudará a entender las diferencias y beneficios de cada enfoque..
Estas son las diferencias clave entre OpenAI RAG y RAG personalizado.
| Criterios | RAG de OpenAI | RAG personalizado |
| Idoneidad de la aplicación | Bueno para atención al cliente, asistentes personales virtuales y conversaciones a largo plazo | Excelente para asistencia en investigación académica, consultas complejas y datos basados en hechos |
| Rendimiento y escalabilidad | Tiempos de respuesta rápidos y alta eficiencia | Puede experimentar tiempos de respuesta más lentos debido a la recuperación de la base de datos |
| Complejidad de implementación | Fácil de configurar y usar | Requiere experiencia en integración de modelos de IA y gestión de bases de datos |
| Consideraciones de costos | Precios basados en el uso | Los costos incluyen recursos computacionales y mantenimiento de bases de datos |
Un enfoque RAG personalizado que utiliza bases de datos vectoriales como Milvus ofrece más flexibilidad y control, pero requiere más experiencia y recursos
¿Quieres ver el código en acción? ¡Consulta este notebook para ver un ejemplo práctico!
Métodos de evaluación de RAG
Para evaluar una canalización RAG, debes analizar ambas partes por separado y en conjunto. También necesitas comprobar si el rendimiento está mejorando. Para hacer esto, necesitas dos cosas: una métrica de evaluación y un conjunto de datos.
Como Christy abordó esta parte en su charla, el enfoque principal que mencionó fue “¿Tu respuesta está fundamentada y responde fielmente a la pregunta?”
Una de las herramientas que Christy mencionó es Truera, una plataforma que ayuda a evaluar y optimizar aplicaciones de Modelos de Lenguaje Grandes (LLM).
Con Truera, puedes:
Evaluar tus aplicaciones LLM
Optimizar tu elección de aplicaciones LLM usando funciones de retroalimentación y seguimiento de aplicaciones
Minimizar las alucinaciones aprovechando funciones como la tríada RAG y otras funciones de retroalimentación listas para usar
Monitorear y hacer seguimiento de aplicaciones LLM en producción a escala, creando paneles de control responsivos y configurando alertas accionables
Christy también habló sobre RAGAs, es un marco, diseñado específicamente para evaluar canalizaciones RAG. Ofrece todas las necesidades técnicas para evaluar cada componente de la canalización de forma aislada.
RAGAs necesita la siguiente información:
· Pregunta: La consulta del usuario
· Respuesta: La respuesta generada
· Contextos: La información recuperada de la fuente de conocimiento externa
· Verdades fundamentales: La respuesta correcta a la pregunta (solo necesaria para una métrica)
RAGAs proporciona varias métricas para evaluar la canalización, incluyendo:
· Precisión del contexto: Qué tan relevante es la información recuperada
· Exhaustividad del contexto: Si se recuperó toda la información relevante
· Fidelidad: Qué tan precisa es la respuesta generada
· Relevancia de la respuesta: Qué tan relevante es la respuesta generada para la pregunta
Evaluación de LLMs usando otros LLMs como juez
Evaluar modelos de lenguaje grandes (LLMs) puede ser un desafío. Una solución es hacer que los LLMs se evalúen entre sí. Este proceso implica generar casos de prueba y medir el rendimiento del modelo.
Así es como funciona:
Generación automática de pruebas: Un LLM crea una variedad de casos de prueba, incluyendo diferentes entradas, contextos y niveles de dificultad.
Métricas de evaluación: El LLM evaluado resuelve los casos de prueba, y su rendimiento se mide usando métricas como precisión, fluidez y coherencia.
Comparación y clasificación: Los resultados se comparan con una línea base u otros LLMs, mostrando las fortalezas y debilidades de cada modelo.
Un punto interesante mencionado por Christy que es verdaderamente intrigante es “GPT se clasifica a sí mismo más alto cuando es el juez”, lo que muestra otro aspecto que debemos considerar al evaluar los LLMs para garantizar la precisión.
quizás quieras consultar este artículo para profundizar en el tema.
Conclusión
¡Y eso es todo! Hemos cubierto las alucinaciones de IA y cómo RAG puede ayudar a resolver el problema. Christy ofreció una excelente explicación de cómo construir RAG requiere elecciones cuidadosas de modelos de embedding, índices y enfoques de búsqueda semántica. Al abordar el problema de las alucinaciones de IA y aprovechar la recuperación dinámica de información actualizada, RAG ofrece una herramienta poderosa para crear sistemas de IA más fiables y conscientes del contexto.
El camino para construir un sistema RAG implica decisiones cuidadosas sobre modelos de embedding, indexación y manejo de conjuntos de datos enormes. Aunque es desafiante, las recompensas en términos de rendimiento y precisión son sustanciales.
Ya sea que te intriguen los matices técnicos o te inspiren las aplicaciones prácticas, ahora es el momento perfecto para adentrarte en RAG. Experimenta con bases de datos vectoriales como Milvus, intégralas con técnicas de búsqueda avanzadas y observa de primera mano cómo RAG puede transformar la recuperación de datos y las interacciones con IA.
Sigue leyendo

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

How to Choose the Best Embedding Model for RAG in 2026: 10 Models Benchmarked
We benchmarked 10 embedding models on cross-modal, cross-lingual, long-document, and dimension compression tasks. See which one fits your RAG pipeline.


