RAG de OpenAI vs. tu RAG personalizado: ¿cuál es mejor?
Esta publicación se publicó originalmente en The New Stack y se republica aquí con permiso.
La reciente introducción de la función de recuperación de OpenAI Assistants ha suscitado importantes debates en la comunidad de IA. Esta función integrada incorpora las capacidades de Retrieval Augmented Generation (RAG) para responder preguntas, lo que permite a los modelos de lenguaje GPT recurrir a conocimientos adicionales para generar respuestas más precisas y relevantes. En una publicación anterior, exploramos las limitaciones de la recuperación RAG integrada de OpenAI y analizamos situaciones en las que crear una solución de recuperación personalizada podría ser beneficioso.
En esta publicación, profundizaremos en este tema comparando el rendimiento de RAG de OpenAI con un RAG personalizado creado sobre una base de datos vectorial como Milvus. Evaluaremos las fortalezas, debilidades y matices de cada enfoque, para finalmente responder a la pregunta crucial: ¿cuál es mejor?
¿Qué es Retrieval Augmented Generation (RAG)?
Antes de evaluar el RAG integrado de OpenAI frente a los sistemas RAG personalizados, empecemos por entender qué es RAG.
RAG, o Retrieval Augmented Generation, es un marco de IA que recupera hechos de una base de conocimiento externa para garantizar que los modelos de lenguaje grandes (LLMs) se basen en la información más precisa y actualizada. Un sistema RAG típico consta de un LLM, una base de datos vectorial como Milvus y algunos prompts como código.
Herramienta de evaluación de RAG: Ragas
Evaluar el rendimiento de RAG es una tarea compleja. Necesitamos una herramienta de evaluación de RAG justa y objetiva para evaluar múltiples métricas en un conjunto de datos adecuado, garantizando resultados reproducibles.
Ragas es un framework de código abierto dedicado a evaluar el rendimiento de los sistemas RAG. Proporciona una serie de métricas de puntuación que miden diferentes aspectos de un sistema RAG para ofrecer una evaluación integral y desde múltiples ángulos de la calidad de las aplicaciones RAG.
Esta publicación utilizará fidelidad, relevancia de la respuesta, precisión del contexto, similitud de la respuesta y corrección de la respuesta como métricas principales para evaluar OpenAI RAG y nuestros sistemas RAG personalizados.
Fidelidad: Evaluar la precisión factual de la respuesta generada en el contexto dado.
Relevancia de la respuesta: Evaluar la relevancia de la respuesta generada con respecto a la pregunta.
Precisión del contexto: Relación señal-ruido en el contexto recuperado.
Corrección de la respuesta: Evaluar la precisión de la respuesta generada en comparación con la verdad de referencia.
Similitud de la respuesta: Evaluar la semejanza semántica entre la respuesta generada y la verdad de referencia.
Consulta la documentación de Ragas para obtener información más detallada sobre Ragas y todas las métricas.
Conjunto de datos de evaluación de RAG: FiQA
Hemos seleccionado el conjunto de datos Financial Opinion Mining and Question Answering (FiQA) para nuestra evaluación. Este conjunto de datos tiene varias características que lo hacen ideal para nuestra evaluación, entre ellas:
Contiene conocimiento financiero altamente especializado que probablemente no esté presente en los datos de entrenamiento de los modelos GPT.
Se diseñó inicialmente para evaluar capacidades de recuperación de información y, por lo tanto, proporciona fragmentos de conocimiento bien anotados que sirven como respuestas estándar (verdad de referencia).
Ragas y su comunidad han reconocido ampliamente FiQA como un conjunto de datos de prueba introductorio estándar.
Configuración de los sistemas RAG
Ahora, construyamos los dos sistemas RAG para compararlos: un RAG de OpenAI y un RAG personalizado basado en la base de datos vectorial Milvus.
Configuración del RAG de OpenAI
Crearemos un sistema RAG utilizando OpenAI Assistants siguiendo la documentación oficial de OpenAI, incluida la construcción de los Assistants, la carga del conocimiento externo, la recuperación de información contextual y la generación de respuestas. Todas las demás configuraciones permanecerán predeterminadas.
Configuración de un RAG personalizado usando Milvus
Debemos configurar manualmente el sistema RAG personalizado utilizando la base de datos vectorial Milvus para almacenar el conocimiento externo. Usaremos `BAAI/bge-base-en` de HuggingFace como modelo de embeddings, con varios componentes de LangChain para la importación de documentos y la construcción de agentes.
Para obtener información detallada, consulta esta guía paso a paso.
Comparación de configuración
Resumimos los detalles de configuración de los dos sistemas RAG en la tabla siguiente. Para obtener más información, consulta nuestro código de implementación.
| RAG de OpenAI | RAG personalizado | |
|---|---|---|
| Modelo LLM | gpt-4-1106-preview | gpt-4-1106-preview |
| BD vectorial | No divulgado | milvus |
| Modelo de embeddings | No divulgado | BAAI/bge-base-en |
| Tamaño de fragmento | No divulgado | 1000 |
| Solapamiento de fragmentos | No divulgado | 40 |
| topk | No divulgado | 5 |
| Usar agente | Sí | Sí |
Tabla: Comparación de configuración del RAG de OpenAI y el RAG personalizado
Como se muestra en la tabla anterior, ambos sistemas RAG utilizan `gpt-4-1106-preview` como modelo LLM. El RAG personalizado utiliza Milvus como base de datos vectorial. Sin embargo, el RAG de OpenAI no divulga su base de datos vectorial integrada ni otros parámetros de configuración.
Resultados de evaluación y análisis
Usando Ragas, puntuamos ambos sistemas RAG en múltiples métricas, incluida la precisión del contexto, la fidelidad, la relevancia de la respuesta, la similitud y la corrección. El gráfico siguiente muestra las puntuaciones experimentales que obtuvimos de Ragas.
Aunque el sistema RAG de OpenAI superó ligeramente al sistema RAG personalizado impulsado por Milvus en similitud de respuestas, quedó por detrás en otras métricas cruciales, incluida la precisión del contexto, la fidelidad, la relevancia de la respuesta y la corrección de la respuesta.
Ragas también nos permite comparar dos sistemas RAG usando Ragas Scores, un valor promedio generado al calcular la media armónica de varias métricas. La media armónica se utiliza para penalizar los elementos con puntuaciones bajas. Cuanto más altas sean las puntuaciones de Ragas, mejor será el rendimiento general de un sistema RAG. El gráfico siguiente muestra las puntuaciones de Ragas de dos sistemas RAG.
Como se muestra en el gráfico, el sistema RAG personalizado impulsado por Milvus tiene Ragas Scores más altos que el sistema RAG de OpenAI.
En conclusión, el sistema RAG personalizado impulsado por Milvus ha superado al sistema RAG de OpenAI en cuanto a Ragas Scores y otras métricas cruciales, incluida la precisión del contexto, la fidelidad, la relevancia y la corrección de las respuestas.
¿Por qué el RAG personalizado supera al RAG integrado de OpenAI?
A través de muchas comparaciones individuales, descubrimos que el pipeline RAG personalizado basado en una base de datos vectorial funciona mejor que el sistema RAG basado en OpenAI Assistants. ¿Por qué? Estas son algunas de las razones más importantes.
OpenAI Assistants dependen del conocimiento interno de preentrenamiento en lugar del conocimiento externo.
Debido a su configuración interna de agentes, los asistentes de OpenAI dependen más del preentrenamiento que del conocimiento subido. Por ejemplo, cuando se les preguntó sobre clases de finanzas personales en la escuela secundaria, el sistema RAG de OpenAI proporcionó una respuesta que se basó en algo distinto de la verdad fundamental.
| Pregunta | ¿Se enseñan clases de finanzas personales/gestión del dinero en la escuela secundaria, en algún lugar? |
|---|---|
| Respuesta del sistema RAG de OpenAI | Las clases de finanzas personales y gestión del dinero sí se enseñan en algunas escuelas secundarias, aunque la disponibilidad y el requisito de dichas clases pueden variar enormemente según el país e incluso dentro de las regiones de un país. En Estados Unidos, por ejemplo, el Council for Economic Education (CEE) realiza encuestas e informes sobre educación financiera en escuelas K-12. Sus hallazgos sugieren que, hasta mi última actualización, un número creciente de estados ha integrado las finanzas personales en sus estándares educativos, y algunos han exigido que los estudiantes tomen un curso de finanzas personales para graduarse. Aunque no tengo acceso a una base de datos en vivo ni a los estudios más recientes, a menudo puedes encontrar información sobre educación financiera en las escuelas mediante: 1. Consultar sitios web gubernamentales de educación. 2. Revisar informes de organizaciones sin fines de lucro y consejos de educación financiera. 3. Contactar a las juntas escolares locales o departamentos de educación. Si te interesan ubicaciones específicas o tienes un enfoque particular en mente, podrías especificarlo para que pueda proporcionar información más directa, si está disponible. |
| Respuesta del sistema RAG personalizado | Las clases de finanzas personales y gestión del dinero sí se enseñan en algunas escuelas secundarias, pero la disponibilidad y los requisitos de dichas clases pueden variar enormemente. Por ejemplo, en Houston, Texas, una escuela secundaria privada ofrecía una clase opcional de medio semestre en finanzas personales que no otorgaba créditos para la graduación. Staples High School en Westport, Connecticut, introdujo una clase de gestión financiera personal centrada en usar las matemáticas para desarrollar habilidades de alfabetización financiera, cubriendo temas como ingresos, banca, tarjetas de crédito, préstamos, impuestos, seguros, inversiones, presupuestos y compra de propiedad personal. Las escuelas públicas de Ann Arbor, Michigan, ofrecían una clase de 'civics' que incluía temas básicos de gestión del dinero. Además, en el Reino Unido, el marco 'Every Child Matters' incluye 'lograr el bienestar económico' como un elemento importante, y algunas escuelas usan un School Rewards System para enseñar a los niños sobre finanzas y economía. Si bien estos ejemplos muestran que dichas clases existen, no son universalmente obligatorias ni estandarizadas, y la profundidad y el enfoque del currículo pueden variar. |
| Verdad fundamental en el conjunto de datos | En Houston, Texas, EE. UU., donde asistí a una escuela secundaria privada, tenían una clase de medio semestre en finanzas personales, pero era opcional y no te daba ningún crédito para la graduación. Sin embargo, tienes razón, debería ser una clase estándar. Después de todo, ¿quién no necesita esa información en su vida adulta, y no todos van a la universidad." ... Tuvimos una clase de "civics" cuando era estudiante de primer año en la escuela secundaria. Esto fue en las escuelas públicas de Ann Arbor, MI. Cubría lo más básico (cómo balancear tu chequera, qué son las acciones, cómo funcionan los impuestos sobre la renta, qué es el interés, etc.) de la gestión del dinero junto con una visión general de la política y el sistema legal. Sin embargo, era una clase muy ligera y no profundizaba mucho en las finanzas personales y la gestión del dinero. Estoy de acuerdo en que una clase así sería muy valiosa, al igual que cocina, nutrición y reparación básica del hogar y del automóvil. |
Si bien la respuesta del sistema RAG de OpenAI no es incorrecta, carece de especificidad y su reconocimiento de no acceder a los estudios más recientes sugiere una utilización incompleta del conocimiento del documento cargado. En cambio, el sistema RAG personalizado proporciona una respuesta más precisa al integrar sin problemas información específica de la verdad fundamental. Esta comparación muestra la capacidad superior del RAG personalizado para aprovechar eficazmente los datos externos, distinguiéndolo como una solución más fiable y competente.
El RAG personalizado es mejor en la segmentación de documentos y la recuperación de datos que el RAG de OpenAI
La estrategia de segmentación y recuperación de conocimiento de OpenAI podría necesitar optimización. A veces, el fragmento recuperado es inadecuado, como proporcionar solo 'PROS: CONS' para una pregunta sobre inversiones en IRA. En cambio, el Pipeline RAG personalizado sobresale al recuperar fragmentos relevantes, ofreciendo una respuesta más completa.
| Pregunta | Pros/contras de estar más involucrado con inversiones en IRA |
|---|---|
| Fragmento recuperado por OpenAI RAG | ['PROS: CONS'] |
| Fragmento recuperado por Customized RAG | ['en la tasa impositiva, también hay una diferencia significativa en la cantidad gravada. Por lo tanto, retirar de una IRA generalmente no es una buena idea, y nunca te irá mejor retirando de una IRA que liquidando inversiones gravables (desde la perspectiva fiscal). Eso es por diseño."' "Suena como una mala idea. La IRA se basa en el poder de la capitalización. Retirar aportaciones perjudicará tus ahorros para la jubilación, y nunca podrás compensarlo. En su lugar, considera inversiones libres de impuestos. Bonos estatales, bonos federales, bonos municipales, etc. Por ejemplo, invierto en un fondo de bonos municipales de California que me da ~3-4% de ingresos anuales por dividendos, completamente libres de impuestos. Además, hay apreciación de capital de tus participaciones en el fondo. Hay riesgos, por supuesto; por ejemplo, los cambios de tasas afectarán los rendimientos y la apreciación de capital, así que consulta con alguien con conocimientos en esta área (o haz otra pregunta aquí, para lo básico). Esto te dará el mismo resultado que esperas de tu truco con la Roth IRA, sin dañar tu potencial de ahorro para la jubilación." "Además del excelente consejo de George Marian, añadiré que si estás alcanzando los límites de las contribuciones a la IRA, entonces volverías a tu 401(k). Así que aporta lo suficiente a tu 401(k) para obtener la contribución equivalente, luego maximiza las contribuciones a la IRA para darte acceso a más y mejores opciones de inversión, y luego vuelve a tu 401(k) hasta que también alcances su límite, suponiendo que tengas esa cantidad disponible para invertir para la jubilación." "Si bien el aplazamiento fiscal es una característica agradable, el 401k no es el Santo Grial. He visto muchos 401k donde las opciones de inversión son horribles: rendimiento inferior, comisiones altas, opciones limitadas. Es fantástico que hayas maximizado tu Roth IRA. Te felicito por ello. Siempre que las opciones de inversión en tu 401k sean buenas, entonces yo seguiría con él." "planes de jubilación que les ofrecen buenos fondos indexados baratos. Estas personas probablemente no necesitan preocuparse tanto. Finalmente, tener dos cuentas es más complicado. Por favor, contacta a alguien que sepa más de impuestos que yo para averiguar qué limitaciones se aplican para contribuir tanto a IRAs como a 401(k)s en el mismo año."] |
OpenAI Assistants recuperó un fragmento falso. En cambio, el RAG personalizado recuperó fragmentos más relevantes, ofreciendo una respuesta más completa que se alinea con los matices de la pregunta.
Otras razones
OpenAI Assistants no permite a los usuarios ajustar parámetros en el pipeline RAG para personalización u optimización. Sin embargo, con RAG personalizado, los usuarios pueden tener flexibilidad completa para ajuste y optimización.
OpenAI Assistants tiene limitaciones de almacenamiento de archivos, mientras que el RAG personalizado impulsado por Milvus puede escalar rápidamente sin un límite superior, lo que lo convierte en una mejor opción para los usuarios que requieren mayor capacidad de almacenamiento.
Conclusión
En conclusión, nuestra comparación y análisis exhaustivos utilizando la herramienta de evaluación Ragas destacan las fortalezas y debilidades del RAG de OpenAI y de un RAG personalizado basado en una base de datos vectorial como Milvus. Si bien el RAG de OpenAI funciona bien en la recuperación, el RAG personalizado sobresale en calidad y relevancia de las respuestas, rendimiento de recuperación y muchos otros aspectos. Los desarrolladores que buscan aplicaciones RAG potentes y eficaces encontrarán preferible la flexibilidad y las capacidades de una solución RAG basada en una base de datos vectorial para lograr mejores resultados.
Sigue leyendo

We spent 8 years making vector databases faster. Then we stopped.
Rarely queried embeddings still need to stay searchable. See how Vector Lakebase enables on-demand vector search without always-on compute costs.

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.

Why Teams Are Migrating from Weaviate to Zilliz Cloud — and How to Do It Seamlessly
Explore how Milvus scales for large datasets and complex queries with advanced features, and discover how to migrate from Weaviate to Zilliz Cloud.



