[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:es":3,"public-menus:all":38,"post:vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval:es":205,"related:post:vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval:es:1":2646},{"statusCode":4,"data":5,"message":37},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":10,"robotsIndex":14,"socialLinks":10,"reservedSlugs":10,"seoPolicy":15},"stajic","es","de","https:\u002F\u002Fstajic.de",null,"Stajic Platform","\u002FLogo_Planet.svg","Stajic Portal",true,{"branding":16,"relatedContent":17,"crossDomainLinks":18},{"logoUrl":12},{"enabled":14},[19,22,25,28,31,34],{"url":20,"label":21,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Ffigure.rocks","figure.rocks",{"url":23,"label":24,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":26,"label":27,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.com","bazify.com",{"url":29,"label":30,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.de","bazify.de",{"url":32,"label":33,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.at","bazify.at",{"url":35,"label":36,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.ba","bazify.ba","Portal settings resolved",[39,45],{"id":40,"name":41,"location":42,"isActive":14,"isDefault":43,"items":44},1,"main-navigation","header",false,[],{"id":46,"name":47,"location":48,"isActive":14,"isDefault":14,"items":49},4,"main-menu","sidebar",[50,66,79,93,103,118,133],{"id":51,"title":52,"url":60,"target":61,"icon":62,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":64,"portfolioId":10,"children":65},"item-18",{"de":53,"en":54,"es":55,"fr":56,"it":54,"ru":57,"sr":58,"zh":59},"Startseite","Home","Inicio","Accueil","Главная","Почетна","首页","\u002Ffull-stack-web-developer-munich-performance-seo-and-maintainable-builds","_self","i-lucide-home","page",111,[],{"id":67,"title":68,"url":75,"target":61,"icon":76,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":77,"portfolioId":10,"children":78},"item-22",{"de":69,"en":69,"es":70,"fr":69,"it":71,"ru":72,"sr":73,"zh":74},"Vision","Visión","Visione","Видение","Визија","想象","\u002Fueber-uns-webdesign-muenchen-webaplikation","i-lucide-eye",113,[],{"id":80,"title":81,"url":89,"target":61,"icon":90,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":91,"portfolioId":10,"children":92},"item-19",{"de":82,"en":83,"es":84,"fr":83,"it":85,"ru":86,"sr":87,"zh":88},"Leistungen","Services","Servicios","Servizi","Услуги","Услуге","服务","\u002Fservices-dienstleistungen-muenchen","i-lucide-wrench",116,[],{"id":94,"title":95,"url":99,"target":61,"icon":100,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":101,"portfolioId":10,"children":102},"item-23",{"de":96,"en":96,"es":96,"fr":96,"it":96,"ru":97,"sr":97,"zh":98},"Blog","Блог","博客","\u002Fblog","i-lucide-book-open",112,[],{"id":104,"title":105,"url":114,"target":61,"icon":115,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":116,"portfolioId":10,"children":117},"item-32",{"de":106,"en":107,"es":108,"fr":109,"it":110,"ru":111,"sr":112,"zh":113},"Neue Technologien","New Technologies","Nuevas tecnologías","Nouvelles technologies","Nuove tecnologie","Новые технологии","Нове технологије","新技术！","\u002Fneue-webtechnologien","i-lucide-sparkles",122,[],{"id":119,"title":120,"url":129,"target":61,"icon":130,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":131,"portfolioId":10,"children":132},"item-20",{"de":121,"en":122,"es":123,"fr":124,"it":125,"ru":126,"sr":127,"zh":128},"Kontakt","Contact us!","Contacto","Contact","Contatto","Контакт","Контактирајте нас","联系我们！","\u002Fcontact","i-lucide-mail",115,[],{"id":134,"title":135,"url":144,"target":61,"icon":145,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":147},"item-21",{"de":136,"en":137,"es":138,"fr":139,"it":140,"ru":141,"sr":142,"zh":143},"Unsere Arbeit","Our Work","Nuestro trabajo","Nos réalisations","I nostri lavori","Наши работы","Наши радови","文件夹","\u002Fportfolio","i-lucide-briefcase",114,[148,161,175,181,193],{"id":149,"title":150,"url":144,"target":61,"icon":159,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":160},"item-24",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Alle Projekte","All Projects","Todos los proyectos","Tous les projets","Tutti i progetti","Все проекты","Сви пројекти","所有项目","i-lucide-grid-3x3",[],{"id":162,"title":163,"url":171,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":174},"item-29",{"de":164,"en":165,"es":166,"fr":167,"it":168,"ru":169,"sr":170,"zh":143},"Local Roots, Global Reach","Local Roots - Global Reach","Empresa local ","Entreprise locale","Azienda locale","Местная компания","Локално предузеће глобално тржиште","\u002Fportfolio\u002Flocal-roots-global-reach-communication-media-systems-for-modern-business","i-lucide-folder","custom",[],{"id":176,"title":177,"url":179,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":180},"item-28",{"de":178,"en":178,"es":178,"fr":178,"it":178,"ru":178,"sr":178,"zh":178},"Solr Suggester","\u002Fportfolio\u002Fsolr-fuzzy-suggester-und-solr-infix-suggester-abfrage-ueber-ajax-und-filterung",[],{"id":182,"title":183,"url":191,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":192},"item-27",{"de":184,"en":185,"es":186,"fr":187,"it":188,"ru":189,"sr":190,"zh":185},"Firmenwebseite SEO","Company Website SEO","Sitio web corporativo SEO","Site web d’entreprise SEO","Sito web aziendale SEO","Корпоративный сайт SEO","Пословна веб-страница SEO","\u002Fportfolio\u002Fseo-sem-branding-mobile-webseite-muenchen",[],{"id":194,"title":195,"url":203,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":204},"item-31",{"de":196,"en":197,"es":198,"fr":199,"it":200,"ru":201,"sr":202,"zh":197},"Digitalisierungsportal","Digitalization Portal","Portal de digitalización","Portail de numérisation","Portale di digitalizzazione","Портал цифровизации","Портал за дигитализацију","\u002Fportfolio\u002Fdigitalisierungsportal-archiv-museum-bibliothek-ead-lido-mets-mods",[],{"statusCode":4,"data":206,"message":2645},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":1251,"featuredImage":1252,"featuredImageAlt":1253,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":1254,"publishedAt":1255,"createdAt":1256,"updatedAt":1257,"seoLocalePaths":1258,"categories":1267,"author":1280,"translations":1285},"487","Bases de datos vectoriales, embeddings y reranking: tres partes diferentes de la recuperación","vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u003Cp>Los embeddings, las bases de datos vectoriales y los rerankers son tres partes diferentes de la recuperación. Un modelo de embedding convierte texto u otros datos en representaciones numéricas; una base de datos vectorial o un índice vectorial almacena y busca esas representaciones para recuperar elementos candidatos; un reranker toma un conjunto más pequeño de candidatos y lo reordena usando un modelo de relevancia o método de puntuación más costoso. A menudo aparecen juntos en RAG, pero ninguno de ellos es lo mismo que RAG, y ninguno es obligatorio en todos los sistemas de recuperación.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Respuesta directa\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>Los embeddings representan. La búsqueda vectorial recupera. El reranking refina.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Un modelo mental útil es:\u003Cbr>\u003Cstrong>contenido → embedding → recuperación de candidatos → reranking → contexto seleccionado → modelo\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Los límites importan porque cada capa falla de manera diferente. Los embeddings deficientes distorsionan la similitud semántica. Un índice de recuperación débil pierde candidatos útiles. Un reranker puede reordenar candidatos, pero no puede recuperar un documento relevante que nunca fue recuperado.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">No colapses la pila de recuperación\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Una base de datos vectorial no es un modelo de embedding. Un embedding no es un resultado de búsqueda. Un reranker no es una base de datos vectorial. RAG es el patrón más amplio que puede usar cualquiera de estos componentes para recuperar información externa antes de la generación.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Nota de fuente actual — 8 de octubre de 2026\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La arquitectura básica es estable aunque los productos evolucionan rápidamente. La documentación actual de Qdrant separa vectores, metadatos de payload, colecciones e índices vectoriales; la guía actual de Elastic trata el reranking semántico como una operación de etapa posterior sobre un conjunto pequeño de candidatos; la documentación actual de Cohere describe igualmente el reranking como una mejora de segunda etapa sobre la búsqueda léxica o semántica.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Contenido\">\u003Cstrong class=\"editorjs-toc__title\">Contenido\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-6\" class=\"editorjs-toc__link\">Qué significa esto realmente\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-10\" class=\"editorjs-toc__link\">El ejemplo más simple\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">Dónde se detiene el ejemplo simple\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">Embeddings: representación, no recuperación\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-24\" class=\"editorjs-toc__link\">El modelo de embedding define el espacio de representación\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-27\" class=\"editorjs-toc__link\">Las representaciones densas y dispersas son diferentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-30\" class=\"editorjs-toc__link\">Las funciones de similitud son parte del contrato de representación\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-34\" class=\"editorjs-toc__link\">Bases de datos vectoriales e índices: recuperación de candidatos\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-38\" class=\"editorjs-toc__link\">La búsqueda aproximada de vecinos más cercanos intercambia exactitud por eficiencia\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-42\" class=\"editorjs-toc__link\">El filtrado de metadatos pertenece antes o durante la recuperación de candidatos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-45\" class=\"editorjs-toc__link\">Una base de datos vectorial es opcional\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-48\" class=\"editorjs-toc__link\">Reclasificación: refinamiento de relevancia en segunda etapa\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">La recuperación con bi-codificador y la reclasificación con codificador cruzado resuelven diferentes problemas de costo\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-54\" class=\"editorjs-toc__link\">Un reclasificador no puede recuperar lo que la recuperación omitió\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-58\" class=\"editorjs-toc__link\">La recuperación híbrida es una decisión de diseño aparte\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-62\" class=\"editorjs-toc__link\">BM25 no está obsoleto porque existan los embeddings\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">El chunking cambia lo que los embeddings y los rerankers pueden ver\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-68\" class=\"editorjs-toc__link\">No compares las puntuaciones de recuperación como si fueran probabilidades universales\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-71\" class=\"editorjs-toc__link\">Evalúa las etapas de recuperación por separado\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-74\" class=\"editorjs-toc__link\">¿Qué capa falló realmente?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-76\" class=\"editorjs-toc__link\">Relevancia y Fuente de Verdad son diferentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-80\" class=\"editorjs-toc__link\">Evidencia de implementación original\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-81\" class=\"editorjs-toc__link\">Motor de Investigación de Fuente de Verdad: la recuperación léxica y semántica están separadas\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-85\" class=\"editorjs-toc__link\">Cliente de IA Aaasaasa: Qdrant es un componente de infraestructura vectorial\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-91\" class=\"editorjs-toc__link\">¿Cuándo necesitas cada componente?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-93\" class=\"editorjs-toc__link\">Una secuencia práctica de diseño de recuperación\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-95\" class=\"editorjs-toc__link\">Conceptos erróneos comunes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-97\" class=\"editorjs-toc__link\">Casos límite y limitaciones\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-103\" class=\"editorjs-toc__link\">¿Qué cambiaría esta respuesta?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-107\" class=\"editorjs-toc__link\">Conocimiento canónico relacionado\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-113\" class=\"editorjs-toc__link\">Preguntas frecuentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-115\" class=\"editorjs-toc__link\">Glosario\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-117\" class=\"editorjs-toc__link\">Conclusión\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-121\" class=\"editorjs-toc__link\">Fuentes primarias y evidencia de implementación\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-6\">Qué significa esto realmente\u003C\u002Fh2>\n\u003Cp>Los sistemas de búsqueda tienen dos objetivos en competencia: encontrar suficiente material potencialmente relevante y colocar el mejor material cerca de la parte superior. La recuperación rápida de primera etapa normalmente optimiza la generación de candidatos. Un modelo de segunda etapa más fuerte puede entonces gastar más cómputo distinguiendo los mejores candidatos.\u003C\u002Fp>\n\u003Cp>Los embeddings, los índices vectoriales y los rerankers ocupan posiciones diferentes en ese proceso. Tratarlos como una sola característica oculta decisiones de diseño importantes sobre recall, precisión, latencia, almacenamiento, filtrado de metadatos y costo del modelo.\u003C\u002Fp>\n\u003Cp>La distinción también evita un error común de RAG: asumir que almacenar embeddings de documentos en una base de datos vectorial crea automáticamente una recuperación de alta calidad. La calidad de la recuperación depende del modelo de embedding, el chunking, los metadatos, la construcción de la consulta, la configuración del índice, el número de candidatos, la recuperación híbrida, el reranking y la autoridad de las fuentes subyacentes.\u003C\u002Fp>\n\u003Ch2 id=\"section-10\">El ejemplo más simple\u003C\u002Fh2>\n\u003Cp>Supongamos que una base de conocimiento contiene 100.000 fragmentos de documentos. Un usuario pregunta: “¿Cómo revoco un token de API?”\u003C\u002Fp>\n\u003Cp>Primero, un modelo de embedding puede codificar la consulta en un vector. Los fragmentos de documentos pueden tener ya sus propios embeddings almacenados. Una búsqueda vectorial entonces compara el vector de la consulta con los vectores de documentos indexados y devuelve, por ejemplo, 30 candidatos probables.\u003C\u002Fp>\n\u003Cp>Esos 30 candidatos pueden entonces pasarse a un reranker. El reranker compara la consulta más directamente con cada candidato y produce un nuevo orden de relevancia. La aplicación podría conservar los cinco mejores para el contexto del modelo.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Un pipeline básico de recuperación semántica de dos etapas\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Incrustar documentos\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Convertir cada fragmento buscable en una representación numérica, normalmente en el momento de la ingesta.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Almacenar\u002Findexar vectores\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Asociar vectores con IDs de documentos y metadatos en un índice o base de datos vectorial buscable.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Incrustar la consulta\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Codificar la consulta del usuario usando el modelo de embedding compatible y la configuración de consulta.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Recuperar candidatos\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Ejecutar búsqueda de similitud vectorial, a menudo con filtros de metadatos, para producir un conjunto mayor de candidatos top-k.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Reordenar candidatos\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Aplicar un modelo de relevancia más fuerte a la consulta y al conjunto pequeño de candidatos.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Seleccionar contexto\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Conservar los pasajes más útiles para la respuesta posterior, el paso del agente o el resultado de búsqueda.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-15\">Dónde se detiene el ejemplo simple\u003C\u002Fh2>\n\u003Cp>Los sistemas de recuperación reales no tienen que usar embeddings densos en absoluto. La búsqueda por palabras clave como BM25 puede ser el recuperador de primera etapa. La recuperación dispersa aprendida, los filtros SQL, el recorrido de grafos o las APIs de aplicación también pueden generar candidatos.\u003C\u002Fp>\n\u003Cp>A un reranker tampoco le importa que los candidatos provengan de una base de datos vectorial. Puede reordenar resultados de BM25, resultados híbridos, documentos seleccionados manualmente o candidatos de múltiples recuperadores.\u003C\u002Fp>\n\u003Cp>Del mismo modo, los embeddings no requieren una base de datos vectorial especializada. Los conjuntos de datos pequeños pueden compararse en memoria o con bases de datos de propósito general y extensiones vectoriales. Los sistemas vectoriales especializados resultan útiles cuando la indexación, la búsqueda aproximada de vecinos más cercanos, el filtrado, la escala, el comportamiento de actualización o los requisitos operativos lo justifican.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Tres componentes de recuperación diferentes\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Embedding\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Base de datos vectorial \u002F índice\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Reranker\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Trabajo principal\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Entrada típica\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Salida típica\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Perfil de costo\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Fallo típico\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-20\">Embeddings: representación, no recuperación\u003C\u002Fh2>\n\u003Cp>Un embedding es una representación numérica producida por un modelo. Para la recuperación semántica, se pretende que los textos con significado relacionado ocupen posiciones útiles en un espacio vectorial para que una función de similitud o distancia pueda compararlos.\u003C\u002Fp>\n\u003Cp>Sentence-BERT fue un paso influyente para hacer práctica la similitud semántica a nivel de oración con representaciones de estilo bi-encoder que pueden calcularse de forma independiente y compararse eficientemente. La idea general sigue siendo central para la recuperación densa moderna: precalcular las representaciones de los documentos, calcular la representación de la consulta en el momento de la búsqueda y luego compararlas.\u003C\u002Fp>\n\u003Cp>El embedding en sí no busca en un corpus. Son datos producidos por un modelo de embedding. La recuperación comienza cuando el sistema compara la representación de la consulta con los candidatos almacenados.\u003C\u002Fp>\n\u003Ch3 id=\"section-24\">El modelo de embedding define el espacio de representación\u003C\u002Fh3>\n\u003Cp>Los vectores de documentos y consultas deben ser compatibles con el modelo y la configuración utilizados para crearlos. Reemplazar un modelo de embedding puede cambiar la dimensionalidad, el comportamiento de similitud, la cobertura de idiomas y el rendimiento en el dominio.\u003C\u002Fp>\n\u003Cp>Por eso una migración de modelo de embedding no es simplemente un cambio de nombre de API. Es posible que los documentos existentes deban volver a incrustarse y que el índice se reconstruya o se versione.\u003C\u002Fp>\n\u003Ch3 id=\"section-27\">Las representaciones densas y dispersas son diferentes\u003C\u002Fh3>\n\u003Cp>Los embeddings densos suelen contener muchas dimensiones distintas de cero y se usan comúnmente para similitud semántica. Las representaciones dispersas contienen muchos ceros y pueden preservar una estructura más fuerte similar a tokens o términos.\u003C\u002Fp>\n\u003Cp>Ambas pueden admitir recuperación semántica, y los sistemas de búsqueda modernos pueden combinar señales densas, dispersas y léxicas. Por lo tanto, “búsqueda vectorial” no siempre significa una única canalización de similitud coseno densa.\u003C\u002Fp>\n\u003Ch3 id=\"section-30\">Las funciones de similitud son parte del contrato de representación\u003C\u002Fh3>\n\u003Cp>La similitud coseno, el producto punto y la distancia euclidiana no significan lo mismo. La métrica correcta depende de cómo se entrenó y normalizó el modelo de embedding.\u003C\u002Fp>\n\u003Cp>La documentación actual de Qdrant, por ejemplo, requiere una métrica de distancia como parte de la configuración vectorial y documenta opciones de coseno, producto punto y estilo euclidiano. La regla arquitectónica importante es tratar la métrica como parte del contrato de embedding\u002Fíndice en lugar de elegir una arbitrariamente.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">La similitud de embedding no es respaldo fáctico\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Dos pasajes pueden ser semánticamente cercanos mientras uno está desactualizado, no autorizado o es incorrecto. Los embeddings estiman la similitud de representación; no determinan la autoridad de la Fuente de Verdad, la frescura ni la validez probatoria.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-34\">Bases de datos vectoriales e índices: recuperación de candidatos\u003C\u002Fh2>\n\u003Cp>Una base de datos vectorial o un sistema de búsqueda con capacidad vectorial organiza las representaciones vectoriales para que la aplicación pueda recuperar candidatos cercanos de manera eficiente. Los sistemas prácticos suelen asociar vectores con IDs y metadatos de carga útil como fuente, idioma, inquilino, tipo de documento, marca de tiempo o alcance de acceso.\u003C\u002Fp>\n\u003Cp>Qdrant, por ejemplo, organiza los datos en colecciones de puntos donde un punto contiene un vector y metadatos de carga útil opcionales. Su documentación describe la búsqueda por similitud basada en HNSW y el filtrado de metadatos como capacidades separadas de la capa de recuperación.\u003C\u002Fp>\n\u003Cp>Esa distinción importa: el índice vectorial responde a un problema de vecino más cercano, mientras que los filtros de carga útil imponen restricciones estructurales como inquilino, clase de documento o idioma.\u003C\u002Fp>\n\u003Ch3 id=\"section-38\">La búsqueda aproximada de vecinos más cercanos intercambia exactitud por eficiencia\u003C\u002Fh3>\n\u003Cp>Comparar un vector de consulta contra cada vector puede ser práctico para colecciones pequeñas pero costoso a gran escala. Los índices de vecinos más cercanos aproximados como HNSW reducen el costo de búsqueda navegando una estructura de índice en lugar de escanear exhaustivamente cada vector.\u003C\u002Fp>\n\u003Cp>La búsqueda aproximada introduce una compensación entre exhaustividad y latencia. Una búsqueda más rápida puede omitir candidatos que la búsqueda exacta devolvería. Por lo tanto, los parámetros del índice afectan la calidad de recuperación, no solo el rendimiento de la infraestructura.\u003C\u002Fp>\n\u003Cp>Qdrant expone tanto parámetros relacionados con HNSW como una opción de búsqueda exacta, lo que ilustra que el almacenamiento vectorial y la política de recuperación aproximada son decisiones separadas.\u003C\u002Fp>\n\u003Ch3 id=\"section-42\">El filtrado de metadatos pertenece antes o durante la recuperación de candidatos\u003C\u002Fh3>\n\u003Cp>Si el usuario solo puede acceder al inquilino A, recuperar fragmentos semánticamente similares del inquilino B e intentar eliminarlos después es el límite de seguridad incorrecto. La autorización y los filtros de elegibilidad estricta deben restringir el espacio de candidatos antes de que esos candidatos puedan influir en el procesamiento posterior.\u003C\u002Fp>\n\u003Cp>El mismo principio se aplica a la configuración regional, el estado del documento, la clase de origen, la fecha, la versión del producto y otras restricciones deterministas. La similitud debe clasificar a los candidatos elegibles; no debe anular la elegibilidad.\u003C\u002Fp>\n\u003Ch3 id=\"section-45\">Una base de datos vectorial es opcional\u003C\u002Fh3>\n\u003Cp>Para un corpus pequeño, la comparación de similitud del coseno por fuerza bruta puede ser simple y suficiente. Una base de datos relacional con soporte vectorial también puede ser adecuada. Una base de datos vectorial dedicada se vuelve valiosa cuando su indexación, filtrado, almacenamiento distribuido, comportamiento de actualización o características operativas resuelven un requisito real.\u003C\u002Fp>\n\u003Cp>Elegir una base de datos vectorial porque “RAG necesita una” invierte el proceso de arquitectura. Comience con los requisitos de recuperación y la escala, luego seleccione la tecnología de almacenamiento\u002Fíndice.\u003C\u002Fp>\n\u003Ch2 id=\"section-48\">Reclasificación: refinamiento de relevancia en segunda etapa\u003C\u002Fh2>\n\u003Cp>Un reclasificador recibe una consulta y un conjunto más pequeño de candidatos ya recuperados, luego asigna puntuaciones de relevancia más fuertes o un nuevo orden. Normalmente es más costoso computacionalmente que la recuperación de primera etapa, por lo que se aplica después de la generación de candidatos en lugar de a todo el corpus.\u003C\u002Fp>\n\u003Cp>La guía actual de Elastic describe la reclasificación semántica como una técnica de etapa final sobre un pequeño conjunto top-k y señala que puede refinar la recuperación léxica, semántica o híbrida. Cohere documenta la misma arquitectura: búsqueda léxica o semántica de primera etapa seguida de una etapa de reclasificación.\u003C\u002Fp>\n\u003Cp>Una implementación común utiliza un modelo similar a un codificador cruzado que examina la consulta y cada candidato juntos. Esa interacción más rica puede distinguir la relevancia con mayor precisión que la similitud de incrustación independiente, pero es mucho más costosa a escala de corpus.\u003C\u002Fp>\n\u003Ch3 id=\"section-52\">La recuperación con bi-codificador y la reclasificación con codificador cruzado resuelven diferentes problemas de costo\u003C\u002Fh3>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Propiedad\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Recuperación con bi-codificador \u002F incrustación\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Reclasificación estilo codificador cruzado\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Codificación\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Consulta y documentos representados independientemente\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Consulta y candidato procesados conjuntamente\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cálculo de documentos\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Se puede precalcular en la ingesta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Normalmente se recalcula por par consulta-candidato\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Búsqueda a escala de corpus\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Adecuada con índices vectoriales\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Generalmente demasiado costosa en todo el corpus\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rol típico\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Generación de candidatos con alta exhaustividad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ordenación de alta precisión de un conjunto pequeño de candidatos\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Principal compensación\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rápida y escalable pero la interacción de relevancia se comprime en vectores\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Juicio de relevancia más rico pero mayor latencia\u002Fcosto\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch3 id=\"section-54\">Un reclasificador no puede recuperar lo que la recuperación omitió\u003C\u002Fh3>\n\u003Cp>Si el documento relevante está ausente del conjunto de candidatos, el reranking no tiene nada que promover. Esta es la razón central para evaluar la recuperación y el reranking por separado.\u003C\u002Fp>\n\u003Cp>Un pipeline puede tener una precisión excelente en el reranker y aun así fallar porque la recuperación de la primera etapa es deficiente. Aumentar la calidad del reranker no reparará la cobertura de origen faltante, un chunking deficiente, filtros restrictivos o un recuperador de candidatos débil.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Objetivo de recuperación útil\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Primera etapa: \u003Cstrong>no perder los candidatos útiles.\u003C\u002Fstrong>\u003Cbr>Segunda etapa: \u003Cstrong>poner los mejores candidatos primero.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Esto no es una regla matemática universal, pero es un modelo de ingeniería útil para la recuperación en dos etapas.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-58\">La recuperación híbrida es una decisión de diseño aparte\u003C\u002Fh2>\n\u003Cp>La recuperación semántica densa es fuerte cuando la consulta y el documento usan un vocabulario diferente pero expresan un significado relacionado. La recuperación léxica es fuerte cuando importan los términos exactos, identificadores, nombres, códigos o frases poco comunes.\u003C\u002Fp>\n\u003Cp>La recuperación híbrida combina múltiples señales de candidatos, a menudo BM25 léxico y similitud vectorial, y luego fusiona los rankings usando un método como Reciprocal Rank Fusion o una combinación de puntuaciones ponderadas.\u003C\u002Fp>\n\u003Cp>El reranking puede entonces operar sobre el conjunto de candidatos fusionado. La recuperación híbrida y el reranking son, por lo tanto, etapas complementarias pero distintas.\u003C\u002Fp>\n\u003Ch3 id=\"section-62\">BM25 no está obsoleto porque existan los embeddings\u003C\u002Fh3>\n\u003Cp>La búsqueda por palabras clave puede superar a la recuperación densa para identificadores exactos, números de versión, mensajes de error, códigos de producto y vocabulario especializado. SQLite FTS5, por ejemplo, incluye una función de ranking BM25 para búsqueda de texto completo.\u003C\u002Fp>\n\u003Cp>Una arquitectura de recuperación sólida puede usar la recuperación léxica como única primera etapa, la recuperación vectorial como única primera etapa, o combinar ambas según el corpus y la distribución de consultas.\u003C\u002Fp>\n\u003Ch2 id=\"section-65\">El chunking cambia lo que los embeddings y los rerankers pueden ver\u003C\u002Fh2>\n\u003Cp>Si un documento se divide mal, ningún componente de recuperación posterior puede reconstruir completamente la unidad semántica faltante. Un chunk que separa una condición de su excepción puede generar un embedding engañoso y también puede ser rerankeado incorrectamente porque el texto candidato está incompleto.\u003C\u002Fp>\n\u003Cp>El tamaño del chunk, el solapamiento, los límites estructurales y los metadatos afectan tanto la recuperación de candidatos como el juicio del reranker. La evaluación de la recuperación debe probar el pipeline completo desde la ingesta hasta el ranking, no solo el modelo de embeddings.\u003C\u002Fp>\n\u003Ch2 id=\"section-68\">No compares las puntuaciones de recuperación como si fueran probabilidades universales\u003C\u002Fh2>\n\u003Cp>La similitud del coseno, las puntuaciones BM25, las puntuaciones de vectores dispersos, los rangos RRF y las puntuaciones del reranker tienen significados diferentes. Una puntuación de 0.82 de un modelo de embeddings no es automáticamente comparable con 0.82 de otro modelo ni con una puntuación de un reranker.\u003C\u002Fp>\n\u003Cp>Los umbrales deben calibrarse para el modelo, el corpus y la tarea reales. La guía actual de Elastic también señala que las puntuaciones de similitud de embeddings pueden depender de la consulta, lo que hace arriesgados los cortes universales.\u003C\u002Fp>\n\u003Ch2 id=\"section-71\">Evalúa las etapas de recuperación por separado\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Capa\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pregunta útil\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Métrica o prueba de ejemplo\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cobertura de origen\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">¿El corpus contiene la información necesaria?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Auditoría de cobertura \u002F conjunto de fuentes con respuestas conocidas\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Chunking\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">¿La evidencia necesaria es recuperable como una unidad coherente?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Revisión de soporte a nivel de chunk\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recuperación de primera etapa\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">¿El elemento relevante entra en el conjunto de candidatos?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recall@k\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ranking\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">¿Qué tan alto aparece la evidencia relevante?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MRR, nDCG, precision@k\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Reranking\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">¿La puntuación de la segunda etapa mejora el orden?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Delta nDCG \u002F MRR \u002F precision\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Selección de contexto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">¿Los pasajes finales seleccionados contienen soporte suficiente?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Relevancia \u002F cobertura del contexto\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Etapa de respuesta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">¿El modelo usa correctamente la evidencia seleccionada?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fidelidad \u002F evaluación de afirmación-evidencia\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Esta separación es operativamente importante. Si Recall@50 es deficiente, el reranker no es el primer componente a corregir. Si Recall@50 es fuerte pero el mejor pasaje permanece en el rango 38, el reranking o la fusión de rankings se convierte en un objetivo plausible.\u003C\u002Fp>\n\u003Ch2 id=\"section-74\">¿Qué capa falló realmente?\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Síntomas y capa de recuperación probable\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Síntoma observado\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Capa probable\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Primer diagnóstico\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">El documento relevante nunca aparece\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">El documento relevante aparece demasiado abajo\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Resultado semánticamente bueno pero prohibido\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Resultado relevante pero desactualizado\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Resultado correcto recuperado pero omitido del prompt\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-76\">Relevancia y Fuente de Verdad son diferentes\u003C\u002Fh2>\n\u003Cp>Un reranker puede hacer que un documento obsoleto parezca extremadamente relevante. Un índice vectorial puede recuperar un resumen secundario que es semánticamente más cercano que la fuente primaria. Por lo tanto, la calidad de la recuperación no puede reemplazar las reglas de autoridad.\u003C\u002Fp>\n\u003Cp>Donde la autoridad de la fuente importa, los filtros de metadatos, las clases de fuente, las reglas de versión y la procedencia deben restringir la recuperación antes de que el resultado se convierta en contexto del modelo.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">El reranking no puede hacer que una fuente no autoritativa sea autoritativa\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La relevancia responde si un candidato se ajusta a la consulta. La arquitectura de Fuente de Verdad responde si ese candidato tiene permitido establecer la afirmación.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-80\">Evidencia de implementación original\u003C\u002Fh2>\n\u003Ch3 id=\"section-81\">Motor de Investigación de Fuente de Verdad: la recuperación léxica y semántica están separadas\u003C\u002Fh3>\n\u003Cp>El Motor de Investigación de Fuente de Verdad contiene una ruta de recuperación léxica local usando SQLite FTS5\u002FBM25 y una ruta de recuperación semántica opcional separada usando embeddings generados localmente.\u003C\u002Fp>\n\u003Cp>Su implementación de búsqueda semántica calcula un vector de consulta y lo compara con vectores de fragmentos almacenados usando similitud coseno. El proyecto trata deliberadamente la similitud semántica como una señal de descubrimiento en lugar de evidencia: un candidato aún debe rastrearse hasta una fuente y localizador concretos antes de respaldar una afirmación.\u003C\u002Fp>\n\u003Cp>Esta es evidencia de implementación útil para R01 porque el mismo corpus puede soportar ranking léxico y similitud vectorial sin confundir ninguno de los dos mecanismos con autoridad probatoria.\u003C\u002Fp>\n\u003Ch3 id=\"section-85\">Cliente de IA Aaasaasa: Qdrant es un componente de infraestructura vectorial\u003C\u002Fh3>\n\u003Cp>El Cliente de IA Aaasaasa incluye Qdrant\u002Finfraestructura vectorial como un recurso local separado. La arquitectura de Electron expone los servicios de Qdrant desde el lado confiable del proceso principal en lugar de tratar la búsqueda vectorial como parte del modelo mismo.\u003C\u002Fp>\n\u003Cp>El repositorio contiene un adaptador de cliente Qdrant, configuración de servicio Qdrant e infraestructura Qdrant basada en Docker. Esto demuestra la separación arquitectónica entre la ejecución del proveedor\u002Fmodelo de IA y el almacenamiento\u002Fbúsqueda vectorial.\u003C\u002Fp>\n\u003Cp>La existencia de soporte para Qdrant no debe exagerarse como un pipeline RAG de producción completo. La evidencia aquí es más limitada: la infraestructura vectorial está implementada como su propio límite de componente.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Evidencia de implementación\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Qué demuestra\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">SQLite FTS5\u002FBM25 en el Motor de Investigación de Fuente de Verdad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La recuperación léxica puede existir independientemente de los embeddings.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Embeddings locales de Ollama\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La generación de representaciones es su propia etapa.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vectores semánticos almacenados + comparación coseno\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La recuperación semántica consume embeddings después de que han sido producidos.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Soporte de Qdrant en el Cliente de IA Aaasaasa\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El almacenamiento\u002Fbúsqueda vectorial es una capacidad de infraestructura separada del proveedor del modelo.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Reglas de evidencia\u002Fprocedencia en el Motor de Investigación de Fuente de Verdad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La similitud recuperada no equivale a autoridad ni prueba.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ningún reranker personalizado declarado en estas implementaciones\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El reranking se explica como una etapa arquitectónica, no se declara falsamente como evidencia ya implementada.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Límite de evidencia\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La evidencia de implementación actual confirma recuperación léxica, embeddings, infraestructura de búsqueda vectorial y recuperación consciente de procedencia. Este artículo \u003Cstrong>no\u003C\u002Fstrong> afirma que un servicio de reranking cross-encoder de producción ya esté implementado en estos proyectos.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-91\">¿Cuándo necesitas cada componente?\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Necesidad\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Componente probable\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Similitud semántica entre diferentes redacciones\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modelo de embedding + búsqueda de similitud vectorial\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Búsqueda eficiente sobre un gran corpus vectorial\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Índice\u002Fbase de datos vectorial o motor de búsqueda con capacidad vectorial\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identificadores exactos, códigos de error o términos raros\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recuperación léxica\u002Fde texto completo como BM25\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tanto terminología exacta como significado semántico\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recuperación híbrida léxica + semántica\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El conjunto de candidatos es bueno pero el ordenamiento es débil\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Reranker\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Los elementos relevantes están ausentes del conjunto de candidatos\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mejorar la cobertura de fuentes, el chunking, el retriever, los filtros o el número de candidatos antes del reranking\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Restricciones estrictas de tenant\u002Ffuente\u002Fversión\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Filtrado determinista de metadatos\u002Fautorización\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Corpus pequeño\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Potencialmente similitud por fuerza bruta simple o base de datos de propósito general en lugar de una base de datos vectorial dedicada\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-93\">Una secuencia práctica de diseño de recuperación\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Diseñar la recuperación a partir de los requisitos, no de los nombres de productos\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Definir los tipos de consulta\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Identificar preguntas semánticas, búsquedas exactas, identificadores, lecturas de estado actual y patrones específicos del dominio.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Definir las fuentes elegibles\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Aplicar restricciones de tenant, autorización, idioma, versión, clase de fuente y frescura.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Establecer una línea base léxica\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Medir si la recuperación simple de texto completo\u002FBM25 ya resuelve gran parte de la carga de trabajo.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Añadir embeddings donde se necesite recall semántico\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Elegir y evaluar un modelo de embedding con consultas representativas del dominio.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Elegir el almacenamiento\u002Findexación vectorial según la escala\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Usar fuerza bruta, soporte vectorial de base de datos o un motor vectorial dedicado según los requisitos.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Evaluar el recall de la primera etapa\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Confirmar que la evidencia relevante entra en un conjunto de candidatos suficientemente grande.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Añadir recuperación híbrida si las señales son complementarias\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Fusionar los rankings léxico y semántico cuando ambos mejoran materialmente la generación de candidatos.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">8\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">8. Añadir reranking si el ordenamiento sigue siendo el cuello de botella\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Aplicar el modelo más fuerte solo al conjunto de candidatos donde su coste está justificado.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">9\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">9. Ajustar la selección final de contexto\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Controlar la redundancia, el presupuesto de contexto, la autoridad, la diversidad y la cobertura de evidencia antes de la generación.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">10\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">10. Evaluar de extremo a extremo\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Medir por separado la calidad de la recuperación, del contexto y de la respuesta para poder localizar los fallos.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-95\">Conceptos erróneos comunes\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Concepto erróneo\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Corrección\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“Un embedding es una base de datos vectorial.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un embedding es una representación; la base de datos\u002Fíndice almacena y busca representaciones.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“Una base de datos vectorial crea significado semántico.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El modelo de embedding crea la representación; el sistema vectorial la indexa y la compara.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“RAG requiere una base de datos vectorial.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">RAG requiere recuperación, no una tecnología de recuperación específica.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“El reranking es lo mismo que la búsqueda vectorial.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La búsqueda vectorial genera candidatos; el reranking reordena un conjunto de candidatos.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“Los rerankers arreglan un recall pobre.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">No pueden promover un documento que nunca fue recuperado.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“La búsqueda densa reemplaza a BM25.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La búsqueda léxica sigue siendo valiosa para términos exactos, identificadores y vocabulario especializado.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“Mayor similitud significa más autoridad.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La similitud y la autoridad de la fuente son dimensiones diferentes.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“Más top-k siempre mejora RAG.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Conjuntos de candidatos más grandes pueden mejorar el recall pero añaden latencia, ruido y carga de selección de contexto.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“Un umbral de puntuación funciona en todas partes.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Las puntuaciones dependen del modelo, la consulta, el corpus y el método de recuperación y deben calibrarse.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">“Una base de datos vectorial dedicada siempre es más avanzada.”\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Solo se justifica cuando sus capacidades operativas y de recuperación coinciden con los requisitos.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-97\">Casos límite y limitaciones\u003C\u002Fh2>\n\u003Cp>Algunas aplicaciones no necesitan búsqueda semántica. La búsqueda exacta en base de datos o SQL estructurado puede ser más correcta, más rápida y más fácil de auditar que la recuperación por embeddings.\u003C\u002Fp>\n\u003Cp>Algunos corpus son tan pequeños que un escaneo vectorial completo es aceptable. La indexación aproximada añade complejidad sin un beneficio significativo.\u003C\u002Fp>\n\u003Cp>Algunas consultas requieren un recall alto antes de cualquier optimización de precisión. La discovery legal, la investigación y la revisión de cumplimiento pueden preferir una recuperación amplia de candidatos seguida de un filtrado transparente y revisión humana.\u003C\u002Fp>\n\u003Cp>La recuperación multilingüe y específica del dominio puede comportarse de manera muy diferente entre modelos de embedding. Las afirmaciones de benchmark de conjuntos de datos públicos no deben tratarse como prueba para un corpus privado.\u003C\u002Fp>\n\u003Cp>La latencia del reranking crece con el número y la longitud de los candidatos. Por lo tanto, el tamaño de candidatos debe ajustarse como una variable de precisión\u002Fcoste\u002Flatencia en lugar de copiarse de un tutorial.\u003C\u002Fp>\n\u003Ch2 id=\"section-103\">¿Qué cambiaría esta respuesta?\u003C\u002Fh2>\n\u003Cp>Los límites de los componentes no cambiarían si un proveedor empaqueta la generación de embeddings, la indexación vectorial y el reranking detrás de una sola API. El producto puede ocultar las etapas, pero siguen siendo responsabilidades conceptualmente diferentes con modos de fallo diferentes.\u003C\u002Fp>\n\u003Cp>Los futuros modelos de embedding o recuperación pueden reducir la necesidad de un reranking separado en algunas cargas de trabajo, mientras que métodos más fuertes de interacción tardía o dispersos aprendidos pueden difuminar las categorías tradicionales denso\u002Fléxico. La arquitectura aún debería preguntar qué etapa produce representaciones, qué etapa genera candidatos y qué etapa refina el ranking.\u003C\u002Fp>\n\u003Cp>El mejor diseño también cambia con el tamaño del corpus, la mezcla de consultas, el idioma, la terminología del dominio, la frecuencia de actualización, la autoridad de la fuente, el presupuesto de latencia y los resultados de evaluación.\u003C\u002Fp>\n\u003Ch2 id=\"section-107\">Conocimiento canónico relacionado\u003C\u002Fh2>\n\u003Cp>R01 asume que el concepto básico de RAG ya se entiende. RAG es el patrón más amplio en el que se proporciona información externa recuperada a un modelo; los embeddings, la búsqueda vectorial y el reranking son componentes de recuperación opcionales dentro de ese patrón.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fes\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">¿Qué es RAG? La explicación más sencilla de cómo funciona\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Una base en lenguaje sencillo sobre cómo la recuperación incorpora conocimiento externo al contexto del modelo.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Leer los fundamentos de RAG →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Cp>Cuando la recuperación falla, diagnostica por separado la cobertura de fuentes, la recuperación, el ranking, el ensamblaje del contexto y la generación, en lugar de tratar todo el sistema como un único “fallo de RAG”.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fes\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">RAG falló — pero ¿qué capa falló realmente? Un método de diagnóstico\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Un método capa por capa para aislar fallos de cobertura de fuentes, recuperación, ranking, ensamblaje del contexto, generación, atribución de evidencia y actualización.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Leer el método de diagnóstico de RAG →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Cp>La arquitectura de fuente de verdad es la capa de autoridad en torno a la recuperación: decide qué fuente puede establecer una afirmación, mientras que los embeddings y el ranking solo deciden qué candidatos parecen relevantes.\u003C\u002Fp>\n\u003Ch2 id=\"section-113\">Preguntas frecuentes\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Embeddings, bases de datos vectoriales y reranking\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Cuál es la diferencia entre embeddings y una base de datos vectorial?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Los embeddings son representaciones numéricas producidas por un modelo. Una base de datos vectorial o índice vectorial almacena y busca esas representaciones junto con IDs y metadatos.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Qué hace un reranker?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Un reranker toma un conjunto de candidatos ya recuperados y vuelve a puntuar o reordena esos candidatos usando un modelo de relevancia o método de puntuación más potente.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿RAG requiere una base de datos vectorial?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">No. RAG requiere recuperación de información externa. La recuperación puede usar búsqueda léxica, SQL, APIs, grafos, búsqueda vectorial, búsqueda híbrida o combinaciones de estas.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Por qué no usar el reranker en todo el corpus?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Los rerankers suelen realizar una interacción consulta-documento más costosa, por lo que normalmente se aplican a un pequeño conjunto de candidatos top-k después de un recuperador de primera etapa más rápido.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Puede el reranking solucionar un documento faltante?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">No. Si el documento relevante no se recuperó en el conjunto de candidatos, el reranking no tiene nada que promover.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq6\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿La similitud coseno es una probabilidad de relevancia?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">No. Es una medida de similitud cuyo significado numérico depende del modelo de embedding y del corpus. No debe tratarse como una probabilidad universal de relevancia.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq7\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Debería usar BM25 y búsqueda vectorial juntos?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Usa recuperación híbrida cuando la evaluación muestre que las señales léxicas y semánticas recuperan documentos relevantes complementarios. No es automáticamente mejor para todos los corpus.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq8\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Cuándo necesito una base de datos vectorial dedicada?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Cuando la indexación vectorial, el filtrado, la escala, las actualizaciones, la operación distribuida u otros requisitos específicos de vectores justifiquen un sistema especializado. Las cargas de trabajo pequeñas pueden no necesitarla.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-115\">Glosario\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Términos clave de recuperación\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"embedding\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Embedding\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una representación numérica de contenido producida por un modelo de embedding para similitud, agrupamiento, recuperación o tareas relacionadas.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"dense-vector\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Vector denso\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una representación vectorial en la que muchas dimensiones tienen valores distintos de cero, comúnmente usada en recuperación semántica.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"sparse-vector\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Vector disperso\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una representación de alta dimensionalidad en la que la mayoría de las dimensiones son cero, a menudo preservando una estructura más fuerte de tipo token o término.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"vector-index\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Índice vectorial\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una estructura de datos que organiza vectores para una recuperación eficiente por similitud o vecinos más cercanos.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"vector-database\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Base de datos vectorial\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un sistema de almacenamiento y búsqueda diseñado para gestionar vectores, metadatos asociados y cargas de trabajo de recuperación vectorial.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"ann\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">ANN\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Búsqueda aproximada de vecinos más cercanos, que intercambia comparación exhaustiva exacta por una recuperación más rápida a escala.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"hnsw\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">HNSW\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Hierarchical Navigable Small World, un enfoque de indexación aproximada de vecinos más cercanos basado en grafos ampliamente usado para recuperación vectorial.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"bm25\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">BM25\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un método léxico de ranking de relevancia basado en la ocurrencia de términos y estadísticas del corpus, ampliamente usado en búsqueda de texto completo.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"hybrid-search\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Búsqueda híbrida\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Recuperación que combina resultados o puntuaciones de múltiples métodos de recuperación, como búsqueda léxica y vectorial.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"reranking\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Reranking\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una etapa de recuperación posterior que vuelve a puntuar y reordena un conjunto de candidatos ya generado.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"bi-encoder\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Bi-encoder\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Una arquitectura que codifica la consulta y el candidato de forma independiente, permitiendo precomputación y búsqueda por similitud escalable.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"cross-encoder\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Cross-encoder\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un modelo que procesa conjuntamente una consulta y un texto candidato, a menudo mejorando el juicio de relevancia a un mayor coste computacional.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"recall-at-k\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Recall@k\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La fracción de elementos relevantes recuperados dentro de los k candidatos principales recuperados.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"ndcg\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">nDCG\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Ganancia acumulada descontada normalizada, una métrica de ranking que recompensa los resultados relevantes que aparecen más arriba en una lista ordenada.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-117\">Conclusión\u003C\u002Fh2>\n\u003Cp>El modelo de recuperación claro es simple: los embeddings representan significado, la búsqueda vectorial recupera candidatos y los rerankers refinan el orden de los candidatos.\u003C\u002Fp>\n\u003Cp>Una vez que esos límites son explícitos, las decisiones de arquitectura se vuelven más fáciles de diagnosticar. Los candidatos faltantes apuntan hacia la cobertura de fuentes, el chunking, los embeddings, los filtros o la recuperación de primera etapa. El mal orden apunta hacia el ranking, la fusión o el reranking. Las respuestas finales incorrectas pueden investigarse entonces por separado en las capas de contexto y generación.\u003C\u002Fp>\n\u003Cp>El resultado más importante no es elegir el componente de recuperación más de moda. Es construir un pipeline de recuperación cuyas etapas, límites de autoridad, métricas y modos de fallo puedan medirse de forma independiente.\u003C\u002Fp>\n\u003Ch2 id=\"section-121\">Fuentes primarias y evidencia de implementación\u003C\u002Fh2>\n\u003Cp>Las referencias externas a continuación documentan los mecanismos de representación, búsqueda vectorial y reranking usados en este artículo. Las secciones específicas del proyecto son evidencia de implementación original y son intencionalmente más limitadas que las afirmaciones sobre una madurez completa de RAG en producción.\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.10084\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Artículo fundacional que demuestra embeddings de frases computables de forma independiente para una búsqueda eficiente por similitud semántica.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Foverview\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Qdrant — Architecture and data structure overview\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentación oficial que describe colecciones, puntos, vectores, metadatos de payload e indexación por similitud basada en HNSW.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fsearch\u002Fsearch\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Qdrant — Search\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentación oficial de búsqueda vectorial que cubre consultas por similitud, filtrado, búsqueda exacta frente a aproximada y comportamiento denso\u002Fdisperso.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Elastic — Vector search\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentación actual sobre recuperación vectorial densa\u002Fdispersa, combinaciones léxicas\u002Fvectoriales y pipelines de búsqueda multietapa.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Franking\u002Fsemantic-reranking\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Elastic — Reranking semántico\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Guía actual que define el reranking semántico como una operación de relevancia de etapa posterior sobre un conjunto de candidatos más pequeño.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Freranking-with-cohere\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Cohere — Reranking con Cohere\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentación actual que muestra el reranking como una mejora de segunda etapa sobre la recuperación de primera etapa léxica o semántica.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.sqlite.org\u002Ffts5.html\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">SQLite FTS5\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentación oficial de SQLite para la búsqueda de texto completo y la función de clasificación BM25 integrada utilizada como evidencia de recuperación léxica.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":1250},1791480309192,[214,220,228,235,242,250,255,260,265,270,275,280,285,290,316,321,326,331,336,375,380,385,390,395,400,405,410,415,420,425,430,435,440,446,451,456,461,466,471,476,481,486,491,496,501,506,511,516,521,526,531,536,541,570,575,580,585,592,597,602,607,612,617,622,627,632,637,642,647,652,657,662,699,704,709,745,750,755,760,766,771,776,781,786,791,796,801,806,811,837,843,848,879,884,920,925,963,968,973,978,983,988,993,998,1003,1008,1013,1018,1023,1032,1037,1045,1050,1055,1093,1098,1156,1161,1166,1171,1176,1181,1186,1196,1205,1214,1223,1232,1241],{"id":215,"data":216,"type":218,"tunes":219},"intro",{"text":217},"Los embeddings, las bases de datos vectoriales y los rerankers son tres partes diferentes de la recuperación. Un modelo de embedding convierte texto u otros datos en representaciones numéricas; una base de datos vectorial o un índice vectorial almacena y busca esas representaciones para recuperar elementos candidatos; un reranker toma un conjunto más pequeño de candidatos y lo reordena usando un modelo de relevancia o método de puntuación más costoso. A menudo aparecen juntos en RAG, pero ninguno de ellos es lo mismo que RAG, y ninguno es obligatorio en todos los sistemas de recuperación.","paragraph",{},{"id":221,"data":222,"type":226,"tunes":227},"direct",{"body":223,"title":224,"variant":225},"\u003Cstrong>Los embeddings representan. La búsqueda vectorial recupera. El reranking refina.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Un modelo mental útil es:\u003Cbr>\u003Cstrong>contenido → embedding → recuperación de candidatos → reranking → contexto seleccionado → modelo\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Los límites importan porque cada capa falla de manera diferente. Los embeddings deficientes distorsionan la similitud semántica. Un índice de recuperación débil pierde candidatos útiles. Un reranker puede reordenar candidatos, pero no puede recuperar un documento relevante que nunca fue recuperado.","Respuesta directa","info","callout",{},{"id":229,"data":230,"type":226,"tunes":234},"boundary",{"body":231,"title":232,"variant":233},"Una base de datos vectorial no es un modelo de embedding. Un embedding no es un resultado de búsqueda. Un reranker no es una base de datos vectorial. RAG es el patrón más amplio que puede usar cualquiera de estos componentes para recuperar información externa antes de la generación.","No colapses la pila de recuperación","warning",{},{"id":236,"data":237,"type":226,"tunes":241},"current",{"body":238,"title":239,"variant":240},"La arquitectura básica es estable aunque los productos evolucionan rápidamente. La documentación actual de Qdrant separa vectores, metadatos de payload, colecciones e índices vectoriales; la guía actual de Elastic trata el reranking semántico como una operación de etapa posterior sobre un conjunto pequeño de candidatos; la documentación actual de Cohere describe igualmente el reranking como una mejora de segunda etapa sobre la búsqueda léxica o semántica.","Nota de fuente actual — 8 de octubre de 2026","note",{},{"id":243,"data":244,"type":248,"tunes":249},"toc",{"title":245,"maxLevel":246,"minLevel":247},"Contenido",3,2,"tableOfContents",{},{"id":251,"data":252,"type":42,"tunes":254},"h-meaning",{"text":253,"level":247},"Qué significa esto realmente",{},{"id":256,"data":257,"type":218,"tunes":259},"p-meaning-1",{"text":258},"Los sistemas de búsqueda tienen dos objetivos en competencia: encontrar suficiente material potencialmente relevante y colocar el mejor material cerca de la parte superior. La recuperación rápida de primera etapa normalmente optimiza la generación de candidatos. Un modelo de segunda etapa más fuerte puede entonces gastar más cómputo distinguiendo los mejores candidatos.",{},{"id":261,"data":262,"type":218,"tunes":264},"p-meaning-2",{"text":263},"Los embeddings, los índices vectoriales y los rerankers ocupan posiciones diferentes en ese proceso. Tratarlos como una sola característica oculta decisiones de diseño importantes sobre recall, precisión, latencia, almacenamiento, filtrado de metadatos y costo del modelo.",{},{"id":266,"data":267,"type":218,"tunes":269},"p-meaning-3",{"text":268},"La distinción también evita un error común de RAG: asumir que almacenar embeddings de documentos en una base de datos vectorial crea automáticamente una recuperación de alta calidad. La calidad de la recuperación depende del modelo de embedding, el chunking, los metadatos, la construcción de la consulta, la configuración del índice, el número de candidatos, la recuperación híbrida, el reranking y la autoridad de las fuentes subyacentes.",{},{"id":271,"data":272,"type":42,"tunes":274},"h-simple",{"text":273,"level":247},"El ejemplo más simple",{},{"id":276,"data":277,"type":218,"tunes":279},"p-simple-1",{"text":278},"Supongamos que una base de conocimiento contiene 100.000 fragmentos de documentos. Un usuario pregunta: “¿Cómo revoco un token de API?”",{},{"id":281,"data":282,"type":218,"tunes":284},"p-simple-2",{"text":283},"Primero, un modelo de embedding puede codificar la consulta en un vector. Los fragmentos de documentos pueden tener ya sus propios embeddings almacenados. Una búsqueda vectorial entonces compara el vector de la consulta con los vectores de documentos indexados y devuelve, por ejemplo, 30 candidatos probables.",{},{"id":286,"data":287,"type":218,"tunes":289},"p-simple-3",{"text":288},"Esos 30 candidatos pueden entonces pasarse a un reranker. El reranker compara la consulta más directamente con cada candidato y produce un nuevo orden de relevancia. La aplicación podría conservar los cinco mejores para el contexto del modelo.",{},{"id":291,"data":292,"type":314,"tunes":315},"simple-flow",{"steps":293,"title":312,"orientation":313},[294,297,300,303,306,309],{"label":295,"description":296},"1. Incrustar documentos","Convertir cada fragmento buscable en una representación numérica, normalmente en el momento de la ingesta.",{"label":298,"description":299},"2. Almacenar\u002Findexar vectores","Asociar vectores con IDs de documentos y metadatos en un índice o base de datos vectorial buscable.",{"label":301,"description":302},"3. Incrustar la consulta","Codificar la consulta del usuario usando el modelo de embedding compatible y la configuración de consulta.",{"label":304,"description":305},"4. Recuperar candidatos","Ejecutar búsqueda de similitud vectorial, a menudo con filtros de metadatos, para producir un conjunto mayor de candidatos top-k.",{"label":307,"description":308},"5. Reordenar candidatos","Aplicar un modelo de relevancia más fuerte a la consulta y al conjunto pequeño de candidatos.",{"label":310,"description":311},"6. Seleccionar contexto","Conservar los pasajes más útiles para la respuesta posterior, el paso del agente o el resultado de búsqueda.","Un pipeline básico de recuperación semántica de dos etapas","auto","processFlow",{},{"id":317,"data":318,"type":42,"tunes":320},"h-stops",{"text":319,"level":247},"Dónde se detiene el ejemplo simple",{},{"id":322,"data":323,"type":218,"tunes":325},"p-stops-1",{"text":324},"Los sistemas de recuperación reales no tienen que usar embeddings densos en absoluto. La búsqueda por palabras clave como BM25 puede ser el recuperador de primera etapa. La recuperación dispersa aprendida, los filtros SQL, el recorrido de grafos o las APIs de aplicación también pueden generar candidatos.",{},{"id":327,"data":328,"type":218,"tunes":330},"p-stops-2",{"text":329},"A un reranker tampoco le importa que los candidatos provengan de una base de datos vectorial. Puede reordenar resultados de BM25, resultados híbridos, documentos seleccionados manualmente o candidatos de múltiples recuperadores.",{},{"id":332,"data":333,"type":218,"tunes":335},"p-stops-3",{"text":334},"Del mismo modo, los embeddings no requieren una base de datos vectorial especializada. Los conjuntos de datos pequeños pueden compararse en memoria o con bases de datos de propósito general y extensiones vectoriales. Los sistemas vectoriales especializados resultan útiles cuando la indexación, la búsqueda aproximada de vecinos más cercanos, el filtrado, la escala, el comportamiento de actualización o los requisitos operativos lo justifican.",{},{"id":337,"data":338,"type":373,"tunes":374},"core-comparison",{"rows":339,"title":361,"layout":362,"columns":363},[340,345,349,353,357],{"id":341,"label":342,"values":343},"job","Trabajo principal",[344,344,344],"",{"id":346,"label":347,"values":348},"input","Entrada típica",[344,344,344],{"id":350,"label":351,"values":352},"output","Salida típica",[344,344,344],{"id":354,"label":355,"values":356},"cost","Perfil de costo",[344,344,344],{"id":358,"label":359,"values":360},"can-miss","Fallo típico",[344,344,344],"Tres componentes de recuperación diferentes","table",[364,367,370],{"id":365,"label":366},"embedding","Embedding",{"id":368,"label":369},"vector","Base de datos vectorial \u002F índice",{"id":371,"label":372},"reranker","Reranker","comparison",{},{"id":376,"data":377,"type":42,"tunes":379},"h-embeddings",{"text":378,"level":247},"Embeddings: representación, no recuperación",{},{"id":381,"data":382,"type":218,"tunes":384},"p-emb-1",{"text":383},"Un embedding es una representación numérica producida por un modelo. Para la recuperación semántica, se pretende que los textos con significado relacionado ocupen posiciones útiles en un espacio vectorial para que una función de similitud o distancia pueda compararlos.",{},{"id":386,"data":387,"type":218,"tunes":389},"p-emb-2",{"text":388},"Sentence-BERT fue un paso influyente para hacer práctica la similitud semántica a nivel de oración con representaciones de estilo bi-encoder que pueden calcularse de forma independiente y compararse eficientemente. La idea general sigue siendo central para la recuperación densa moderna: precalcular las representaciones de los documentos, calcular la representación de la consulta en el momento de la búsqueda y luego compararlas.",{},{"id":391,"data":392,"type":218,"tunes":394},"p-emb-3",{"text":393},"El embedding en sí no busca en un corpus. Son datos producidos por un modelo de embedding. La recuperación comienza cuando el sistema compara la representación de la consulta con los candidatos almacenados.",{},{"id":396,"data":397,"type":42,"tunes":399},"h-embedding-model",{"text":398,"level":246},"El modelo de embedding define el espacio de representación",{},{"id":401,"data":402,"type":218,"tunes":404},"p-emodel-1",{"text":403},"Los vectores de documentos y consultas deben ser compatibles con el modelo y la configuración utilizados para crearlos. Reemplazar un modelo de embedding puede cambiar la dimensionalidad, el comportamiento de similitud, la cobertura de idiomas y el rendimiento en el dominio.",{},{"id":406,"data":407,"type":218,"tunes":409},"p-emodel-2",{"text":408},"Por eso una migración de modelo de embedding no es simplemente un cambio de nombre de API. Es posible que los documentos existentes deban volver a incrustarse y que el índice se reconstruya o se versione.",{},{"id":411,"data":412,"type":42,"tunes":414},"h-dense-sparse",{"text":413,"level":246},"Las representaciones densas y dispersas son diferentes",{},{"id":416,"data":417,"type":218,"tunes":419},"p-dense-1",{"text":418},"Los embeddings densos suelen contener muchas dimensiones distintas de cero y se usan comúnmente para similitud semántica. Las representaciones dispersas contienen muchos ceros y pueden preservar una estructura más fuerte similar a tokens o términos.",{},{"id":421,"data":422,"type":218,"tunes":424},"p-dense-2",{"text":423},"Ambas pueden admitir recuperación semántica, y los sistemas de búsqueda modernos pueden combinar señales densas, dispersas y léxicas. Por lo tanto, “búsqueda vectorial” no siempre significa una única canalización de similitud coseno densa.",{},{"id":426,"data":427,"type":42,"tunes":429},"h-distance",{"text":428,"level":246},"Las funciones de similitud son parte del contrato de representación",{},{"id":431,"data":432,"type":218,"tunes":434},"p-distance-1",{"text":433},"La similitud coseno, el producto punto y la distancia euclidiana no significan lo mismo. La métrica correcta depende de cómo se entrenó y normalizó el modelo de embedding.",{},{"id":436,"data":437,"type":218,"tunes":439},"p-distance-2",{"text":438},"La documentación actual de Qdrant, por ejemplo, requiere una métrica de distancia como parte de la configuración vectorial y documenta opciones de coseno, producto punto y estilo euclidiano. La regla arquitectónica importante es tratar la métrica como parte del contrato de embedding\u002Fíndice en lugar de elegir una arbitrariamente.",{},{"id":441,"data":442,"type":226,"tunes":445},"embedding-not-truth",{"body":443,"title":444,"variant":233},"Dos pasajes pueden ser semánticamente cercanos mientras uno está desactualizado, no autorizado o es incorrecto. Los embeddings estiman la similitud de representación; no determinan la autoridad de la Fuente de Verdad, la frescura ni la validez probatoria.","La similitud de embedding no es respaldo fáctico",{},{"id":447,"data":448,"type":42,"tunes":450},"h-vector-db",{"text":449,"level":247},"Bases de datos vectoriales e índices: recuperación de candidatos",{},{"id":452,"data":453,"type":218,"tunes":455},"p-vdb-1",{"text":454},"Una base de datos vectorial o un sistema de búsqueda con capacidad vectorial organiza las representaciones vectoriales para que la aplicación pueda recuperar candidatos cercanos de manera eficiente. Los sistemas prácticos suelen asociar vectores con IDs y metadatos de carga útil como fuente, idioma, inquilino, tipo de documento, marca de tiempo o alcance de acceso.",{},{"id":457,"data":458,"type":218,"tunes":460},"p-vdb-2",{"text":459},"Qdrant, por ejemplo, organiza los datos en colecciones de puntos donde un punto contiene un vector y metadatos de carga útil opcionales. Su documentación describe la búsqueda por similitud basada en HNSW y el filtrado de metadatos como capacidades separadas de la capa de recuperación.",{},{"id":462,"data":463,"type":218,"tunes":465},"p-vdb-3",{"text":464},"Esa distinción importa: el índice vectorial responde a un problema de vecino más cercano, mientras que los filtros de carga útil imponen restricciones estructurales como inquilino, clase de documento o idioma.",{},{"id":467,"data":468,"type":42,"tunes":470},"h-ann",{"text":469,"level":246},"La búsqueda aproximada de vecinos más cercanos intercambia exactitud por eficiencia",{},{"id":472,"data":473,"type":218,"tunes":475},"p-ann-1",{"text":474},"Comparar un vector de consulta contra cada vector puede ser práctico para colecciones pequeñas pero costoso a gran escala. Los índices de vecinos más cercanos aproximados como HNSW reducen el costo de búsqueda navegando una estructura de índice en lugar de escanear exhaustivamente cada vector.",{},{"id":477,"data":478,"type":218,"tunes":480},"p-ann-2",{"text":479},"La búsqueda aproximada introduce una compensación entre exhaustividad y latencia. Una búsqueda más rápida puede omitir candidatos que la búsqueda exacta devolvería. Por lo tanto, los parámetros del índice afectan la calidad de recuperación, no solo el rendimiento de la infraestructura.",{},{"id":482,"data":483,"type":218,"tunes":485},"p-ann-3",{"text":484},"Qdrant expone tanto parámetros relacionados con HNSW como una opción de búsqueda exacta, lo que ilustra que el almacenamiento vectorial y la política de recuperación aproximada son decisiones separadas.",{},{"id":487,"data":488,"type":42,"tunes":490},"h-filtering",{"text":489,"level":246},"El filtrado de metadatos pertenece antes o durante la recuperación de candidatos",{},{"id":492,"data":493,"type":218,"tunes":495},"p-filter-1",{"text":494},"Si el usuario solo puede acceder al inquilino A, recuperar fragmentos semánticamente similares del inquilino B e intentar eliminarlos después es el límite de seguridad incorrecto. La autorización y los filtros de elegibilidad estricta deben restringir el espacio de candidatos antes de que esos candidatos puedan influir en el procesamiento posterior.",{},{"id":497,"data":498,"type":218,"tunes":500},"p-filter-2",{"text":499},"El mismo principio se aplica a la configuración regional, el estado del documento, la clase de origen, la fecha, la versión del producto y otras restricciones deterministas. La similitud debe clasificar a los candidatos elegibles; no debe anular la elegibilidad.",{},{"id":502,"data":503,"type":42,"tunes":505},"h-vector-not-required",{"text":504,"level":246},"Una base de datos vectorial es opcional",{},{"id":507,"data":508,"type":218,"tunes":510},"p-optional-1",{"text":509},"Para un corpus pequeño, la comparación de similitud del coseno por fuerza bruta puede ser simple y suficiente. Una base de datos relacional con soporte vectorial también puede ser adecuada. Una base de datos vectorial dedicada se vuelve valiosa cuando su indexación, filtrado, almacenamiento distribuido, comportamiento de actualización o características operativas resuelven un requisito real.",{},{"id":512,"data":513,"type":218,"tunes":515},"p-optional-2",{"text":514},"Elegir una base de datos vectorial porque “RAG necesita una” invierte el proceso de arquitectura. Comience con los requisitos de recuperación y la escala, luego seleccione la tecnología de almacenamiento\u002Fíndice.",{},{"id":517,"data":518,"type":42,"tunes":520},"h-rerank",{"text":519,"level":247},"Reclasificación: refinamiento de relevancia en segunda etapa",{},{"id":522,"data":523,"type":218,"tunes":525},"p-rerank-1",{"text":524},"Un reclasificador recibe una consulta y un conjunto más pequeño de candidatos ya recuperados, luego asigna puntuaciones de relevancia más fuertes o un nuevo orden. Normalmente es más costoso computacionalmente que la recuperación de primera etapa, por lo que se aplica después de la generación de candidatos en lugar de a todo el corpus.",{},{"id":527,"data":528,"type":218,"tunes":530},"p-rerank-2",{"text":529},"La guía actual de Elastic describe la reclasificación semántica como una técnica de etapa final sobre un pequeño conjunto top-k y señala que puede refinar la recuperación léxica, semántica o híbrida. Cohere documenta la misma arquitectura: búsqueda léxica o semántica de primera etapa seguida de una etapa de reclasificación.",{},{"id":532,"data":533,"type":218,"tunes":535},"p-rerank-3",{"text":534},"Una implementación común utiliza un modelo similar a un codificador cruzado que examina la consulta y cada candidato juntos. Esa interacción más rica puede distinguir la relevancia con mayor precisión que la similitud de incrustación independiente, pero es mucho más costosa a escala de corpus.",{},{"id":537,"data":538,"type":42,"tunes":540},"h-bi-cross",{"text":539,"level":246},"La recuperación con bi-codificador y la reclasificación con codificador cruzado resuelven diferentes problemas de costo",{},{"id":542,"data":543,"type":362,"tunes":569},"encoder-table",{"content":544,"stretched":43,"withHeadings":14},[545,549,553,557,561,565],[546,547,548],"Propiedad","Recuperación con bi-codificador \u002F incrustación","Reclasificación estilo codificador cruzado",[550,551,552],"Codificación","Consulta y documentos representados independientemente","Consulta y candidato procesados conjuntamente",[554,555,556],"Cálculo de documentos","Se puede precalcular en la ingesta","Normalmente se recalcula por par consulta-candidato",[558,559,560],"Búsqueda a escala de corpus","Adecuada con índices vectoriales","Generalmente demasiado costosa en todo el corpus",[562,563,564],"Rol típico","Generación de candidatos con alta exhaustividad","Ordenación de alta precisión de un conjunto pequeño de candidatos",[566,567,568],"Principal compensación","Rápida y escalable pero la interacción de relevancia se comprime en vectores","Juicio de relevancia más rico pero mayor latencia\u002Fcosto",{},{"id":571,"data":572,"type":42,"tunes":574},"h-rerank-limit",{"text":573,"level":246},"Un reclasificador no puede recuperar lo que la recuperación omitió",{},{"id":576,"data":577,"type":218,"tunes":579},"p-rerank-limit-1",{"text":578},"Si el documento relevante está ausente del conjunto de candidatos, el reranking no tiene nada que promover. Esta es la razón central para evaluar la recuperación y el reranking por separado.",{},{"id":581,"data":582,"type":218,"tunes":584},"p-rerank-limit-2",{"text":583},"Un pipeline puede tener una precisión excelente en el reranker y aun así fallar porque la recuperación de la primera etapa es deficiente. Aumentar la calidad del reranker no reparará la cobertura de origen faltante, un chunking deficiente, filtros restrictivos o un recuperador de candidatos débil.",{},{"id":586,"data":587,"type":226,"tunes":591},"recall-precision",{"body":588,"title":589,"variant":590},"Primera etapa: \u003Cstrong>no perder los candidatos útiles.\u003C\u002Fstrong>\u003Cbr>Segunda etapa: \u003Cstrong>poner los mejores candidatos primero.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Esto no es una regla matemática universal, pero es un modelo de ingeniería útil para la recuperación en dos etapas.","Objetivo de recuperación útil","success",{},{"id":593,"data":594,"type":42,"tunes":596},"h-hybrid",{"text":595,"level":247},"La recuperación híbrida es una decisión de diseño aparte",{},{"id":598,"data":599,"type":218,"tunes":601},"p-hybrid-1",{"text":600},"La recuperación semántica densa es fuerte cuando la consulta y el documento usan un vocabulario diferente pero expresan un significado relacionado. La recuperación léxica es fuerte cuando importan los términos exactos, identificadores, nombres, códigos o frases poco comunes.",{},{"id":603,"data":604,"type":218,"tunes":606},"p-hybrid-2",{"text":605},"La recuperación híbrida combina múltiples señales de candidatos, a menudo BM25 léxico y similitud vectorial, y luego fusiona los rankings usando un método como Reciprocal Rank Fusion o una combinación de puntuaciones ponderadas.",{},{"id":608,"data":609,"type":218,"tunes":611},"p-hybrid-3",{"text":610},"El reranking puede entonces operar sobre el conjunto de candidatos fusionado. La recuperación híbrida y el reranking son, por lo tanto, etapas complementarias pero distintas.",{},{"id":613,"data":614,"type":42,"tunes":616},"h-bm25",{"text":615,"level":246},"BM25 no está obsoleto porque existan los embeddings",{},{"id":618,"data":619,"type":218,"tunes":621},"p-bm25-1",{"text":620},"La búsqueda por palabras clave puede superar a la recuperación densa para identificadores exactos, números de versión, mensajes de error, códigos de producto y vocabulario especializado. SQLite FTS5, por ejemplo, incluye una función de ranking BM25 para búsqueda de texto completo.",{},{"id":623,"data":624,"type":218,"tunes":626},"p-bm25-2",{"text":625},"Una arquitectura de recuperación sólida puede usar la recuperación léxica como única primera etapa, la recuperación vectorial como única primera etapa, o combinar ambas según el corpus y la distribución de consultas.",{},{"id":628,"data":629,"type":42,"tunes":631},"h-chunking",{"text":630,"level":247},"El chunking cambia lo que los embeddings y los rerankers pueden ver",{},{"id":633,"data":634,"type":218,"tunes":636},"p-chunk-1",{"text":635},"Si un documento se divide mal, ningún componente de recuperación posterior puede reconstruir completamente la unidad semántica faltante. Un chunk que separa una condición de su excepción puede generar un embedding engañoso y también puede ser rerankeado incorrectamente porque el texto candidato está incompleto.",{},{"id":638,"data":639,"type":218,"tunes":641},"p-chunk-2",{"text":640},"El tamaño del chunk, el solapamiento, los límites estructurales y los metadatos afectan tanto la recuperación de candidatos como el juicio del reranker. La evaluación de la recuperación debe probar el pipeline completo desde la ingesta hasta el ranking, no solo el modelo de embeddings.",{},{"id":643,"data":644,"type":42,"tunes":646},"h-scores",{"text":645,"level":247},"No compares las puntuaciones de recuperación como si fueran probabilidades universales",{},{"id":648,"data":649,"type":218,"tunes":651},"p-scores-1",{"text":650},"La similitud del coseno, las puntuaciones BM25, las puntuaciones de vectores dispersos, los rangos RRF y las puntuaciones del reranker tienen significados diferentes. Una puntuación de 0.82 de un modelo de embeddings no es automáticamente comparable con 0.82 de otro modelo ni con una puntuación de un reranker.",{},{"id":653,"data":654,"type":218,"tunes":656},"p-scores-2",{"text":655},"Los umbrales deben calibrarse para el modelo, el corpus y la tarea reales. La guía actual de Elastic también señala que las puntuaciones de similitud de embeddings pueden depender de la consulta, lo que hace arriesgados los cortes universales.",{},{"id":658,"data":659,"type":42,"tunes":661},"h-eval",{"text":660,"level":247},"Evalúa las etapas de recuperación por separado",{},{"id":663,"data":664,"type":362,"tunes":698},"eval-table",{"content":665,"stretched":43,"withHeadings":14},[666,670,674,678,682,686,690,694],[667,668,669],"Capa","Pregunta útil","Métrica o prueba de ejemplo",[671,672,673],"Cobertura de origen","¿El corpus contiene la información necesaria?","Auditoría de cobertura \u002F conjunto de fuentes con respuestas conocidas",[675,676,677],"Chunking","¿La evidencia necesaria es recuperable como una unidad coherente?","Revisión de soporte a nivel de chunk",[679,680,681],"Recuperación de primera etapa","¿El elemento relevante entra en el conjunto de candidatos?","Recall@k",[683,684,685],"Ranking","¿Qué tan alto aparece la evidencia relevante?","MRR, nDCG, precision@k",[687,688,689],"Reranking","¿La puntuación de la segunda etapa mejora el orden?","Delta nDCG \u002F MRR \u002F precision",[691,692,693],"Selección de contexto","¿Los pasajes finales seleccionados contienen soporte suficiente?","Relevancia \u002F cobertura del contexto",[695,696,697],"Etapa de respuesta","¿El modelo usa correctamente la evidencia seleccionada?","Fidelidad \u002F evaluación de afirmación-evidencia",{},{"id":700,"data":701,"type":218,"tunes":703},"p-eval-1",{"text":702},"Esta separación es operativamente importante. Si Recall@50 es deficiente, el reranker no es el primer componente a corregir. Si Recall@50 es fuerte pero el mejor pasaje permanece en el rango 38, el reranking o la fusión de rankings se convierte en un objetivo plausible.",{},{"id":705,"data":706,"type":42,"tunes":708},"h-failure-map",{"text":707,"level":247},"¿Qué capa falló realmente?",{},{"id":710,"data":711,"type":373,"tunes":744},"failure-comparison",{"rows":712,"title":733,"layout":362,"columns":734},[713,717,721,725,729],{"id":714,"label":715,"values":716},"missed","El documento relevante nunca aparece",[344,344,344],{"id":718,"label":719,"values":720},"lowrank","El documento relevante aparece demasiado abajo",[344,344,344],{"id":722,"label":723,"values":724},"wrongtenant","Resultado semánticamente bueno pero prohibido",[344,344,344],{"id":726,"label":727,"values":728},"stale","Resultado relevante pero desactualizado",[344,344,344],{"id":730,"label":731,"values":732},"context","Resultado correcto recuperado pero omitido del prompt",[344,344,344],"Síntomas y capa de recuperación probable",[735,738,741],{"id":736,"label":737},"symptom","Síntoma observado",{"id":739,"label":740},"likely","Capa probable",{"id":742,"label":743},"test","Primer diagnóstico",{},{"id":746,"data":747,"type":42,"tunes":749},"h-authority",{"text":748,"level":247},"Relevancia y Fuente de Verdad son diferentes",{},{"id":751,"data":752,"type":218,"tunes":754},"p-authority-1",{"text":753},"Un reranker puede hacer que un documento obsoleto parezca extremadamente relevante. Un índice vectorial puede recuperar un resumen secundario que es semánticamente más cercano que la fuente primaria. Por lo tanto, la calidad de la recuperación no puede reemplazar las reglas de autoridad.",{},{"id":756,"data":757,"type":218,"tunes":759},"p-authority-2",{"text":758},"Donde la autoridad de la fuente importa, los filtros de metadatos, las clases de fuente, las reglas de versión y la procedencia deben restringir la recuperación antes de que el resultado se convierta en contexto del modelo.",{},{"id":761,"data":762,"type":226,"tunes":765},"authority-callout",{"body":763,"title":764,"variant":233},"La relevancia responde si un candidato se ajusta a la consulta. La arquitectura de Fuente de Verdad responde si ese candidato tiene permitido establecer la afirmación.","El reranking no puede hacer que una fuente no autoritativa sea autoritativa",{},{"id":767,"data":768,"type":42,"tunes":770},"h-impl",{"text":769,"level":247},"Evidencia de implementación original",{},{"id":772,"data":773,"type":42,"tunes":775},"h-sot-engine",{"text":774,"level":246},"Motor de Investigación de Fuente de Verdad: la recuperación léxica y semántica están separadas",{},{"id":777,"data":778,"type":218,"tunes":780},"p-sot-1",{"text":779},"El Motor de Investigación de Fuente de Verdad contiene una ruta de recuperación léxica local usando SQLite FTS5\u002FBM25 y una ruta de recuperación semántica opcional separada usando embeddings generados localmente.",{},{"id":782,"data":783,"type":218,"tunes":785},"p-sot-2",{"text":784},"Su implementación de búsqueda semántica calcula un vector de consulta y lo compara con vectores de fragmentos almacenados usando similitud coseno. El proyecto trata deliberadamente la similitud semántica como una señal de descubrimiento en lugar de evidencia: un candidato aún debe rastrearse hasta una fuente y localizador concretos antes de respaldar una afirmación.",{},{"id":787,"data":788,"type":218,"tunes":790},"p-sot-3",{"text":789},"Esta es evidencia de implementación útil para R01 porque el mismo corpus puede soportar ranking léxico y similitud vectorial sin confundir ninguno de los dos mecanismos con autoridad probatoria.",{},{"id":792,"data":793,"type":42,"tunes":795},"h-client",{"text":794,"level":246},"Cliente de IA Aaasaasa: Qdrant es un componente de infraestructura vectorial",{},{"id":797,"data":798,"type":218,"tunes":800},"p-client-1",{"text":799},"El Cliente de IA Aaasaasa incluye Qdrant\u002Finfraestructura vectorial como un recurso local separado. La arquitectura de Electron expone los servicios de Qdrant desde el lado confiable del proceso principal en lugar de tratar la búsqueda vectorial como parte del modelo mismo.",{},{"id":802,"data":803,"type":218,"tunes":805},"p-client-2",{"text":804},"El repositorio contiene un adaptador de cliente Qdrant, configuración de servicio Qdrant e infraestructura Qdrant basada en Docker. Esto demuestra la separación arquitectónica entre la ejecución del proveedor\u002Fmodelo de IA y el almacenamiento\u002Fbúsqueda vectorial.",{},{"id":807,"data":808,"type":218,"tunes":810},"p-client-3",{"text":809},"La existencia de soporte para Qdrant no debe exagerarse como un pipeline RAG de producción completo. La evidencia aquí es más limitada: la infraestructura vectorial está implementada como su propio límite de componente.",{},{"id":812,"data":813,"type":362,"tunes":836},"impl-table",{"content":814,"stretched":43,"withHeadings":14},[815,818,821,824,827,830,833],[816,817],"Evidencia de implementación","Qué demuestra",[819,820],"SQLite FTS5\u002FBM25 en el Motor de Investigación de Fuente de Verdad","La recuperación léxica puede existir independientemente de los embeddings.",[822,823],"Embeddings locales de Ollama","La generación de representaciones es su propia etapa.",[825,826],"Vectores semánticos almacenados + comparación coseno","La recuperación semántica consume embeddings después de que han sido producidos.",[828,829],"Soporte de Qdrant en el Cliente de IA Aaasaasa","El almacenamiento\u002Fbúsqueda vectorial es una capacidad de infraestructura separada del proveedor del modelo.",[831,832],"Reglas de evidencia\u002Fprocedencia en el Motor de Investigación de Fuente de Verdad","La similitud recuperada no equivale a autoridad ni prueba.",[834,835],"Ningún reranker personalizado declarado en estas implementaciones","El reranking se explica como una etapa arquitectónica, no se declara falsamente como evidencia ya implementada.",{},{"id":838,"data":839,"type":226,"tunes":842},"impl-discipline",{"body":840,"title":841,"variant":240},"La evidencia de implementación actual confirma recuperación léxica, embeddings, infraestructura de búsqueda vectorial y recuperación consciente de procedencia. Este artículo \u003Cstrong>no\u003C\u002Fstrong> afirma que un servicio de reranking cross-encoder de producción ya esté implementado en estos proyectos.","Límite de evidencia",{},{"id":844,"data":845,"type":42,"tunes":847},"h-decisions",{"text":846,"level":247},"¿Cuándo necesitas cada componente?",{},{"id":849,"data":850,"type":362,"tunes":878},"decision-table",{"content":851,"stretched":43,"withHeadings":14},[852,855,858,861,864,867,869,872,875],[853,854],"Necesidad","Componente probable",[856,857],"Similitud semántica entre diferentes redacciones","Modelo de embedding + búsqueda de similitud vectorial",[859,860],"Búsqueda eficiente sobre un gran corpus vectorial","Índice\u002Fbase de datos vectorial o motor de búsqueda con capacidad vectorial",[862,863],"Identificadores exactos, códigos de error o términos raros","Recuperación léxica\u002Fde texto completo como BM25",[865,866],"Tanto terminología exacta como significado semántico","Recuperación híbrida léxica + semántica",[868,372],"El conjunto de candidatos es bueno pero el ordenamiento es débil",[870,871],"Los elementos relevantes están ausentes del conjunto de candidatos","Mejorar la cobertura de fuentes, el chunking, el retriever, los filtros o el número de candidatos antes del reranking",[873,874],"Restricciones estrictas de tenant\u002Ffuente\u002Fversión","Filtrado determinista de metadatos\u002Fautorización",[876,877],"Corpus pequeño","Potencialmente similitud por fuerza bruta simple o base de datos de propósito general en lugar de una base de datos vectorial dedicada",{},{"id":880,"data":881,"type":42,"tunes":883},"h-sequence",{"text":882,"level":247},"Una secuencia práctica de diseño de recuperación",{},{"id":885,"data":886,"type":314,"tunes":919},"design-flow",{"steps":887,"title":918,"orientation":313},[888,891,894,897,900,903,906,909,912,915],{"label":889,"description":890},"1. Definir los tipos de consulta","Identificar preguntas semánticas, búsquedas exactas, identificadores, lecturas de estado actual y patrones específicos del dominio.",{"label":892,"description":893},"2. Definir las fuentes elegibles","Aplicar restricciones de tenant, autorización, idioma, versión, clase de fuente y frescura.",{"label":895,"description":896},"3. Establecer una línea base léxica","Medir si la recuperación simple de texto completo\u002FBM25 ya resuelve gran parte de la carga de trabajo.",{"label":898,"description":899},"4. Añadir embeddings donde se necesite recall semántico","Elegir y evaluar un modelo de embedding con consultas representativas del dominio.",{"label":901,"description":902},"5. Elegir el almacenamiento\u002Findexación vectorial según la escala","Usar fuerza bruta, soporte vectorial de base de datos o un motor vectorial dedicado según los requisitos.",{"label":904,"description":905},"6. Evaluar el recall de la primera etapa","Confirmar que la evidencia relevante entra en un conjunto de candidatos suficientemente grande.",{"label":907,"description":908},"7. Añadir recuperación híbrida si las señales son complementarias","Fusionar los rankings léxico y semántico cuando ambos mejoran materialmente la generación de candidatos.",{"label":910,"description":911},"8. Añadir reranking si el ordenamiento sigue siendo el cuello de botella","Aplicar el modelo más fuerte solo al conjunto de candidatos donde su coste está justificado.",{"label":913,"description":914},"9. Ajustar la selección final de contexto","Controlar la redundancia, el presupuesto de contexto, la autoridad, la diversidad y la cobertura de evidencia antes de la generación.",{"label":916,"description":917},"10. Evaluar de extremo a extremo","Medir por separado la calidad de la recuperación, del contexto y de la respuesta para poder localizar los fallos.","Diseñar la recuperación a partir de los requisitos, no de los nombres de productos",{},{"id":921,"data":922,"type":42,"tunes":924},"h-misconceptions",{"text":923,"level":247},"Conceptos erróneos comunes",{},{"id":926,"data":927,"type":362,"tunes":962},"misconceptions-table",{"content":928,"stretched":43,"withHeadings":14},[929,932,935,938,941,944,947,950,953,956,959],[930,931],"Concepto erróneo","Corrección",[933,934],"“Un embedding es una base de datos vectorial.”","Un embedding es una representación; la base de datos\u002Fíndice almacena y busca representaciones.",[936,937],"“Una base de datos vectorial crea significado semántico.”","El modelo de embedding crea la representación; el sistema vectorial la indexa y la compara.",[939,940],"“RAG requiere una base de datos vectorial.”","RAG requiere recuperación, no una tecnología de recuperación específica.",[942,943],"“El reranking es lo mismo que la búsqueda vectorial.”","La búsqueda vectorial genera candidatos; el reranking reordena un conjunto de candidatos.",[945,946],"“Los rerankers arreglan un recall pobre.”","No pueden promover un documento que nunca fue recuperado.",[948,949],"“La búsqueda densa reemplaza a BM25.”","La búsqueda léxica sigue siendo valiosa para términos exactos, identificadores y vocabulario especializado.",[951,952],"“Mayor similitud significa más autoridad.”","La similitud y la autoridad de la fuente son dimensiones diferentes.",[954,955],"“Más top-k siempre mejora RAG.”","Conjuntos de candidatos más grandes pueden mejorar el recall pero añaden latencia, ruido y carga de selección de contexto.",[957,958],"“Un umbral de puntuación funciona en todas partes.”","Las puntuaciones dependen del modelo, la consulta, el corpus y el método de recuperación y deben calibrarse.",[960,961],"“Una base de datos vectorial dedicada siempre es más avanzada.”","Solo se justifica cuando sus capacidades operativas y de recuperación coinciden con los requisitos.",{},{"id":964,"data":965,"type":42,"tunes":967},"h-edge",{"text":966,"level":247},"Casos límite y limitaciones",{},{"id":969,"data":970,"type":218,"tunes":972},"p-edge-1",{"text":971},"Algunas aplicaciones no necesitan búsqueda semántica. La búsqueda exacta en base de datos o SQL estructurado puede ser más correcta, más rápida y más fácil de auditar que la recuperación por embeddings.",{},{"id":974,"data":975,"type":218,"tunes":977},"p-edge-2",{"text":976},"Algunos corpus son tan pequeños que un escaneo vectorial completo es aceptable. La indexación aproximada añade complejidad sin un beneficio significativo.",{},{"id":979,"data":980,"type":218,"tunes":982},"p-edge-3",{"text":981},"Algunas consultas requieren un recall alto antes de cualquier optimización de precisión. La discovery legal, la investigación y la revisión de cumplimiento pueden preferir una recuperación amplia de candidatos seguida de un filtrado transparente y revisión humana.",{},{"id":984,"data":985,"type":218,"tunes":987},"p-edge-4",{"text":986},"La recuperación multilingüe y específica del dominio puede comportarse de manera muy diferente entre modelos de embedding. Las afirmaciones de benchmark de conjuntos de datos públicos no deben tratarse como prueba para un corpus privado.",{},{"id":989,"data":990,"type":218,"tunes":992},"p-edge-5",{"text":991},"La latencia del reranking crece con el número y la longitud de los candidatos. Por lo tanto, el tamaño de candidatos debe ajustarse como una variable de precisión\u002Fcoste\u002Flatencia en lugar de copiarse de un tutorial.",{},{"id":994,"data":995,"type":42,"tunes":997},"h-change",{"text":996,"level":247},"¿Qué cambiaría esta respuesta?",{},{"id":999,"data":1000,"type":218,"tunes":1002},"p-change-1",{"text":1001},"Los límites de los componentes no cambiarían si un proveedor empaqueta la generación de embeddings, la indexación vectorial y el reranking detrás de una sola API. El producto puede ocultar las etapas, pero siguen siendo responsabilidades conceptualmente diferentes con modos de fallo diferentes.",{},{"id":1004,"data":1005,"type":218,"tunes":1007},"p-change-2",{"text":1006},"Los futuros modelos de embedding o recuperación pueden reducir la necesidad de un reranking separado en algunas cargas de trabajo, mientras que métodos más fuertes de interacción tardía o dispersos aprendidos pueden difuminar las categorías tradicionales denso\u002Fléxico. La arquitectura aún debería preguntar qué etapa produce representaciones, qué etapa genera candidatos y qué etapa refina el ranking.",{},{"id":1009,"data":1010,"type":218,"tunes":1012},"p-change-3",{"text":1011},"El mejor diseño también cambia con el tamaño del corpus, la mezcla de consultas, el idioma, la terminología del dominio, la frecuencia de actualización, la autoridad de la fuente, el presupuesto de latencia y los resultados de evaluación.",{},{"id":1014,"data":1015,"type":42,"tunes":1017},"h-related",{"text":1016,"level":247},"Conocimiento canónico relacionado",{},{"id":1019,"data":1020,"type":218,"tunes":1022},"p-related-1",{"text":1021},"R01 asume que el concepto básico de RAG ya se entiende. RAG es el patrón más amplio en el que se proporciona información externa recuperada a un modelo; los embeddings, la búsqueda vectorial y el reranking son componentes de recuperación opcionales dentro de ese patrón.",{},{"id":1024,"data":1025,"type":1030,"tunes":1031},"ref-rag",{"url":1026,"title":1027,"excerpt":1028,"ctaLabel":1029},"https:\u002F\u002Fstajic.de\u002Fes\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","¿Qué es RAG? La explicación más sencilla de cómo funciona","Una base en lenguaje sencillo sobre cómo la recuperación incorpora conocimiento externo al contexto del modelo.","Leer los fundamentos de RAG","referralArticle",{},{"id":1033,"data":1034,"type":218,"tunes":1036},"p-related-2",{"text":1035},"Cuando la recuperación falla, diagnostica por separado la cobertura de fuentes, la recuperación, el ranking, el ensamblaje del contexto y la generación, en lugar de tratar todo el sistema como un único “fallo de RAG”.",{},{"id":1038,"data":1039,"type":1030,"tunes":1044},"ref-rag-failed",{"url":1040,"title":1041,"excerpt":1042,"ctaLabel":1043},"https:\u002F\u002Fstajic.de\u002Fes\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method","RAG falló — pero ¿qué capa falló realmente? Un método de diagnóstico","Un método capa por capa para aislar fallos de cobertura de fuentes, recuperación, ranking, ensamblaje del contexto, generación, atribución de evidencia y actualización.","Leer el método de diagnóstico de RAG",{},{"id":1046,"data":1047,"type":218,"tunes":1049},"p-related-3",{"text":1048},"La arquitectura de fuente de verdad es la capa de autoridad en torno a la recuperación: decide qué fuente puede establecer una afirmación, mientras que los embeddings y el ranking solo deciden qué candidatos parecen relevantes.",{},{"id":1051,"data":1052,"type":42,"tunes":1054},"h-faq",{"text":1053,"level":247},"Preguntas frecuentes",{},{"id":1056,"data":1057,"type":1056,"tunes":1092},"faq",{"items":1058,"title":1091},[1059,1063,1067,1071,1075,1079,1083,1087],{"id":1060,"answer":1061,"question":1062},"faq1","Los embeddings son representaciones numéricas producidas por un modelo. Una base de datos vectorial o índice vectorial almacena y busca esas representaciones junto con IDs y metadatos.","¿Cuál es la diferencia entre embeddings y una base de datos vectorial?",{"id":1064,"answer":1065,"question":1066},"faq2","Un reranker toma un conjunto de candidatos ya recuperados y vuelve a puntuar o reordena esos candidatos usando un modelo de relevancia o método de puntuación más potente.","¿Qué hace un reranker?",{"id":1068,"answer":1069,"question":1070},"faq3","No. RAG requiere recuperación de información externa. La recuperación puede usar búsqueda léxica, SQL, APIs, grafos, búsqueda vectorial, búsqueda híbrida o combinaciones de estas.","¿RAG requiere una base de datos vectorial?",{"id":1072,"answer":1073,"question":1074},"faq4","Los rerankers suelen realizar una interacción consulta-documento más costosa, por lo que normalmente se aplican a un pequeño conjunto de candidatos top-k después de un recuperador de primera etapa más rápido.","¿Por qué no usar el reranker en todo el corpus?",{"id":1076,"answer":1077,"question":1078},"faq5","No. Si el documento relevante no se recuperó en el conjunto de candidatos, el reranking no tiene nada que promover.","¿Puede el reranking solucionar un documento faltante?",{"id":1080,"answer":1081,"question":1082},"faq6","No. Es una medida de similitud cuyo significado numérico depende del modelo de embedding y del corpus. No debe tratarse como una probabilidad universal de relevancia.","¿La similitud coseno es una probabilidad de relevancia?",{"id":1084,"answer":1085,"question":1086},"faq7","Usa recuperación híbrida cuando la evaluación muestre que las señales léxicas y semánticas recuperan documentos relevantes complementarios. No es automáticamente mejor para todos los corpus.","¿Debería usar BM25 y búsqueda vectorial juntos?",{"id":1088,"answer":1089,"question":1090},"faq8","Cuando la indexación vectorial, el filtrado, la escala, las actualizaciones, la operación distribuida u otros requisitos específicos de vectores justifiquen un sistema especializado. Las cargas de trabajo pequeñas pueden no necesitarla.","¿Cuándo necesito una base de datos vectorial dedicada?","Embeddings, bases de datos vectoriales y reranking",{},{"id":1094,"data":1095,"type":42,"tunes":1097},"h-glossary",{"text":1096,"level":247},"Glosario",{},{"id":1099,"data":1100,"type":1099,"tunes":1155},"glossary",{"title":1101,"entries":1102},"Términos clave de recuperación",[1103,1105,1109,1113,1117,1121,1125,1129,1133,1137,1140,1144,1148,1151],{"term":366,"anchor":365,"definition":1104},"Una representación numérica de contenido producida por un modelo de embedding para similitud, agrupamiento, recuperación o tareas relacionadas.",{"term":1106,"anchor":1107,"definition":1108},"Vector denso","dense-vector","Una representación vectorial en la que muchas dimensiones tienen valores distintos de cero, comúnmente usada en recuperación semántica.",{"term":1110,"anchor":1111,"definition":1112},"Vector disperso","sparse-vector","Una representación de alta dimensionalidad en la que la mayoría de las dimensiones son cero, a menudo preservando una estructura más fuerte de tipo token o término.",{"term":1114,"anchor":1115,"definition":1116},"Índice vectorial","vector-index","Una estructura de datos que organiza vectores para una recuperación eficiente por similitud o vecinos más cercanos.",{"term":1118,"anchor":1119,"definition":1120},"Base de datos vectorial","vector-database","Un sistema de almacenamiento y búsqueda diseñado para gestionar vectores, metadatos asociados y cargas de trabajo de recuperación vectorial.",{"term":1122,"anchor":1123,"definition":1124},"ANN","ann","Búsqueda aproximada de vecinos más cercanos, que intercambia comparación exhaustiva exacta por una recuperación más rápida a escala.",{"term":1126,"anchor":1127,"definition":1128},"HNSW","hnsw","Hierarchical Navigable Small World, un enfoque de indexación aproximada de vecinos más cercanos basado en grafos ampliamente usado para recuperación vectorial.",{"term":1130,"anchor":1131,"definition":1132},"BM25","bm25","Un método léxico de ranking de relevancia basado en la ocurrencia de términos y estadísticas del corpus, ampliamente usado en búsqueda de texto completo.",{"term":1134,"anchor":1135,"definition":1136},"Búsqueda híbrida","hybrid-search","Recuperación que combina resultados o puntuaciones de múltiples métodos de recuperación, como búsqueda léxica y vectorial.",{"term":687,"anchor":1138,"definition":1139},"reranking","Una etapa de recuperación posterior que vuelve a puntuar y reordena un conjunto de candidatos ya generado.",{"term":1141,"anchor":1142,"definition":1143},"Bi-encoder","bi-encoder","Una arquitectura que codifica la consulta y el candidato de forma independiente, permitiendo precomputación y búsqueda por similitud escalable.",{"term":1145,"anchor":1146,"definition":1147},"Cross-encoder","cross-encoder","Un modelo que procesa conjuntamente una consulta y un texto candidato, a menudo mejorando el juicio de relevancia a un mayor coste computacional.",{"term":681,"anchor":1149,"definition":1150},"recall-at-k","La fracción de elementos relevantes recuperados dentro de los k candidatos principales recuperados.",{"term":1152,"anchor":1153,"definition":1154},"nDCG","ndcg","Ganancia acumulada descontada normalizada, una métrica de ranking que recompensa los resultados relevantes que aparecen más arriba en una lista ordenada.",{},{"id":1157,"data":1158,"type":42,"tunes":1160},"h-conclusion",{"text":1159,"level":247},"Conclusión",{},{"id":1162,"data":1163,"type":218,"tunes":1165},"p-conclusion-1",{"text":1164},"El modelo de recuperación claro es simple: los embeddings representan significado, la búsqueda vectorial recupera candidatos y los rerankers refinan el orden de los candidatos.",{},{"id":1167,"data":1168,"type":218,"tunes":1170},"p-conclusion-2",{"text":1169},"Una vez que esos límites son explícitos, las decisiones de arquitectura se vuelven más fáciles de diagnosticar. Los candidatos faltantes apuntan hacia la cobertura de fuentes, el chunking, los embeddings, los filtros o la recuperación de primera etapa. El mal orden apunta hacia el ranking, la fusión o el reranking. Las respuestas finales incorrectas pueden investigarse entonces por separado en las capas de contexto y generación.",{},{"id":1172,"data":1173,"type":218,"tunes":1175},"p-conclusion-3",{"text":1174},"El resultado más importante no es elegir el componente de recuperación más de moda. Es construir un pipeline de recuperación cuyas etapas, límites de autoridad, métricas y modos de fallo puedan medirse de forma independiente.",{},{"id":1177,"data":1178,"type":42,"tunes":1180},"h-sources",{"text":1179,"level":247},"Fuentes primarias y evidencia de implementación",{},{"id":1182,"data":1183,"type":218,"tunes":1185},"p-sources-note",{"text":1184},"Las referencias externas a continuación documentan los mecanismos de representación, búsqueda vectorial y reranking usados en este artículo. Las secciones específicas del proyecto son evidencia de implementación original y son intencionalmente más limitadas que las afirmaciones sobre una madurez completa de RAG en producción.",{},{"id":1187,"data":1188,"type":1194,"tunes":1195},"src-sbert",{"link":1189,"meta":1190},"https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.10084",{"image":1191,"title":1192,"description":1193},{"url":344},"Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks","Artículo fundacional que demuestra embeddings de frases computables de forma independiente para una búsqueda eficiente por similitud semántica.","linkTool",{},{"id":1197,"data":1198,"type":1194,"tunes":1204},"src-qdrant-overview",{"link":1199,"meta":1200},"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Foverview\u002F",{"image":1201,"title":1202,"description":1203},{"url":344},"Qdrant — Architecture and data structure overview","Documentación oficial que describe colecciones, puntos, vectores, metadatos de payload e indexación por similitud basada en HNSW.",{},{"id":1206,"data":1207,"type":1194,"tunes":1213},"src-qdrant-search",{"link":1208,"meta":1209},"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fsearch\u002Fsearch\u002F",{"image":1210,"title":1211,"description":1212},{"url":344},"Qdrant — Search","Documentación oficial de búsqueda vectorial que cubre consultas por similitud, filtrado, búsqueda exacta frente a aproximada y comportamiento denso\u002Fdisperso.",{},{"id":1215,"data":1216,"type":1194,"tunes":1222},"src-elastic-vector",{"link":1217,"meta":1218},"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector",{"image":1219,"title":1220,"description":1221},{"url":344},"Elastic — Vector search","Documentación actual sobre recuperación vectorial densa\u002Fdispersa, combinaciones léxicas\u002Fvectoriales y pipelines de búsqueda multietapa.",{},{"id":1224,"data":1225,"type":1194,"tunes":1231},"src-elastic-rerank",{"link":1226,"meta":1227},"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Franking\u002Fsemantic-reranking",{"image":1228,"title":1229,"description":1230},{"url":344},"Elastic — Reranking semántico","Guía actual que define el reranking semántico como una operación de relevancia de etapa posterior sobre un conjunto de candidatos más pequeño.",{},{"id":1233,"data":1234,"type":1194,"tunes":1240},"src-cohere-rerank",{"link":1235,"meta":1236},"https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Freranking-with-cohere",{"image":1237,"title":1238,"description":1239},{"url":344},"Cohere — Reranking con Cohere","Documentación actual que muestra el reranking como una mejora de segunda etapa sobre la recuperación de primera etapa léxica o semántica.",{},{"id":1242,"data":1243,"type":1194,"tunes":1249},"src-sqlite-fts5",{"link":1244,"meta":1245},"https:\u002F\u002Fwww.sqlite.org\u002Ffts5.html",{"image":1246,"title":1247,"description":1248},{"url":344},"SQLite FTS5","Documentación oficial de SQLite para la búsqueda de texto completo y la función de clasificación BM25 integrada utilizada como evidencia de recuperación léxica.",{},"2.31","Las incrustaciones representan el significado, las bases de datos vectoriales recuperan candidatos y los rerankers refinan los resultados. Aprende en qué se diferencian y cómo trabajan juntas estas tres capas de recuperación en RAG.","\u002Fuploads\u002F2026\u002F10\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval-1791480129884-9dtasz.webp","vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval-1791480129884-9dtasz","PUBLISHED","2026-10-08T11:21:00.000Z","2026-10-08T17:21:30.174Z","2026-10-08T20:06:31.300Z",{"en":1259,"de":1260,"sr":1261,"es":1262,"fr":1263,"it":1264,"ru":1265,"zh":1266},"\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u002Fde\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u002Fsr\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u002Fes\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u002Ffr\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u002Fit\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u002Fru\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u002Fzh\u002Fblog\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval",[1268,1272,1276],{"id":1269,"name":1270,"slug":1271},64,"Arquitectura de la información","information-architecture",{"id":1273,"name":1274,"slug":1275},60,"Controles de coste y latencia","cost-and-latency",{"id":1277,"name":1278,"slug":1279},57,"Límites de datos","data-boundaries",{"id":1281,"login":1282,"email":1283,"displayName":1284},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[1286,2123],{"lang":1287,"title":1288,"content":1289,"contentJson":1290,"excerpt":2122},"en","Vector Databases, Embeddings and Reranking: Three Different Parts of Retrieval","{\"time\":1791489989811,\"blocks\":[{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"Embeddings, vector databases and rerankers are three different parts of retrieval. An embedding model converts text or other data into numerical representations; a vector database or vector index stores and searches those representations to retrieve candidate items; a reranker takes a smaller candidate set and reorders it using a more expensive relevance model or scoring method. They often appear together in RAG, but none of them is the same thing as RAG, and none is mandatory in every retrieval system.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>Embeddings represent. Vector search retrieves. Reranking refines.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>A useful mental model is:\u003Cbr>\u003Cstrong>content → embedding → candidate retrieval → reranking → selected context → model\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The boundaries matter because each layer fails differently. Bad embeddings distort semantic similarity. A weak retrieval index misses useful candidates. A reranker can reorder candidates, but it cannot recover a relevant document that was never retrieved.\"},\"tunes\":{}},{\"id\":\"boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Do not collapse the retrieval stack\",\"body\":\"A vector database is not an embedding model. An embedding is not a search result. A reranker is not a vector database. RAG is the wider pattern that can use any of these components to retrieve external information before generation.\"},\"tunes\":{}},{\"id\":\"current\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current-source note — 8 October 2026\",\"body\":\"The basic architecture is stable even though products evolve rapidly. Current Qdrant documentation separates vectors, payload metadata, collections and vector indexes; current Elastic guidance treats semantic reranking as a later-stage operation over a small candidate set; current Cohere documentation likewise describes reranking as a second-stage improvement over lexical or semantic search.\"},\"tunes\":{}},{\"id\":\"toc\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"h-meaning\",\"type\":\"header\",\"data\":{\"text\":\"What this really means\",\"level\":2},\"tunes\":{}},{\"id\":\"p-meaning-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Search systems have two competing goals: find enough potentially relevant material and put the best material near the top. Fast first-stage retrieval usually optimizes candidate generation. A stronger second-stage model can then spend more computation distinguishing the best candidates.\"},\"tunes\":{}},{\"id\":\"p-meaning-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Embeddings, vector indexes and rerankers occupy different positions in that process. Treating them as one feature hides important design choices about recall, precision, latency, storage, metadata filtering and model cost.\"},\"tunes\":{}},{\"id\":\"p-meaning-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The distinction also prevents a common RAG mistake: assuming that storing document embeddings in a vector database automatically creates high-quality retrieval. Retrieval quality depends on the embedding model, chunking, metadata, query construction, index configuration, candidate count, hybrid retrieval, reranking and the authority of the underlying sources.\"},\"tunes\":{}},{\"id\":\"h-simple\",\"type\":\"header\",\"data\":{\"text\":\"The simplest example\",\"level\":2},\"tunes\":{}},{\"id\":\"p-simple-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Suppose a knowledge base contains 100,000 document chunks. A user asks: “How do I revoke an API token?”\"},\"tunes\":{}},{\"id\":\"p-simple-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"First, an embedding model can encode the query into a vector. Document chunks may already have their own stored embeddings. A vector search then compares the query vector to the indexed document vectors and returns, for example, 30 likely candidates.\"},\"tunes\":{}},{\"id\":\"p-simple-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Those 30 candidates can then be passed to a reranker. The reranker compares the query more directly with each candidate and produces a new relevance ordering. The application might keep the best five for the model context.\"},\"tunes\":{}},{\"id\":\"simple-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"A basic two-stage semantic retrieval pipeline\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Embed documents\",\"description\":\"Convert each searchable chunk into a numerical representation, usually at ingest time.\"},{\"label\":\"2. Store\u002Findex vectors\",\"description\":\"Associate vectors with document IDs and metadata in a searchable vector index or database.\"},{\"label\":\"3. Embed the query\",\"description\":\"Encode the user's query using the compatible embedding model and query configuration.\"},{\"label\":\"4. Retrieve candidates\",\"description\":\"Run vector similarity search, often with metadata filters, to produce a larger top-k candidate set.\"},{\"label\":\"5. Rerank candidates\",\"description\":\"Apply a stronger relevance model to the query and the small candidate set.\"},{\"label\":\"6. Select context\",\"description\":\"Keep the most useful passages for the downstream answer, agent step or search result.\"}]},\"tunes\":{}},{\"id\":\"h-stops\",\"type\":\"header\",\"data\":{\"text\":\"Where the simple example stops\",\"level\":2},\"tunes\":{}},{\"id\":\"p-stops-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Real retrieval systems do not have to use dense embeddings at all. Keyword search such as BM25 can be the first-stage retriever. Sparse learned retrieval, SQL filters, graph traversal or application APIs can also generate candidates.\"},\"tunes\":{}},{\"id\":\"p-stops-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A reranker also does not care that the candidates came from a vector database. It can rerank BM25 results, hybrid results, hand-selected documents or candidates from multiple retrievers.\"},\"tunes\":{}},{\"id\":\"p-stops-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Likewise, embeddings do not require a specialized vector database. Small datasets can be compared in memory or with general-purpose databases and vector extensions. Specialized vector systems become useful when indexing, approximate nearest-neighbor search, filtering, scale, update behavior or operational requirements justify them.\"},\"tunes\":{}},{\"id\":\"core-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Three different retrieval components\",\"layout\":\"table\",\"columns\":[{\"id\":\"embedding\",\"label\":\"Embedding\"},{\"id\":\"vector\",\"label\":\"Vector database \u002F index\"},{\"id\":\"reranker\",\"label\":\"Reranker\"}],\"rows\":[{\"id\":\"job\",\"label\":\"Primary job\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"input\",\"label\":\"Typical input\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"output\",\"label\":\"Typical output\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"cost\",\"label\":\"Cost profile\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"can-miss\",\"label\":\"Typical failure\",\"values\":[\"\",\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"h-embeddings\",\"type\":\"header\",\"data\":{\"text\":\"Embeddings: representation, not retrieval\",\"level\":2},\"tunes\":{}},{\"id\":\"p-emb-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An embedding is a numerical representation produced by a model. For semantic retrieval, texts with related meaning are intended to occupy useful positions in a vector space so that a similarity or distance function can compare them.\"},\"tunes\":{}},{\"id\":\"p-emb-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Sentence-BERT was an influential step in making sentence-level semantic similarity practical with bi-encoder-style representations that can be computed independently and compared efficiently. The general idea remains central to modern dense retrieval: precompute document representations, compute the query representation at search time, then compare them.\"},\"tunes\":{}},{\"id\":\"p-emb-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The embedding itself does not search a corpus. It is data produced by an embedding model. Retrieval begins when the system compares the query representation against stored candidates.\"},\"tunes\":{}},{\"id\":\"h-embedding-model\",\"type\":\"header\",\"data\":{\"text\":\"The embedding model defines the representation space\",\"level\":3},\"tunes\":{}},{\"id\":\"p-emodel-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Document and query vectors must be compatible with the model and configuration used to create them. Replacing an embedding model can change dimensionality, similarity behavior, language coverage and domain performance.\"},\"tunes\":{}},{\"id\":\"p-emodel-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is why an embedding-model migration is not merely an API-name change. Existing documents may need to be re-embedded and the index rebuilt or versioned.\"},\"tunes\":{}},{\"id\":\"h-dense-sparse\",\"type\":\"header\",\"data\":{\"text\":\"Dense and sparse representations are different\",\"level\":3},\"tunes\":{}},{\"id\":\"p-dense-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Dense embeddings usually contain many non-zero dimensions and are commonly used for semantic similarity. Sparse representations contain many zeros and can preserve stronger token- or term-like structure.\"},\"tunes\":{}},{\"id\":\"p-dense-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Both can support semantic retrieval, and modern search systems can combine dense, sparse and lexical signals. “Vector search” therefore does not always mean one dense cosine-similarity pipeline.\"},\"tunes\":{}},{\"id\":\"h-distance\",\"type\":\"header\",\"data\":{\"text\":\"Similarity functions are part of the representation contract\",\"level\":3},\"tunes\":{}},{\"id\":\"p-distance-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Cosine similarity, dot product and Euclidean distance do not mean the same thing. The correct metric depends on how the embedding model was trained and normalized.\"},\"tunes\":{}},{\"id\":\"p-distance-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Current Qdrant documentation, for example, requires a distance metric as part of vector configuration and documents cosine, dot-product and Euclidean-style choices. The important architectural rule is to treat the metric as part of the embedding\u002Findex contract rather than choose one arbitrarily.\"},\"tunes\":{}},{\"id\":\"embedding-not-truth\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Embedding similarity is not factual support\",\"body\":\"Two passages can be semantically close while one is stale, unauthorized or wrong. Embeddings estimate representational similarity; they do not determine Source-of-Truth authority, freshness or evidentiary validity.\"},\"tunes\":{}},{\"id\":\"h-vector-db\",\"type\":\"header\",\"data\":{\"text\":\"Vector databases and indexes: candidate retrieval\",\"level\":2},\"tunes\":{}},{\"id\":\"p-vdb-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A vector database or vector-capable search system organizes vector representations so the application can retrieve nearby candidates efficiently. Practical systems usually associate vectors with IDs and payload metadata such as source, language, tenant, document type, timestamp or access scope.\"},\"tunes\":{}},{\"id\":\"p-vdb-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Qdrant, for example, organizes data into collections of points where a point contains a vector and optional payload metadata. Its documentation describes HNSW-based similarity search and metadata filtering as separate capabilities of the retrieval layer.\"},\"tunes\":{}},{\"id\":\"p-vdb-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That distinction matters: the vector index answers a nearest-neighbor problem, while payload filters enforce structural constraints such as tenant, document class or language.\"},\"tunes\":{}},{\"id\":\"h-ann\",\"type\":\"header\",\"data\":{\"text\":\"Approximate nearest-neighbor search trades exactness for efficiency\",\"level\":3},\"tunes\":{}},{\"id\":\"p-ann-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Comparing one query vector against every vector can be practical for small collections but expensive at large scale. Approximate nearest-neighbor indexes such as HNSW reduce search cost by navigating an index structure instead of exhaustively scanning every vector.\"},\"tunes\":{}},{\"id\":\"p-ann-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Approximate search introduces a recall\u002Flatency trade-off. Faster search can miss candidates that exact search would return. Index parameters therefore affect retrieval quality, not just infrastructure performance.\"},\"tunes\":{}},{\"id\":\"p-ann-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Qdrant exposes both HNSW-related parameters and an exact-search option, illustrating that vector storage and approximate retrieval policy are separate decisions.\"},\"tunes\":{}},{\"id\":\"h-filtering\",\"type\":\"header\",\"data\":{\"text\":\"Metadata filtering belongs before or during candidate retrieval\",\"level\":3},\"tunes\":{}},{\"id\":\"p-filter-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the user may only access tenant A, retrieving semantically similar chunks from tenant B and attempting to remove them later is the wrong security boundary. Authorization and hard eligibility filters should constrain the candidate space before those candidates can influence downstream processing.\"},\"tunes\":{}},{\"id\":\"p-filter-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The same principle applies to locale, document status, source class, date, product version and other deterministic constraints. Similarity should rank eligible candidates; it should not override eligibility.\"},\"tunes\":{}},{\"id\":\"h-vector-not-required\",\"type\":\"header\",\"data\":{\"text\":\"A vector database is optional\",\"level\":3},\"tunes\":{}},{\"id\":\"p-optional-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"For a small corpus, brute-force cosine comparison may be simple and sufficient. A relational database with vector support may also be adequate. A dedicated vector database becomes valuable when its indexing, filtering, distributed storage, update behavior or operational features solve a real requirement.\"},\"tunes\":{}},{\"id\":\"p-optional-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Choosing a vector database because “RAG needs one” reverses the architecture process. Start with retrieval requirements and scale, then select the storage\u002Findex technology.\"},\"tunes\":{}},{\"id\":\"h-rerank\",\"type\":\"header\",\"data\":{\"text\":\"Reranking: second-stage relevance refinement\",\"level\":2},\"tunes\":{}},{\"id\":\"p-rerank-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A reranker receives a query and a smaller set of already retrieved candidates, then assigns stronger relevance scores or a new ordering. It is normally more computationally expensive than first-stage retrieval, which is why it is applied after candidate generation rather than to the entire corpus.\"},\"tunes\":{}},{\"id\":\"p-rerank-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Current Elastic guidance describes semantic reranking as a final-stage technique over a small top-k set and notes that it can refine lexical, semantic or hybrid retrieval. Cohere documents the same architecture: first-stage lexical or semantic search followed by a reranking stage.\"},\"tunes\":{}},{\"id\":\"p-rerank-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A common implementation uses a cross-encoder-like model that examines the query and each candidate together. That richer interaction can distinguish relevance more precisely than independent embedding similarity, but it is much more expensive at corpus scale.\"},\"tunes\":{}},{\"id\":\"h-bi-cross\",\"type\":\"header\",\"data\":{\"text\":\"Bi-encoder retrieval and cross-encoder reranking solve different cost problems\",\"level\":3},\"tunes\":{}},{\"id\":\"encoder-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Property\",\"Bi-encoder \u002F embedding retrieval\",\"Cross-encoder-style reranking\"],[\"Encoding\",\"Query and documents represented independently\",\"Query and candidate processed jointly\"],[\"Document computation\",\"Can be precomputed at ingest\",\"Normally recomputed per query-candidate pair\"],[\"Corpus-scale search\",\"Suitable with vector indexes\",\"Usually too expensive across the entire corpus\"],[\"Typical role\",\"High-recall candidate generation\",\"High-precision ordering of a small candidate set\"],[\"Main trade-off\",\"Fast and scalable but relevance interaction is compressed into vectors\",\"Richer relevance judgment but higher latency\u002Fcost\"]]},\"tunes\":{}},{\"id\":\"h-rerank-limit\",\"type\":\"header\",\"data\":{\"text\":\"A reranker cannot recover what retrieval missed\",\"level\":3},\"tunes\":{}},{\"id\":\"p-rerank-limit-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the relevant document is absent from the candidate set, reranking has nothing to promote. This is the central reason to evaluate retrieval and reranking separately.\"},\"tunes\":{}},{\"id\":\"p-rerank-limit-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A pipeline can have excellent reranker precision and still fail because first-stage recall is poor. Increasing reranker quality will not repair missing source coverage, bad chunking, restrictive filters or a weak candidate retriever.\"},\"tunes\":{}},{\"id\":\"recall-precision\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"Useful retrieval objective\",\"body\":\"First stage: \u003Cstrong>do not miss the useful candidates.\u003C\u002Fstrong>\u003Cbr>Second stage: \u003Cstrong>put the best candidates first.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>This is not a universal mathematical rule, but it is a useful engineering model for two-stage retrieval.\"},\"tunes\":{}},{\"id\":\"h-hybrid\",\"type\":\"header\",\"data\":{\"text\":\"Hybrid retrieval is a separate design choice\",\"level\":2},\"tunes\":{}},{\"id\":\"p-hybrid-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Dense semantic retrieval is strong when query and document use different wording but express related meaning. Lexical retrieval is strong when exact terms, identifiers, names, codes or rare phrases matter.\"},\"tunes\":{}},{\"id\":\"p-hybrid-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Hybrid retrieval combines multiple candidate signals, often lexical BM25 and vector similarity, then merges rankings using a method such as Reciprocal Rank Fusion or a weighted score combination.\"},\"tunes\":{}},{\"id\":\"p-hybrid-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Reranking can then operate on the fused candidate set. Hybrid retrieval and reranking are therefore complementary but distinct stages.\"},\"tunes\":{}},{\"id\":\"h-bm25\",\"type\":\"header\",\"data\":{\"text\":\"BM25 is not obsolete because embeddings exist\",\"level\":3},\"tunes\":{}},{\"id\":\"p-bm25-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Keyword search can outperform dense retrieval for exact identifiers, version numbers, error messages, product codes and specialized vocabulary. SQLite FTS5, for example, includes a BM25 ranking function for full-text search.\"},\"tunes\":{}},{\"id\":\"p-bm25-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A strong retrieval architecture can use lexical retrieval as the only first stage, vector retrieval as the only first stage, or combine both depending on the corpus and query distribution.\"},\"tunes\":{}},{\"id\":\"h-chunking\",\"type\":\"header\",\"data\":{\"text\":\"Chunking changes what embeddings and rerankers can see\",\"level\":2},\"tunes\":{}},{\"id\":\"p-chunk-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"If a document is split poorly, no later retrieval component can fully reconstruct the missing semantic unit. A chunk that cuts a condition away from its exception may embed misleadingly and may also be reranked incorrectly because the candidate text is incomplete.\"},\"tunes\":{}},{\"id\":\"p-chunk-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Chunk size, overlap, structural boundaries and metadata therefore affect both candidate recall and reranker judgment. Retrieval evaluation should test the complete ingestion-to-ranking pipeline, not only the embedding model.\"},\"tunes\":{}},{\"id\":\"h-scores\",\"type\":\"header\",\"data\":{\"text\":\"Do not compare retrieval scores as if they were universal probabilities\",\"level\":2},\"tunes\":{}},{\"id\":\"p-scores-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Cosine similarity, BM25 scores, sparse-vector scores, RRF ranks and reranker scores have different meanings. A score of 0.82 from one embedding model is not automatically comparable with 0.82 from another model or with a reranker score.\"},\"tunes\":{}},{\"id\":\"p-scores-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Thresholds should be calibrated for the actual model, corpus and task. Current Elastic guidance also notes that embedding similarity scores can be query-dependent, which makes universal cutoffs risky.\"},\"tunes\":{}},{\"id\":\"h-eval\",\"type\":\"header\",\"data\":{\"text\":\"Evaluate retrieval stages separately\",\"level\":2},\"tunes\":{}},{\"id\":\"eval-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Layer\",\"Useful question\",\"Example metric or test\"],[\"Source coverage\",\"Does the corpus contain the needed information?\",\"Coverage audit \u002F known-answer source set\"],[\"Chunking\",\"Is the needed evidence retrievable as a coherent unit?\",\"Chunk-level support review\"],[\"First-stage retrieval\",\"Does the relevant item enter the candidate set?\",\"Recall@k\"],[\"Ranking\",\"How high does relevant evidence appear?\",\"MRR, nDCG, precision@k\"],[\"Reranking\",\"Does second-stage scoring improve ordering?\",\"Delta nDCG \u002F MRR \u002F precision\"],[\"Context selection\",\"Do the final selected passages contain sufficient support?\",\"Context relevance \u002F coverage\"],[\"Answer stage\",\"Does the model use the selected evidence correctly?\",\"Faithfulness \u002F claim-evidence evaluation\"]]},\"tunes\":{}},{\"id\":\"p-eval-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"This separation is operationally important. If Recall@50 is poor, the reranker is not the first component to fix. If Recall@50 is strong but the best passage remains at rank 38, reranking or ranking fusion becomes a plausible target.\"},\"tunes\":{}},{\"id\":\"h-failure-map\",\"type\":\"header\",\"data\":{\"text\":\"Which layer actually failed?\",\"level\":2},\"tunes\":{}},{\"id\":\"failure-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Symptoms and likely retrieval layer\",\"layout\":\"table\",\"columns\":[{\"id\":\"symptom\",\"label\":\"Observed symptom\"},{\"id\":\"likely\",\"label\":\"Likely layer\"},{\"id\":\"test\",\"label\":\"First diagnostic\"}],\"rows\":[{\"id\":\"missed\",\"label\":\"Relevant document never appears\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"lowrank\",\"label\":\"Relevant document appears too low\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"wrongtenant\",\"label\":\"Semantically good but forbidden result\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"stale\",\"label\":\"Relevant but outdated result\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"context\",\"label\":\"Correct result retrieved but omitted from prompt\",\"values\":[\"\",\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"h-authority\",\"type\":\"header\",\"data\":{\"text\":\"Relevance and Source of Truth are different\",\"level\":2},\"tunes\":{}},{\"id\":\"p-authority-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A reranker can make a stale document look extremely relevant. A vector index can retrieve a secondary summary that is semantically closer than the primary source. Retrieval quality therefore cannot replace authority rules.\"},\"tunes\":{}},{\"id\":\"p-authority-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Where source authority matters, metadata filters, source classes, version rules and provenance should constrain retrieval before the result becomes model context.\"},\"tunes\":{}},{\"id\":\"authority-callout\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Reranking cannot make a non-authoritative source authoritative\",\"body\":\"Relevance answers whether a candidate fits the query. Source-of-Truth architecture answers whether that candidate is allowed to establish the claim.\"},\"tunes\":{}},{\"id\":\"h-impl\",\"type\":\"header\",\"data\":{\"text\":\"Original implementation evidence\",\"level\":2},\"tunes\":{}},{\"id\":\"h-sot-engine\",\"type\":\"header\",\"data\":{\"text\":\"Source of Truth Research Engine: lexical and semantic retrieval are separate\",\"level\":3},\"tunes\":{}},{\"id\":\"p-sot-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The Source of Truth Research Engine contains a local lexical retrieval path using SQLite FTS5\u002FBM25 and a separate optional semantic retrieval path using locally generated embeddings.\"},\"tunes\":{}},{\"id\":\"p-sot-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Its semantic search implementation computes a query vector and compares it with stored chunk vectors using cosine similarity. The project deliberately treats semantic similarity as a discovery signal rather than evidence: a candidate must still be traced back to a concrete source and locator before it supports a claim.\"},\"tunes\":{}},{\"id\":\"p-sot-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is useful implementation evidence for R01 because the same corpus can support lexical ranking and vector similarity without confusing either mechanism with evidentiary authority.\"},\"tunes\":{}},{\"id\":\"h-client\",\"type\":\"header\",\"data\":{\"text\":\"Aaasaasa AI Client: Qdrant is a vector infrastructure component\",\"level\":3},\"tunes\":{}},{\"id\":\"p-client-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Aaasaasa AI Client includes Qdrant\u002Fvector infrastructure as a separate local resource. The Electron architecture exposes Qdrant services from the trusted main-process side rather than treating vector search as part of the model itself.\"},\"tunes\":{}},{\"id\":\"p-client-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The repository contains a Qdrant client adapter, Qdrant service configuration and Docker-based Qdrant infrastructure. This demonstrates the architectural separation between AI provider\u002Fmodel execution and vector storage\u002Fsearch.\"},\"tunes\":{}},{\"id\":\"p-client-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The existence of Qdrant support should not be overstated as a complete production RAG pipeline. The evidence here is narrower: vector infrastructure is implemented as its own component boundary.\"},\"tunes\":{}},{\"id\":\"impl-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Implementation evidence\",\"What it demonstrates\"],[\"SQLite FTS5\u002FBM25 in Source of Truth Research Engine\",\"Lexical retrieval can exist independently of embeddings.\"],[\"Local Ollama embeddings\",\"Representation generation is its own stage.\"],[\"Stored semantic vectors + cosine comparison\",\"Semantic retrieval consumes embeddings after they have been produced.\"],[\"Qdrant support in Aaasaasa AI Client\",\"Vector storage\u002Fsearch is an infrastructure capability separate from the model provider.\"],[\"Evidence\u002Fprovenance rules in Source of Truth Research Engine\",\"Retrieved similarity does not equal authority or proof.\"],[\"No claimed custom reranker in these implementations\",\"Reranking is explained as an architectural stage, not falsely claimed as already implemented evidence.\"]]},\"tunes\":{}},{\"id\":\"impl-discipline\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Evidence boundary\",\"body\":\"The current implementation evidence confirms lexical retrieval, embeddings, vector search infrastructure and provenance-aware retrieval. This article does \u003Cstrong>not\u003C\u002Fstrong> claim that a production cross-encoder reranking service is already implemented in these projects.\"},\"tunes\":{}},{\"id\":\"h-decisions\",\"type\":\"header\",\"data\":{\"text\":\"When do you need each component?\",\"level\":2},\"tunes\":{}},{\"id\":\"decision-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Need\",\"Likely component\"],[\"Semantic similarity across different wording\",\"Embedding model + vector similarity search\"],[\"Efficient search over a large vector corpus\",\"Vector index\u002Fdatabase or vector-capable search engine\"],[\"Exact identifiers, error codes or rare terms\",\"Lexical\u002Ffull-text retrieval such as BM25\"],[\"Both exact terminology and semantic meaning\",\"Hybrid lexical + semantic retrieval\"],[\"Candidate set is good but ordering is weak\",\"Reranker\"],[\"Relevant items are absent from candidate set\",\"Improve source coverage, chunking, retriever, filters or candidate count before reranking\"],[\"Hard tenant\u002Fsource\u002Fversion constraints\",\"Deterministic metadata\u002Fauthorization filtering\"],[\"Small corpus\",\"Potentially simple brute-force similarity or general-purpose database rather than dedicated vector DB\"]]},\"tunes\":{}},{\"id\":\"h-sequence\",\"type\":\"header\",\"data\":{\"text\":\"A practical retrieval design sequence\",\"level\":2},\"tunes\":{}},{\"id\":\"design-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"Design retrieval from requirements, not from product names\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Define the query types\",\"description\":\"Identify semantic questions, exact lookups, identifiers, current-state reads and domain-specific patterns.\"},{\"label\":\"2. Define eligible sources\",\"description\":\"Apply tenant, authorization, locale, version, source class and freshness constraints.\"},{\"label\":\"3. Establish lexical baseline\",\"description\":\"Measure whether simple full-text\u002FBM25 retrieval already solves much of the workload.\"},{\"label\":\"4. Add embeddings where semantic recall is needed\",\"description\":\"Choose and evaluate an embedding model against representative domain queries.\"},{\"label\":\"5. Choose vector storage\u002Findexing based on scale\",\"description\":\"Use brute force, database vector support or a dedicated vector engine according to requirements.\"},{\"label\":\"6. Evaluate first-stage recall\",\"description\":\"Confirm that relevant evidence enters a sufficiently large candidate set.\"},{\"label\":\"7. Add hybrid retrieval if signals are complementary\",\"description\":\"Fuse lexical and semantic rankings when both materially improve candidate generation.\"},{\"label\":\"8. Add reranking if ordering remains the bottleneck\",\"description\":\"Apply the stronger model only to the candidate set where its cost is justified.\"},{\"label\":\"9. Tune final context selection\",\"description\":\"Control redundancy, context budget, authority, diversity and evidence coverage before generation.\"},{\"label\":\"10. Evaluate end-to-end\",\"description\":\"Measure retrieval, context and answer quality separately so failures can be localized.\"}]},\"tunes\":{}},{\"id\":\"h-misconceptions\",\"type\":\"header\",\"data\":{\"text\":\"Common misconceptions\",\"level\":2},\"tunes\":{}},{\"id\":\"misconceptions-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Misconception\",\"Correction\"],[\"“An embedding is a vector database.”\",\"An embedding is a representation; the database\u002Findex stores and searches representations.\"],[\"“A vector database creates semantic meaning.”\",\"The embedding model creates the representation; the vector system indexes and compares it.\"],[\"“RAG requires a vector database.”\",\"RAG requires retrieval, not a specific retrieval technology.\"],[\"“Reranking is the same as vector search.”\",\"Vector search generates candidates; reranking reorders a candidate set.\"],[\"“Rerankers fix poor recall.”\",\"They cannot promote a document that was never retrieved.\"],[\"“Dense search replaces BM25.”\",\"Lexical search remains valuable for exact terms, identifiers and specialized vocabulary.\"],[\"“Higher similarity means more authoritative.”\",\"Similarity and source authority are different dimensions.\"],[\"“More top-k always improves RAG.”\",\"Larger candidate sets can improve recall but add latency, noise and context-selection burden.\"],[\"“One score threshold works everywhere.”\",\"Scores depend on model, query, corpus and retrieval method and must be calibrated.\"],[\"“A dedicated vector DB is always more advanced.”\",\"It is only justified when its operational and retrieval capabilities match the requirements.\"]]},\"tunes\":{}},{\"id\":\"h-edge\",\"type\":\"header\",\"data\":{\"text\":\"Edge cases and limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-edge-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some applications do not need semantic search. Exact database lookup or structured SQL can be more correct, faster and easier to audit than embedding retrieval.\"},\"tunes\":{}},{\"id\":\"p-edge-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some corpora are so small that a full vector scan is acceptable. Approximate indexing adds complexity without meaningful benefit.\"},\"tunes\":{}},{\"id\":\"p-edge-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some queries require high recall before any precision optimization. Legal discovery, research and compliance review may prefer broad candidate retrieval followed by transparent filtering and human review.\"},\"tunes\":{}},{\"id\":\"p-edge-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"Multilingual and domain-specific retrieval can behave very differently across embedding models. Benchmark claims from public datasets should not be treated as proof for a private corpus.\"},\"tunes\":{}},{\"id\":\"p-edge-5\",\"type\":\"paragraph\",\"data\":{\"text\":\"Reranking latency grows with the number and length of candidates. Candidate size should therefore be tuned as an accuracy\u002Fcost\u002Flatency variable rather than copied from a tutorial.\"},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The component boundaries would not change if a vendor packages embedding generation, vector indexing and reranking behind one API. The product may hide the stages, but they remain conceptually different responsibilities with different failure modes.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Future embedding or retrieval models may reduce the need for separate reranking in some workloads, while stronger late-interaction or learned sparse methods can blur traditional dense\u002Flexical categories. The architecture should still ask which stage produces representations, which stage generates candidates and which stage refines ranking.\"},\"tunes\":{}},{\"id\":\"p-change-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The best design also changes with corpus size, query mix, language, domain terminology, update frequency, source authority, latency budget and evaluation results.\"},\"tunes\":{}},{\"id\":\"h-related\",\"type\":\"header\",\"data\":{\"text\":\"Related canonical knowledge\",\"level\":2},\"tunes\":{}},{\"id\":\"p-related-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"R01 assumes the basic RAG concept is already understood. RAG is the wider pattern in which retrieved external information is supplied to a model; embeddings, vector search and reranking are optional retrieval components inside that pattern.\"},\"tunes\":{}},{\"id\":\"ref-rag\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works\",\"title\":\"What Is RAG? The Simplest Explanation of How It Works\",\"excerpt\":\"A plain-English foundation for how retrieval brings external knowledge into the model context.\",\"ctaLabel\":\"Read the RAG foundation\"},\"tunes\":{}},{\"id\":\"p-related-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"When retrieval fails, diagnose source coverage, retrieval, ranking, context assembly and generation separately rather than treating the whole system as one “RAG failure.”\"},\"tunes\":{}},{\"id\":\"ref-rag-failed\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method\",\"title\":\"RAG Failed — But Which Layer Actually Failed? A Diagnostic Method\",\"excerpt\":\"A layer-by-layer method for isolating source coverage, retrieval, ranking, context assembly, generation, evidence attribution and freshness failures.\",\"ctaLabel\":\"Read the RAG diagnostic method\"},\"tunes\":{}},{\"id\":\"p-related-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Source-of-Truth architecture is the authority layer around retrieval: it decides which source can establish a claim, while embeddings and ranking only decide which candidates appear relevant.\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"Frequently asked questions\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"Embeddings, vector databases and reranking\",\"items\":[{\"id\":\"faq1\",\"question\":\"What is the difference between embeddings and a vector database?\",\"answer\":\"Embeddings are numerical representations produced by a model. A vector database or vector index stores and searches those representations together with IDs and metadata.\"},{\"id\":\"faq2\",\"question\":\"What does a reranker do?\",\"answer\":\"A reranker takes an already retrieved candidate set and re-scores or reorders those candidates using a stronger relevance model or scoring method.\"},{\"id\":\"faq3\",\"question\":\"Does RAG require a vector database?\",\"answer\":\"No. RAG requires retrieval of external information. Retrieval can use lexical search, SQL, APIs, graphs, vector search, hybrid search or combinations of these.\"},{\"id\":\"faq4\",\"question\":\"Why not use the reranker on the whole corpus?\",\"answer\":\"Rerankers commonly perform more expensive query-document interaction, so they are usually applied to a small top-k candidate set after a faster first-stage retriever.\"},{\"id\":\"faq5\",\"question\":\"Can reranking fix a missing document?\",\"answer\":\"No. If the relevant document was not retrieved into the candidate set, reranking has nothing to promote.\"},{\"id\":\"faq6\",\"question\":\"Is cosine similarity a relevance probability?\",\"answer\":\"No. It is a similarity measure whose numeric meaning depends on the embedding model and corpus. It should not be treated as a universal probability of relevance.\"},{\"id\":\"faq7\",\"question\":\"Should I use BM25 and vector search together?\",\"answer\":\"Use hybrid retrieval when evaluation shows that lexical and semantic signals recover complementary relevant documents. It is not automatically better for every corpus.\"},{\"id\":\"faq8\",\"question\":\"When do I need a dedicated vector database?\",\"answer\":\"When vector indexing, filtering, scale, updates, distributed operation or other vector-specific requirements justify a specialized system. Small workloads may not need one.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key retrieval terms\",\"entries\":[{\"term\":\"Embedding\",\"definition\":\"A numerical representation of content produced by an embedding model for similarity, clustering, retrieval or related tasks.\",\"anchor\":\"embedding\"},{\"term\":\"Dense vector\",\"definition\":\"A vector representation in which many dimensions carry non-zero values, commonly used in semantic retrieval.\",\"anchor\":\"dense-vector\"},{\"term\":\"Sparse vector\",\"definition\":\"A high-dimensional representation in which most dimensions are zero, often preserving stronger token- or term-like structure.\",\"anchor\":\"sparse-vector\"},{\"term\":\"Vector index\",\"definition\":\"A data structure that organizes vectors for efficient similarity or nearest-neighbor retrieval.\",\"anchor\":\"vector-index\"},{\"term\":\"Vector database\",\"definition\":\"A storage\u002Fsearch system designed to manage vectors, associated metadata and vector retrieval workloads.\",\"anchor\":\"vector-database\"},{\"term\":\"ANN\",\"definition\":\"Approximate nearest-neighbor search, which trades exact exhaustive comparison for faster retrieval at scale.\",\"anchor\":\"ann\"},{\"term\":\"HNSW\",\"definition\":\"Hierarchical Navigable Small World, a graph-based approximate nearest-neighbor indexing approach widely used for vector retrieval.\",\"anchor\":\"hnsw\"},{\"term\":\"BM25\",\"definition\":\"A lexical relevance-ranking method based on term occurrence and corpus statistics, widely used in full-text search.\",\"anchor\":\"bm25\"},{\"term\":\"Hybrid search\",\"definition\":\"Retrieval that combines results or scores from multiple retrieval methods such as lexical and vector search.\",\"anchor\":\"hybrid-search\"},{\"term\":\"Reranking\",\"definition\":\"A later retrieval stage that re-scores and reorders an already generated candidate set.\",\"anchor\":\"reranking\"},{\"term\":\"Bi-encoder\",\"definition\":\"An architecture that encodes query and candidate independently, enabling precomputation and scalable similarity search.\",\"anchor\":\"bi-encoder\"},{\"term\":\"Cross-encoder\",\"definition\":\"A model that jointly processes a query and candidate text, often improving relevance judgment at higher computational cost.\",\"anchor\":\"cross-encoder\"},{\"term\":\"Recall@k\",\"definition\":\"The fraction of relevant items recovered within the top k retrieved candidates.\",\"anchor\":\"recall-at-k\"},{\"term\":\"nDCG\",\"definition\":\"Normalized Discounted Cumulative Gain, a ranking metric that rewards relevant results appearing higher in an ordered list.\",\"anchor\":\"ndcg\"}]},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conclusion-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The clean retrieval model is simple: embeddings represent meaning, vector search retrieves candidates, and rerankers refine candidate ordering.\"},\"tunes\":{}},{\"id\":\"p-conclusion-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Once those boundaries are explicit, architecture decisions become easier to diagnose. Missing candidates point toward source coverage, chunking, embeddings, filters or first-stage retrieval. Poor ordering points toward ranking, fusion or reranking. Incorrect final answers can then be investigated separately at context and generation layers.\"},\"tunes\":{}},{\"id\":\"p-conclusion-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The most important result is not choosing the most fashionable retrieval component. It is building a retrieval pipeline whose stages, authority boundaries, metrics and failure modes can be measured independently.\"},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources and implementation evidence\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sources-note\",\"type\":\"paragraph\",\"data\":{\"text\":\"The external references below document the representation, vector-search and reranking mechanisms used in this article. Project-specific sections are original implementation evidence and are intentionally narrower than claims about complete production RAG maturity.\"},\"tunes\":{}},{\"id\":\"src-sbert\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.10084\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks\",\"description\":\"Foundational paper demonstrating independently computable sentence embeddings for efficient semantic similarity search.\"}},\"tunes\":{}},{\"id\":\"src-qdrant-overview\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Foverview\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Qdrant — Architecture and data structure overview\",\"description\":\"Official documentation describing collections, points, vectors, payload metadata and HNSW-based similarity indexing.\"}},\"tunes\":{}},{\"id\":\"src-qdrant-search\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fsearch\u002Fsearch\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Qdrant — Search\",\"description\":\"Official vector-search documentation covering similarity queries, filtering, exact versus approximate search and dense\u002Fsparse behavior.\"}},\"tunes\":{}},{\"id\":\"src-elastic-vector\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Elastic — Vector search\",\"description\":\"Current documentation on dense\u002Fsparse vector retrieval, lexical\u002Fvector combinations and multi-stage search pipelines.\"}},\"tunes\":{}},{\"id\":\"src-elastic-rerank\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Franking\u002Fsemantic-reranking\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Elastic — Semantic reranking\",\"description\":\"Current guidance defining semantic reranking as a later-stage relevance operation over a smaller candidate set.\"}},\"tunes\":{}},{\"id\":\"src-cohere-rerank\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Freranking-with-cohere\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Cohere — Reranking with Cohere\",\"description\":\"Current documentation showing reranking as a second-stage improvement over lexical or semantic first-stage retrieval.\"}},\"tunes\":{}},{\"id\":\"src-sqlite-fts5\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.sqlite.org\u002Ffts5.html\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"SQLite FTS5\",\"description\":\"Official SQLite documentation for full-text search and the built-in BM25 ranking function used as lexical retrieval evidence.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1291,"blocks":1292,"version":2121},1791489989811,[1293,1297,1302,1307,1312,1316,1320,1324,1328,1332,1336,1340,1344,1348,1371,1375,1379,1383,1387,1412,1416,1420,1424,1428,1432,1436,1440,1444,1448,1452,1456,1460,1464,1469,1473,1477,1481,1485,1489,1493,1497,1501,1505,1509,1513,1517,1521,1525,1529,1533,1537,1541,1545,1573,1577,1581,1585,1590,1594,1598,1602,1606,1610,1614,1618,1622,1626,1630,1634,1638,1642,1646,1676,1680,1684,1711,1715,1719,1723,1728,1732,1736,1740,1744,1748,1752,1756,1760,1764,1789,1794,1798,1828,1832,1867,1871,1908,1912,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956,1963,1967,1974,1978,1982,2011,2015,2053,2057,2061,2065,2069,2073,2077,2083,2089,2095,2101,2108,2115],{"id":215,"data":1294,"type":218,"tunes":1296},{"text":1295},"Embeddings, vector databases and rerankers are three different parts of retrieval. An embedding model converts text or other data into numerical representations; a vector database or vector index stores and searches those representations to retrieve candidate items; a reranker takes a smaller candidate set and reorders it using a more expensive relevance model or scoring method. They often appear together in RAG, but none of them is the same thing as RAG, and none is mandatory in every retrieval system.",{},{"id":221,"data":1298,"type":226,"tunes":1301},{"body":1299,"title":1300,"variant":225},"\u003Cstrong>Embeddings represent. Vector search retrieves. Reranking refines.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>A useful mental model is:\u003Cbr>\u003Cstrong>content → embedding → candidate retrieval → reranking → selected context → model\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The boundaries matter because each layer fails differently. Bad embeddings distort semantic similarity. A weak retrieval index misses useful candidates. A reranker can reorder candidates, but it cannot recover a relevant document that was never retrieved.","Direct answer",{},{"id":229,"data":1303,"type":226,"tunes":1306},{"body":1304,"title":1305,"variant":233},"A vector database is not an embedding model. An embedding is not a search result. A reranker is not a vector database. RAG is the wider pattern that can use any of these components to retrieve external information before generation.","Do not collapse the retrieval stack",{},{"id":236,"data":1308,"type":226,"tunes":1311},{"body":1309,"title":1310,"variant":240},"The basic architecture is stable even though products evolve rapidly. Current Qdrant documentation separates vectors, payload metadata, collections and vector indexes; current Elastic guidance treats semantic reranking as a later-stage operation over a small candidate set; current Cohere documentation likewise describes reranking as a second-stage improvement over lexical or semantic search.","Current-source note — 8 October 2026",{},{"id":243,"data":1313,"type":248,"tunes":1315},{"title":1314,"maxLevel":246,"minLevel":247},"Contents",{},{"id":251,"data":1317,"type":42,"tunes":1319},{"text":1318,"level":247},"What this really means",{},{"id":256,"data":1321,"type":218,"tunes":1323},{"text":1322},"Search systems have two competing goals: find enough potentially relevant material and put the best material near the top. Fast first-stage retrieval usually optimizes candidate generation. A stronger second-stage model can then spend more computation distinguishing the best candidates.",{},{"id":261,"data":1325,"type":218,"tunes":1327},{"text":1326},"Embeddings, vector indexes and rerankers occupy different positions in that process. Treating them as one feature hides important design choices about recall, precision, latency, storage, metadata filtering and model cost.",{},{"id":266,"data":1329,"type":218,"tunes":1331},{"text":1330},"The distinction also prevents a common RAG mistake: assuming that storing document embeddings in a vector database automatically creates high-quality retrieval. Retrieval quality depends on the embedding model, chunking, metadata, query construction, index configuration, candidate count, hybrid retrieval, reranking and the authority of the underlying sources.",{},{"id":271,"data":1333,"type":42,"tunes":1335},{"text":1334,"level":247},"The simplest example",{},{"id":276,"data":1337,"type":218,"tunes":1339},{"text":1338},"Suppose a knowledge base contains 100,000 document chunks. A user asks: “How do I revoke an API token?”",{},{"id":281,"data":1341,"type":218,"tunes":1343},{"text":1342},"First, an embedding model can encode the query into a vector. Document chunks may already have their own stored embeddings. A vector search then compares the query vector to the indexed document vectors and returns, for example, 30 likely candidates.",{},{"id":286,"data":1345,"type":218,"tunes":1347},{"text":1346},"Those 30 candidates can then be passed to a reranker. The reranker compares the query more directly with each candidate and produces a new relevance ordering. The application might keep the best five for the model context.",{},{"id":291,"data":1349,"type":314,"tunes":1370},{"steps":1350,"title":1369,"orientation":313},[1351,1354,1357,1360,1363,1366],{"label":1352,"description":1353},"1. Embed documents","Convert each searchable chunk into a numerical representation, usually at ingest time.",{"label":1355,"description":1356},"2. Store\u002Findex vectors","Associate vectors with document IDs and metadata in a searchable vector index or database.",{"label":1358,"description":1359},"3. Embed the query","Encode the user's query using the compatible embedding model and query configuration.",{"label":1361,"description":1362},"4. Retrieve candidates","Run vector similarity search, often with metadata filters, to produce a larger top-k candidate set.",{"label":1364,"description":1365},"5. Rerank candidates","Apply a stronger relevance model to the query and the small candidate set.",{"label":1367,"description":1368},"6. Select context","Keep the most useful passages for the downstream answer, agent step or search result.","A basic two-stage semantic retrieval pipeline",{},{"id":317,"data":1372,"type":42,"tunes":1374},{"text":1373,"level":247},"Where the simple example stops",{},{"id":322,"data":1376,"type":218,"tunes":1378},{"text":1377},"Real retrieval systems do not have to use dense embeddings at all. Keyword search such as BM25 can be the first-stage retriever. Sparse learned retrieval, SQL filters, graph traversal or application APIs can also generate candidates.",{},{"id":327,"data":1380,"type":218,"tunes":1382},{"text":1381},"A reranker also does not care that the candidates came from a vector database. It can rerank BM25 results, hybrid results, hand-selected documents or candidates from multiple retrievers.",{},{"id":332,"data":1384,"type":218,"tunes":1386},{"text":1385},"Likewise, embeddings do not require a specialized vector database. Small datasets can be compared in memory or with general-purpose databases and vector extensions. Specialized vector systems become useful when indexing, approximate nearest-neighbor search, filtering, scale, update behavior or operational requirements justify them.",{},{"id":337,"data":1388,"type":373,"tunes":1411},{"rows":1389,"title":1405,"layout":362,"columns":1406},[1390,1393,1396,1399,1402],{"id":341,"label":1391,"values":1392},"Primary job",[344,344,344],{"id":346,"label":1394,"values":1395},"Typical input",[344,344,344],{"id":350,"label":1397,"values":1398},"Typical output",[344,344,344],{"id":354,"label":1400,"values":1401},"Cost profile",[344,344,344],{"id":358,"label":1403,"values":1404},"Typical failure",[344,344,344],"Three different retrieval components",[1407,1408,1410],{"id":365,"label":366},{"id":368,"label":1409},"Vector database \u002F index",{"id":371,"label":372},{},{"id":376,"data":1413,"type":42,"tunes":1415},{"text":1414,"level":247},"Embeddings: representation, not retrieval",{},{"id":381,"data":1417,"type":218,"tunes":1419},{"text":1418},"An embedding is a numerical representation produced by a model. For semantic retrieval, texts with related meaning are intended to occupy useful positions in a vector space so that a similarity or distance function can compare them.",{},{"id":386,"data":1421,"type":218,"tunes":1423},{"text":1422},"Sentence-BERT was an influential step in making sentence-level semantic similarity practical with bi-encoder-style representations that can be computed independently and compared efficiently. The general idea remains central to modern dense retrieval: precompute document representations, compute the query representation at search time, then compare them.",{},{"id":391,"data":1425,"type":218,"tunes":1427},{"text":1426},"The embedding itself does not search a corpus. It is data produced by an embedding model. Retrieval begins when the system compares the query representation against stored candidates.",{},{"id":396,"data":1429,"type":42,"tunes":1431},{"text":1430,"level":246},"The embedding model defines the representation space",{},{"id":401,"data":1433,"type":218,"tunes":1435},{"text":1434},"Document and query vectors must be compatible with the model and configuration used to create them. Replacing an embedding model can change dimensionality, similarity behavior, language coverage and domain performance.",{},{"id":406,"data":1437,"type":218,"tunes":1439},{"text":1438},"That is why an embedding-model migration is not merely an API-name change. Existing documents may need to be re-embedded and the index rebuilt or versioned.",{},{"id":411,"data":1441,"type":42,"tunes":1443},{"text":1442,"level":246},"Dense and sparse representations are different",{},{"id":416,"data":1445,"type":218,"tunes":1447},{"text":1446},"Dense embeddings usually contain many non-zero dimensions and are commonly used for semantic similarity. Sparse representations contain many zeros and can preserve stronger token- or term-like structure.",{},{"id":421,"data":1449,"type":218,"tunes":1451},{"text":1450},"Both can support semantic retrieval, and modern search systems can combine dense, sparse and lexical signals. “Vector search” therefore does not always mean one dense cosine-similarity pipeline.",{},{"id":426,"data":1453,"type":42,"tunes":1455},{"text":1454,"level":246},"Similarity functions are part of the representation contract",{},{"id":431,"data":1457,"type":218,"tunes":1459},{"text":1458},"Cosine similarity, dot product and Euclidean distance do not mean the same thing. The correct metric depends on how the embedding model was trained and normalized.",{},{"id":436,"data":1461,"type":218,"tunes":1463},{"text":1462},"Current Qdrant documentation, for example, requires a distance metric as part of vector configuration and documents cosine, dot-product and Euclidean-style choices. The important architectural rule is to treat the metric as part of the embedding\u002Findex contract rather than choose one arbitrarily.",{},{"id":441,"data":1465,"type":226,"tunes":1468},{"body":1466,"title":1467,"variant":233},"Two passages can be semantically close while one is stale, unauthorized or wrong. Embeddings estimate representational similarity; they do not determine Source-of-Truth authority, freshness or evidentiary validity.","Embedding similarity is not factual support",{},{"id":447,"data":1470,"type":42,"tunes":1472},{"text":1471,"level":247},"Vector databases and indexes: candidate retrieval",{},{"id":452,"data":1474,"type":218,"tunes":1476},{"text":1475},"A vector database or vector-capable search system organizes vector representations so the application can retrieve nearby candidates efficiently. Practical systems usually associate vectors with IDs and payload metadata such as source, language, tenant, document type, timestamp or access scope.",{},{"id":457,"data":1478,"type":218,"tunes":1480},{"text":1479},"Qdrant, for example, organizes data into collections of points where a point contains a vector and optional payload metadata. Its documentation describes HNSW-based similarity search and metadata filtering as separate capabilities of the retrieval layer.",{},{"id":462,"data":1482,"type":218,"tunes":1484},{"text":1483},"That distinction matters: the vector index answers a nearest-neighbor problem, while payload filters enforce structural constraints such as tenant, document class or language.",{},{"id":467,"data":1486,"type":42,"tunes":1488},{"text":1487,"level":246},"Approximate nearest-neighbor search trades exactness for efficiency",{},{"id":472,"data":1490,"type":218,"tunes":1492},{"text":1491},"Comparing one query vector against every vector can be practical for small collections but expensive at large scale. Approximate nearest-neighbor indexes such as HNSW reduce search cost by navigating an index structure instead of exhaustively scanning every vector.",{},{"id":477,"data":1494,"type":218,"tunes":1496},{"text":1495},"Approximate search introduces a recall\u002Flatency trade-off. Faster search can miss candidates that exact search would return. Index parameters therefore affect retrieval quality, not just infrastructure performance.",{},{"id":482,"data":1498,"type":218,"tunes":1500},{"text":1499},"Qdrant exposes both HNSW-related parameters and an exact-search option, illustrating that vector storage and approximate retrieval policy are separate decisions.",{},{"id":487,"data":1502,"type":42,"tunes":1504},{"text":1503,"level":246},"Metadata filtering belongs before or during candidate retrieval",{},{"id":492,"data":1506,"type":218,"tunes":1508},{"text":1507},"If the user may only access tenant A, retrieving semantically similar chunks from tenant B and attempting to remove them later is the wrong security boundary. Authorization and hard eligibility filters should constrain the candidate space before those candidates can influence downstream processing.",{},{"id":497,"data":1510,"type":218,"tunes":1512},{"text":1511},"The same principle applies to locale, document status, source class, date, product version and other deterministic constraints. Similarity should rank eligible candidates; it should not override eligibility.",{},{"id":502,"data":1514,"type":42,"tunes":1516},{"text":1515,"level":246},"A vector database is optional",{},{"id":507,"data":1518,"type":218,"tunes":1520},{"text":1519},"For a small corpus, brute-force cosine comparison may be simple and sufficient. A relational database with vector support may also be adequate. A dedicated vector database becomes valuable when its indexing, filtering, distributed storage, update behavior or operational features solve a real requirement.",{},{"id":512,"data":1522,"type":218,"tunes":1524},{"text":1523},"Choosing a vector database because “RAG needs one” reverses the architecture process. Start with retrieval requirements and scale, then select the storage\u002Findex technology.",{},{"id":517,"data":1526,"type":42,"tunes":1528},{"text":1527,"level":247},"Reranking: second-stage relevance refinement",{},{"id":522,"data":1530,"type":218,"tunes":1532},{"text":1531},"A reranker receives a query and a smaller set of already retrieved candidates, then assigns stronger relevance scores or a new ordering. It is normally more computationally expensive than first-stage retrieval, which is why it is applied after candidate generation rather than to the entire corpus.",{},{"id":527,"data":1534,"type":218,"tunes":1536},{"text":1535},"Current Elastic guidance describes semantic reranking as a final-stage technique over a small top-k set and notes that it can refine lexical, semantic or hybrid retrieval. Cohere documents the same architecture: first-stage lexical or semantic search followed by a reranking stage.",{},{"id":532,"data":1538,"type":218,"tunes":1540},{"text":1539},"A common implementation uses a cross-encoder-like model that examines the query and each candidate together. That richer interaction can distinguish relevance more precisely than independent embedding similarity, but it is much more expensive at corpus scale.",{},{"id":537,"data":1542,"type":42,"tunes":1544},{"text":1543,"level":246},"Bi-encoder retrieval and cross-encoder reranking solve different cost problems",{},{"id":542,"data":1546,"type":362,"tunes":1572},{"content":1547,"stretched":43,"withHeadings":14},[1548,1552,1556,1560,1564,1568],[1549,1550,1551],"Property","Bi-encoder \u002F embedding retrieval","Cross-encoder-style reranking",[1553,1554,1555],"Encoding","Query and documents represented independently","Query and candidate processed jointly",[1557,1558,1559],"Document computation","Can be precomputed at ingest","Normally recomputed per query-candidate pair",[1561,1562,1563],"Corpus-scale search","Suitable with vector indexes","Usually too expensive across the entire corpus",[1565,1566,1567],"Typical role","High-recall candidate generation","High-precision ordering of a small candidate set",[1569,1570,1571],"Main trade-off","Fast and scalable but relevance interaction is compressed into vectors","Richer relevance judgment but higher latency\u002Fcost",{},{"id":571,"data":1574,"type":42,"tunes":1576},{"text":1575,"level":246},"A reranker cannot recover what retrieval missed",{},{"id":576,"data":1578,"type":218,"tunes":1580},{"text":1579},"If the relevant document is absent from the candidate set, reranking has nothing to promote. This is the central reason to evaluate retrieval and reranking separately.",{},{"id":581,"data":1582,"type":218,"tunes":1584},{"text":1583},"A pipeline can have excellent reranker precision and still fail because first-stage recall is poor. Increasing reranker quality will not repair missing source coverage, bad chunking, restrictive filters or a weak candidate retriever.",{},{"id":586,"data":1586,"type":226,"tunes":1589},{"body":1587,"title":1588,"variant":590},"First stage: \u003Cstrong>do not miss the useful candidates.\u003C\u002Fstrong>\u003Cbr>Second stage: \u003Cstrong>put the best candidates first.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>This is not a universal mathematical rule, but it is a useful engineering model for two-stage retrieval.","Useful retrieval objective",{},{"id":593,"data":1591,"type":42,"tunes":1593},{"text":1592,"level":247},"Hybrid retrieval is a separate design choice",{},{"id":598,"data":1595,"type":218,"tunes":1597},{"text":1596},"Dense semantic retrieval is strong when query and document use different wording but express related meaning. Lexical retrieval is strong when exact terms, identifiers, names, codes or rare phrases matter.",{},{"id":603,"data":1599,"type":218,"tunes":1601},{"text":1600},"Hybrid retrieval combines multiple candidate signals, often lexical BM25 and vector similarity, then merges rankings using a method such as Reciprocal Rank Fusion or a weighted score combination.",{},{"id":608,"data":1603,"type":218,"tunes":1605},{"text":1604},"Reranking can then operate on the fused candidate set. Hybrid retrieval and reranking are therefore complementary but distinct stages.",{},{"id":613,"data":1607,"type":42,"tunes":1609},{"text":1608,"level":246},"BM25 is not obsolete because embeddings exist",{},{"id":618,"data":1611,"type":218,"tunes":1613},{"text":1612},"Keyword search can outperform dense retrieval for exact identifiers, version numbers, error messages, product codes and specialized vocabulary. SQLite FTS5, for example, includes a BM25 ranking function for full-text search.",{},{"id":623,"data":1615,"type":218,"tunes":1617},{"text":1616},"A strong retrieval architecture can use lexical retrieval as the only first stage, vector retrieval as the only first stage, or combine both depending on the corpus and query distribution.",{},{"id":628,"data":1619,"type":42,"tunes":1621},{"text":1620,"level":247},"Chunking changes what embeddings and rerankers can see",{},{"id":633,"data":1623,"type":218,"tunes":1625},{"text":1624},"If a document is split poorly, no later retrieval component can fully reconstruct the missing semantic unit. A chunk that cuts a condition away from its exception may embed misleadingly and may also be reranked incorrectly because the candidate text is incomplete.",{},{"id":638,"data":1627,"type":218,"tunes":1629},{"text":1628},"Chunk size, overlap, structural boundaries and metadata therefore affect both candidate recall and reranker judgment. Retrieval evaluation should test the complete ingestion-to-ranking pipeline, not only the embedding model.",{},{"id":643,"data":1631,"type":42,"tunes":1633},{"text":1632,"level":247},"Do not compare retrieval scores as if they were universal probabilities",{},{"id":648,"data":1635,"type":218,"tunes":1637},{"text":1636},"Cosine similarity, BM25 scores, sparse-vector scores, RRF ranks and reranker scores have different meanings. A score of 0.82 from one embedding model is not automatically comparable with 0.82 from another model or with a reranker score.",{},{"id":653,"data":1639,"type":218,"tunes":1641},{"text":1640},"Thresholds should be calibrated for the actual model, corpus and task. Current Elastic guidance also notes that embedding similarity scores can be query-dependent, which makes universal cutoffs risky.",{},{"id":658,"data":1643,"type":42,"tunes":1645},{"text":1644,"level":247},"Evaluate retrieval stages separately",{},{"id":663,"data":1647,"type":362,"tunes":1675},{"content":1648,"stretched":43,"withHeadings":14},[1649,1653,1657,1660,1663,1665,1667,1671],[1650,1651,1652],"Layer","Useful question","Example metric or test",[1654,1655,1656],"Source coverage","Does the corpus contain the needed information?","Coverage audit \u002F known-answer source set",[675,1658,1659],"Is the needed evidence retrievable as a coherent unit?","Chunk-level support review",[1661,1662,681],"First-stage retrieval","Does the relevant item enter the candidate set?",[683,1664,685],"How high does relevant evidence appear?",[687,1666,689],"Does second-stage scoring improve ordering?",[1668,1669,1670],"Context selection","Do the final selected passages contain sufficient support?","Context relevance \u002F coverage",[1672,1673,1674],"Answer stage","Does the model use the selected evidence correctly?","Faithfulness \u002F claim-evidence evaluation",{},{"id":700,"data":1677,"type":218,"tunes":1679},{"text":1678},"This separation is operationally important. If Recall@50 is poor, the reranker is not the first component to fix. If Recall@50 is strong but the best passage remains at rank 38, reranking or ranking fusion becomes a plausible target.",{},{"id":705,"data":1681,"type":42,"tunes":1683},{"text":1682,"level":247},"Which layer actually failed?",{},{"id":710,"data":1685,"type":373,"tunes":1710},{"rows":1686,"title":1702,"layout":362,"columns":1703},[1687,1690,1693,1696,1699],{"id":714,"label":1688,"values":1689},"Relevant document never appears",[344,344,344],{"id":718,"label":1691,"values":1692},"Relevant document appears too low",[344,344,344],{"id":722,"label":1694,"values":1695},"Semantically good but forbidden result",[344,344,344],{"id":726,"label":1697,"values":1698},"Relevant but outdated result",[344,344,344],{"id":730,"label":1700,"values":1701},"Correct result retrieved but omitted from prompt",[344,344,344],"Symptoms and likely retrieval layer",[1704,1706,1708],{"id":736,"label":1705},"Observed symptom",{"id":739,"label":1707},"Likely layer",{"id":742,"label":1709},"First diagnostic",{},{"id":746,"data":1712,"type":42,"tunes":1714},{"text":1713,"level":247},"Relevance and Source of Truth are different",{},{"id":751,"data":1716,"type":218,"tunes":1718},{"text":1717},"A reranker can make a stale document look extremely relevant. A vector index can retrieve a secondary summary that is semantically closer than the primary source. Retrieval quality therefore cannot replace authority rules.",{},{"id":756,"data":1720,"type":218,"tunes":1722},{"text":1721},"Where source authority matters, metadata filters, source classes, version rules and provenance should constrain retrieval before the result becomes model context.",{},{"id":761,"data":1724,"type":226,"tunes":1727},{"body":1725,"title":1726,"variant":233},"Relevance answers whether a candidate fits the query. Source-of-Truth architecture answers whether that candidate is allowed to establish the claim.","Reranking cannot make a non-authoritative source authoritative",{},{"id":767,"data":1729,"type":42,"tunes":1731},{"text":1730,"level":247},"Original implementation evidence",{},{"id":772,"data":1733,"type":42,"tunes":1735},{"text":1734,"level":246},"Source of Truth Research Engine: lexical and semantic retrieval are separate",{},{"id":777,"data":1737,"type":218,"tunes":1739},{"text":1738},"The Source of Truth Research Engine contains a local lexical retrieval path using SQLite FTS5\u002FBM25 and a separate optional semantic retrieval path using locally generated embeddings.",{},{"id":782,"data":1741,"type":218,"tunes":1743},{"text":1742},"Its semantic search implementation computes a query vector and compares it with stored chunk vectors using cosine similarity. The project deliberately treats semantic similarity as a discovery signal rather than evidence: a candidate must still be traced back to a concrete source and locator before it supports a claim.",{},{"id":787,"data":1745,"type":218,"tunes":1747},{"text":1746},"This is useful implementation evidence for R01 because the same corpus can support lexical ranking and vector similarity without confusing either mechanism with evidentiary authority.",{},{"id":792,"data":1749,"type":42,"tunes":1751},{"text":1750,"level":246},"Aaasaasa AI Client: Qdrant is a vector infrastructure component",{},{"id":797,"data":1753,"type":218,"tunes":1755},{"text":1754},"Aaasaasa AI Client includes Qdrant\u002Fvector infrastructure as a separate local resource. The Electron architecture exposes Qdrant services from the trusted main-process side rather than treating vector search as part of the model itself.",{},{"id":802,"data":1757,"type":218,"tunes":1759},{"text":1758},"The repository contains a Qdrant client adapter, Qdrant service configuration and Docker-based Qdrant infrastructure. This demonstrates the architectural separation between AI provider\u002Fmodel execution and vector storage\u002Fsearch.",{},{"id":807,"data":1761,"type":218,"tunes":1763},{"text":1762},"The existence of Qdrant support should not be overstated as a complete production RAG pipeline. The evidence here is narrower: vector infrastructure is implemented as its own component boundary.",{},{"id":812,"data":1765,"type":362,"tunes":1788},{"content":1766,"stretched":43,"withHeadings":14},[1767,1770,1773,1776,1779,1782,1785],[1768,1769],"Implementation evidence","What it demonstrates",[1771,1772],"SQLite FTS5\u002FBM25 in Source of Truth Research Engine","Lexical retrieval can exist independently of embeddings.",[1774,1775],"Local Ollama embeddings","Representation generation is its own stage.",[1777,1778],"Stored semantic vectors + cosine comparison","Semantic retrieval consumes embeddings after they have been produced.",[1780,1781],"Qdrant support in Aaasaasa AI Client","Vector storage\u002Fsearch is an infrastructure capability separate from the model provider.",[1783,1784],"Evidence\u002Fprovenance rules in Source of Truth Research Engine","Retrieved similarity does not equal authority or proof.",[1786,1787],"No claimed custom reranker in these implementations","Reranking is explained as an architectural stage, not falsely claimed as already implemented evidence.",{},{"id":838,"data":1790,"type":226,"tunes":1793},{"body":1791,"title":1792,"variant":240},"The current implementation evidence confirms lexical retrieval, embeddings, vector search infrastructure and provenance-aware retrieval. This article does \u003Cstrong>not\u003C\u002Fstrong> claim that a production cross-encoder reranking service is already implemented in these projects.","Evidence boundary",{},{"id":844,"data":1795,"type":42,"tunes":1797},{"text":1796,"level":247},"When do you need each component?",{},{"id":849,"data":1799,"type":362,"tunes":1827},{"content":1800,"stretched":43,"withHeadings":14},[1801,1804,1807,1810,1813,1816,1818,1821,1824],[1802,1803],"Need","Likely component",[1805,1806],"Semantic similarity across different wording","Embedding model + vector similarity search",[1808,1809],"Efficient search over a large vector corpus","Vector index\u002Fdatabase or vector-capable search engine",[1811,1812],"Exact identifiers, error codes or rare terms","Lexical\u002Ffull-text retrieval such as BM25",[1814,1815],"Both exact terminology and semantic meaning","Hybrid lexical + semantic retrieval",[1817,372],"Candidate set is good but ordering is weak",[1819,1820],"Relevant items are absent from candidate set","Improve source coverage, chunking, retriever, filters or candidate count before reranking",[1822,1823],"Hard tenant\u002Fsource\u002Fversion constraints","Deterministic metadata\u002Fauthorization filtering",[1825,1826],"Small corpus","Potentially simple brute-force similarity or general-purpose database rather than dedicated vector DB",{},{"id":880,"data":1829,"type":42,"tunes":1831},{"text":1830,"level":247},"A practical retrieval design sequence",{},{"id":885,"data":1833,"type":314,"tunes":1866},{"steps":1834,"title":1865,"orientation":313},[1835,1838,1841,1844,1847,1850,1853,1856,1859,1862],{"label":1836,"description":1837},"1. Define the query types","Identify semantic questions, exact lookups, identifiers, current-state reads and domain-specific patterns.",{"label":1839,"description":1840},"2. Define eligible sources","Apply tenant, authorization, locale, version, source class and freshness constraints.",{"label":1842,"description":1843},"3. Establish lexical baseline","Measure whether simple full-text\u002FBM25 retrieval already solves much of the workload.",{"label":1845,"description":1846},"4. Add embeddings where semantic recall is needed","Choose and evaluate an embedding model against representative domain queries.",{"label":1848,"description":1849},"5. Choose vector storage\u002Findexing based on scale","Use brute force, database vector support or a dedicated vector engine according to requirements.",{"label":1851,"description":1852},"6. Evaluate first-stage recall","Confirm that relevant evidence enters a sufficiently large candidate set.",{"label":1854,"description":1855},"7. Add hybrid retrieval if signals are complementary","Fuse lexical and semantic rankings when both materially improve candidate generation.",{"label":1857,"description":1858},"8. Add reranking if ordering remains the bottleneck","Apply the stronger model only to the candidate set where its cost is justified.",{"label":1860,"description":1861},"9. Tune final context selection","Control redundancy, context budget, authority, diversity and evidence coverage before generation.",{"label":1863,"description":1864},"10. Evaluate end-to-end","Measure retrieval, context and answer quality separately so failures can be localized.","Design retrieval from requirements, not from product names",{},{"id":921,"data":1868,"type":42,"tunes":1870},{"text":1869,"level":247},"Common misconceptions",{},{"id":926,"data":1872,"type":362,"tunes":1907},{"content":1873,"stretched":43,"withHeadings":14},[1874,1877,1880,1883,1886,1889,1892,1895,1898,1901,1904],[1875,1876],"Misconception","Correction",[1878,1879],"“An embedding is a vector database.”","An embedding is a representation; the database\u002Findex stores and searches representations.",[1881,1882],"“A vector database creates semantic meaning.”","The embedding model creates the representation; the vector system indexes and compares it.",[1884,1885],"“RAG requires a vector database.”","RAG requires retrieval, not a specific retrieval technology.",[1887,1888],"“Reranking is the same as vector search.”","Vector search generates candidates; reranking reorders a candidate set.",[1890,1891],"“Rerankers fix poor recall.”","They cannot promote a document that was never retrieved.",[1893,1894],"“Dense search replaces BM25.”","Lexical search remains valuable for exact terms, identifiers and specialized vocabulary.",[1896,1897],"“Higher similarity means more authoritative.”","Similarity and source authority are different dimensions.",[1899,1900],"“More top-k always improves RAG.”","Larger candidate sets can improve recall but add latency, noise and context-selection burden.",[1902,1903],"“One score threshold works everywhere.”","Scores depend on model, query, corpus and retrieval method and must be calibrated.",[1905,1906],"“A dedicated vector DB is always more advanced.”","It is only justified when its operational and retrieval capabilities match the requirements.",{},{"id":964,"data":1909,"type":42,"tunes":1911},{"text":1910,"level":247},"Edge cases and limitations",{},{"id":969,"data":1913,"type":218,"tunes":1915},{"text":1914},"Some applications do not need semantic search. Exact database lookup or structured SQL can be more correct, faster and easier to audit than embedding retrieval.",{},{"id":974,"data":1917,"type":218,"tunes":1919},{"text":1918},"Some corpora are so small that a full vector scan is acceptable. Approximate indexing adds complexity without meaningful benefit.",{},{"id":979,"data":1921,"type":218,"tunes":1923},{"text":1922},"Some queries require high recall before any precision optimization. Legal discovery, research and compliance review may prefer broad candidate retrieval followed by transparent filtering and human review.",{},{"id":984,"data":1925,"type":218,"tunes":1927},{"text":1926},"Multilingual and domain-specific retrieval can behave very differently across embedding models. Benchmark claims from public datasets should not be treated as proof for a private corpus.",{},{"id":989,"data":1929,"type":218,"tunes":1931},{"text":1930},"Reranking latency grows with the number and length of candidates. Candidate size should therefore be tuned as an accuracy\u002Fcost\u002Flatency variable rather than copied from a tutorial.",{},{"id":994,"data":1933,"type":42,"tunes":1935},{"text":1934,"level":247},"What would change this answer?",{},{"id":999,"data":1937,"type":218,"tunes":1939},{"text":1938},"The component boundaries would not change if a vendor packages embedding generation, vector indexing and reranking behind one API. The product may hide the stages, but they remain conceptually different responsibilities with different failure modes.",{},{"id":1004,"data":1941,"type":218,"tunes":1943},{"text":1942},"Future embedding or retrieval models may reduce the need for separate reranking in some workloads, while stronger late-interaction or learned sparse methods can blur traditional dense\u002Flexical categories. The architecture should still ask which stage produces representations, which stage generates candidates and which stage refines ranking.",{},{"id":1009,"data":1945,"type":218,"tunes":1947},{"text":1946},"The best design also changes with corpus size, query mix, language, domain terminology, update frequency, source authority, latency budget and evaluation results.",{},{"id":1014,"data":1949,"type":42,"tunes":1951},{"text":1950,"level":247},"Related canonical knowledge",{},{"id":1019,"data":1953,"type":218,"tunes":1955},{"text":1954},"R01 assumes the basic RAG concept is already understood. RAG is the wider pattern in which retrieved external information is supplied to a model; embeddings, vector search and reranking are optional retrieval components inside that pattern.",{},{"id":1024,"data":1957,"type":1030,"tunes":1962},{"url":1958,"title":1959,"excerpt":1960,"ctaLabel":1961},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","What Is RAG? The Simplest Explanation of How It Works","A plain-English foundation for how retrieval brings external knowledge into the model context.","Read the RAG foundation",{},{"id":1033,"data":1964,"type":218,"tunes":1966},{"text":1965},"When retrieval fails, diagnose source coverage, retrieval, ranking, context assembly and generation separately rather than treating the whole system as one “RAG failure.”",{},{"id":1038,"data":1968,"type":1030,"tunes":1973},{"url":1969,"title":1970,"excerpt":1971,"ctaLabel":1972},"https:\u002F\u002Fstajic.de\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method","RAG Failed — But Which Layer Actually Failed? A Diagnostic Method","A layer-by-layer method for isolating source coverage, retrieval, ranking, context assembly, generation, evidence attribution and freshness failures.","Read the RAG diagnostic method",{},{"id":1046,"data":1975,"type":218,"tunes":1977},{"text":1976},"Source-of-Truth architecture is the authority layer around retrieval: it decides which source can establish a claim, while embeddings and ranking only decide which candidates appear relevant.",{},{"id":1051,"data":1979,"type":42,"tunes":1981},{"text":1980,"level":247},"Frequently asked questions",{},{"id":1056,"data":1983,"type":1056,"tunes":2010},{"items":1984,"title":2009},[1985,1988,1991,1994,1997,2000,2003,2006],{"id":1060,"answer":1986,"question":1987},"Embeddings are numerical representations produced by a model. A vector database or vector index stores and searches those representations together with IDs and metadata.","What is the difference between embeddings and a vector database?",{"id":1064,"answer":1989,"question":1990},"A reranker takes an already retrieved candidate set and re-scores or reorders those candidates using a stronger relevance model or scoring method.","What does a reranker do?",{"id":1068,"answer":1992,"question":1993},"No. RAG requires retrieval of external information. Retrieval can use lexical search, SQL, APIs, graphs, vector search, hybrid search or combinations of these.","Does RAG require a vector database?",{"id":1072,"answer":1995,"question":1996},"Rerankers commonly perform more expensive query-document interaction, so they are usually applied to a small top-k candidate set after a faster first-stage retriever.","Why not use the reranker on the whole corpus?",{"id":1076,"answer":1998,"question":1999},"No. If the relevant document was not retrieved into the candidate set, reranking has nothing to promote.","Can reranking fix a missing document?",{"id":1080,"answer":2001,"question":2002},"No. It is a similarity measure whose numeric meaning depends on the embedding model and corpus. It should not be treated as a universal probability of relevance.","Is cosine similarity a relevance probability?",{"id":1084,"answer":2004,"question":2005},"Use hybrid retrieval when evaluation shows that lexical and semantic signals recover complementary relevant documents. It is not automatically better for every corpus.","Should I use BM25 and vector search together?",{"id":1088,"answer":2007,"question":2008},"When vector indexing, filtering, scale, updates, distributed operation or other vector-specific requirements justify a specialized system. Small workloads may not need one.","When do I need a dedicated vector database?","Embeddings, vector databases and reranking",{},{"id":1094,"data":2012,"type":42,"tunes":2014},{"text":2013,"level":247},"Glossary",{},{"id":1099,"data":2016,"type":1099,"tunes":2052},{"title":2017,"entries":2018},"Key retrieval terms",[2019,2021,2024,2027,2030,2033,2035,2037,2039,2042,2044,2046,2048,2050],{"term":366,"anchor":365,"definition":2020},"A numerical representation of content produced by an embedding model for similarity, clustering, retrieval or related tasks.",{"term":2022,"anchor":1107,"definition":2023},"Dense vector","A vector representation in which many dimensions carry non-zero values, commonly used in semantic retrieval.",{"term":2025,"anchor":1111,"definition":2026},"Sparse vector","A high-dimensional representation in which most dimensions are zero, often preserving stronger token- or term-like structure.",{"term":2028,"anchor":1115,"definition":2029},"Vector index","A data structure that organizes vectors for efficient similarity or nearest-neighbor retrieval.",{"term":2031,"anchor":1119,"definition":2032},"Vector database","A storage\u002Fsearch system designed to manage vectors, associated metadata and vector retrieval workloads.",{"term":1122,"anchor":1123,"definition":2034},"Approximate nearest-neighbor search, which trades exact exhaustive comparison for faster retrieval at scale.",{"term":1126,"anchor":1127,"definition":2036},"Hierarchical Navigable Small World, a graph-based approximate nearest-neighbor indexing approach widely used for vector retrieval.",{"term":1130,"anchor":1131,"definition":2038},"A lexical relevance-ranking method based on term occurrence and corpus statistics, widely used in full-text search.",{"term":2040,"anchor":1135,"definition":2041},"Hybrid search","Retrieval that combines results or scores from multiple retrieval methods such as lexical and vector search.",{"term":687,"anchor":1138,"definition":2043},"A later retrieval stage that re-scores and reorders an already generated candidate set.",{"term":1141,"anchor":1142,"definition":2045},"An architecture that encodes query and candidate independently, enabling precomputation and scalable similarity search.",{"term":1145,"anchor":1146,"definition":2047},"A model that jointly processes a query and candidate text, often improving relevance judgment at higher computational cost.",{"term":681,"anchor":1149,"definition":2049},"The fraction of relevant items recovered within the top k retrieved candidates.",{"term":1152,"anchor":1153,"definition":2051},"Normalized Discounted Cumulative Gain, a ranking metric that rewards relevant results appearing higher in an ordered list.",{},{"id":1157,"data":2054,"type":42,"tunes":2056},{"text":2055,"level":247},"Conclusion",{},{"id":1162,"data":2058,"type":218,"tunes":2060},{"text":2059},"The clean retrieval model is simple: embeddings represent meaning, vector search retrieves candidates, and rerankers refine candidate ordering.",{},{"id":1167,"data":2062,"type":218,"tunes":2064},{"text":2063},"Once those boundaries are explicit, architecture decisions become easier to diagnose. Missing candidates point toward source coverage, chunking, embeddings, filters or first-stage retrieval. Poor ordering points toward ranking, fusion or reranking. Incorrect final answers can then be investigated separately at context and generation layers.",{},{"id":1172,"data":2066,"type":218,"tunes":2068},{"text":2067},"The most important result is not choosing the most fashionable retrieval component. It is building a retrieval pipeline whose stages, authority boundaries, metrics and failure modes can be measured independently.",{},{"id":1177,"data":2070,"type":42,"tunes":2072},{"text":2071,"level":247},"Primary sources and implementation evidence",{},{"id":1182,"data":2074,"type":218,"tunes":2076},{"text":2075},"The external references below document the representation, vector-search and reranking mechanisms used in this article. Project-specific sections are original implementation evidence and are intentionally narrower than claims about complete production RAG maturity.",{},{"id":1187,"data":2078,"type":1194,"tunes":2082},{"link":1189,"meta":2079},{"image":2080,"title":1192,"description":2081},{"url":344},"Foundational paper demonstrating independently computable sentence embeddings for efficient semantic similarity search.",{},{"id":1197,"data":2084,"type":1194,"tunes":2088},{"link":1199,"meta":2085},{"image":2086,"title":1202,"description":2087},{"url":344},"Official documentation describing collections, points, vectors, payload metadata and HNSW-based similarity indexing.",{},{"id":1206,"data":2090,"type":1194,"tunes":2094},{"link":1208,"meta":2091},{"image":2092,"title":1211,"description":2093},{"url":344},"Official vector-search documentation covering similarity queries, filtering, exact versus approximate search and dense\u002Fsparse behavior.",{},{"id":1215,"data":2096,"type":1194,"tunes":2100},{"link":1217,"meta":2097},{"image":2098,"title":1220,"description":2099},{"url":344},"Current documentation on dense\u002Fsparse vector retrieval, lexical\u002Fvector combinations and multi-stage search pipelines.",{},{"id":1224,"data":2102,"type":1194,"tunes":2107},{"link":1226,"meta":2103},{"image":2104,"title":2105,"description":2106},{"url":344},"Elastic — Semantic reranking","Current guidance defining semantic reranking as a later-stage relevance operation over a smaller candidate set.",{},{"id":1233,"data":2109,"type":1194,"tunes":2114},{"link":1235,"meta":2110},{"image":2111,"title":2112,"description":2113},{"url":344},"Cohere — Reranking with Cohere","Current documentation showing reranking as a second-stage improvement over lexical or semantic first-stage retrieval.",{},{"id":1242,"data":2116,"type":1194,"tunes":2120},{"link":1244,"meta":2117},{"image":2118,"title":1247,"description":2119},{"url":344},"Official SQLite documentation for full-text search and the built-in BM25 ranking function used as lexical retrieval evidence.",{},"2.31.6","Embeddings represent meaning, vector databases retrieve candidates, and rerankers refine results. Learn how these three retrieval layers differ and work together in RAG.",{"lang":7,"title":208,"content":210,"contentJson":2124,"excerpt":1251},{"time":212,"blocks":2125,"version":1250},[2126,2129,2132,2135,2138,2141,2144,2147,2150,2153,2156,2159,2162,2165,2175,2178,2181,2184,2187,2205,2208,2211,2214,2217,2220,2223,2226,2229,2232,2235,2238,2241,2244,2247,2250,2253,2256,2259,2262,2265,2268,2271,2274,2277,2280,2283,2286,2289,2292,2295,2298,2301,2304,2314,2317,2320,2323,2326,2329,2332,2335,2338,2341,2344,2347,2350,2353,2356,2359,2362,2365,2368,2380,2383,2386,2404,2407,2410,2413,2416,2419,2422,2425,2428,2431,2434,2437,2440,2443,2454,2457,2460,2473,2476,2490,2493,2508,2511,2514,2517,2520,2523,2526,2529,2532,2535,2538,2541,2544,2547,2550,2553,2556,2559,2571,2574,2592,2595,2598,2601,2604,2607,2610,2615,2620,2625,2630,2635,2640],{"id":215,"data":2127,"type":218,"tunes":2128},{"text":217},{},{"id":221,"data":2130,"type":226,"tunes":2131},{"body":223,"title":224,"variant":225},{},{"id":229,"data":2133,"type":226,"tunes":2134},{"body":231,"title":232,"variant":233},{},{"id":236,"data":2136,"type":226,"tunes":2137},{"body":238,"title":239,"variant":240},{},{"id":243,"data":2139,"type":248,"tunes":2140},{"title":245,"maxLevel":246,"minLevel":247},{},{"id":251,"data":2142,"type":42,"tunes":2143},{"text":253,"level":247},{},{"id":256,"data":2145,"type":218,"tunes":2146},{"text":258},{},{"id":261,"data":2148,"type":218,"tunes":2149},{"text":263},{},{"id":266,"data":2151,"type":218,"tunes":2152},{"text":268},{},{"id":271,"data":2154,"type":42,"tunes":2155},{"text":273,"level":247},{},{"id":276,"data":2157,"type":218,"tunes":2158},{"text":278},{},{"id":281,"data":2160,"type":218,"tunes":2161},{"text":283},{},{"id":286,"data":2163,"type":218,"tunes":2164},{"text":288},{},{"id":291,"data":2166,"type":314,"tunes":2174},{"steps":2167,"title":312,"orientation":313},[2168,2169,2170,2171,2172,2173],{"label":295,"description":296},{"label":298,"description":299},{"label":301,"description":302},{"label":304,"description":305},{"label":307,"description":308},{"label":310,"description":311},{},{"id":317,"data":2176,"type":42,"tunes":2177},{"text":319,"level":247},{},{"id":322,"data":2179,"type":218,"tunes":2180},{"text":324},{},{"id":327,"data":2182,"type":218,"tunes":2183},{"text":329},{},{"id":332,"data":2185,"type":218,"tunes":2186},{"text":334},{},{"id":337,"data":2188,"type":373,"tunes":2204},{"rows":2189,"title":361,"layout":362,"columns":2200},[2190,2192,2194,2196,2198],{"id":341,"label":342,"values":2191},[344,344,344],{"id":346,"label":347,"values":2193},[344,344,344],{"id":350,"label":351,"values":2195},[344,344,344],{"id":354,"label":355,"values":2197},[344,344,344],{"id":358,"label":359,"values":2199},[344,344,344],[2201,2202,2203],{"id":365,"label":366},{"id":368,"label":369},{"id":371,"label":372},{},{"id":376,"data":2206,"type":42,"tunes":2207},{"text":378,"level":247},{},{"id":381,"data":2209,"type":218,"tunes":2210},{"text":383},{},{"id":386,"data":2212,"type":218,"tunes":2213},{"text":388},{},{"id":391,"data":2215,"type":218,"tunes":2216},{"text":393},{},{"id":396,"data":2218,"type":42,"tunes":2219},{"text":398,"level":246},{},{"id":401,"data":2221,"type":218,"tunes":2222},{"text":403},{},{"id":406,"data":2224,"type":218,"tunes":2225},{"text":408},{},{"id":411,"data":2227,"type":42,"tunes":2228},{"text":413,"level":246},{},{"id":416,"data":2230,"type":218,"tunes":2231},{"text":418},{},{"id":421,"data":2233,"type":218,"tunes":2234},{"text":423},{},{"id":426,"data":2236,"type":42,"tunes":2237},{"text":428,"level":246},{},{"id":431,"data":2239,"type":218,"tunes":2240},{"text":433},{},{"id":436,"data":2242,"type":218,"tunes":2243},{"text":438},{},{"id":441,"data":2245,"type":226,"tunes":2246},{"body":443,"title":444,"variant":233},{},{"id":447,"data":2248,"type":42,"tunes":2249},{"text":449,"level":247},{},{"id":452,"data":2251,"type":218,"tunes":2252},{"text":454},{},{"id":457,"data":2254,"type":218,"tunes":2255},{"text":459},{},{"id":462,"data":2257,"type":218,"tunes":2258},{"text":464},{},{"id":467,"data":2260,"type":42,"tunes":2261},{"text":469,"level":246},{},{"id":472,"data":2263,"type":218,"tunes":2264},{"text":474},{},{"id":477,"data":2266,"type":218,"tunes":2267},{"text":479},{},{"id":482,"data":2269,"type":218,"tunes":2270},{"text":484},{},{"id":487,"data":2272,"type":42,"tunes":2273},{"text":489,"level":246},{},{"id":492,"data":2275,"type":218,"tunes":2276},{"text":494},{},{"id":497,"data":2278,"type":218,"tunes":2279},{"text":499},{},{"id":502,"data":2281,"type":42,"tunes":2282},{"text":504,"level":246},{},{"id":507,"data":2284,"type":218,"tunes":2285},{"text":509},{},{"id":512,"data":2287,"type":218,"tunes":2288},{"text":514},{},{"id":517,"data":2290,"type":42,"tunes":2291},{"text":519,"level":247},{},{"id":522,"data":2293,"type":218,"tunes":2294},{"text":524},{},{"id":527,"data":2296,"type":218,"tunes":2297},{"text":529},{},{"id":532,"data":2299,"type":218,"tunes":2300},{"text":534},{},{"id":537,"data":2302,"type":42,"tunes":2303},{"text":539,"level":246},{},{"id":542,"data":2305,"type":362,"tunes":2313},{"content":2306,"stretched":43,"withHeadings":14},[2307,2308,2309,2310,2311,2312],[546,547,548],[550,551,552],[554,555,556],[558,559,560],[562,563,564],[566,567,568],{},{"id":571,"data":2315,"type":42,"tunes":2316},{"text":573,"level":246},{},{"id":576,"data":2318,"type":218,"tunes":2319},{"text":578},{},{"id":581,"data":2321,"type":218,"tunes":2322},{"text":583},{},{"id":586,"data":2324,"type":226,"tunes":2325},{"body":588,"title":589,"variant":590},{},{"id":593,"data":2327,"type":42,"tunes":2328},{"text":595,"level":247},{},{"id":598,"data":2330,"type":218,"tunes":2331},{"text":600},{},{"id":603,"data":2333,"type":218,"tunes":2334},{"text":605},{},{"id":608,"data":2336,"type":218,"tunes":2337},{"text":610},{},{"id":613,"data":2339,"type":42,"tunes":2340},{"text":615,"level":246},{},{"id":618,"data":2342,"type":218,"tunes":2343},{"text":620},{},{"id":623,"data":2345,"type":218,"tunes":2346},{"text":625},{},{"id":628,"data":2348,"type":42,"tunes":2349},{"text":630,"level":247},{},{"id":633,"data":2351,"type":218,"tunes":2352},{"text":635},{},{"id":638,"data":2354,"type":218,"tunes":2355},{"text":640},{},{"id":643,"data":2357,"type":42,"tunes":2358},{"text":645,"level":247},{},{"id":648,"data":2360,"type":218,"tunes":2361},{"text":650},{},{"id":653,"data":2363,"type":218,"tunes":2364},{"text":655},{},{"id":658,"data":2366,"type":42,"tunes":2367},{"text":660,"level":247},{},{"id":663,"data":2369,"type":362,"tunes":2379},{"content":2370,"stretched":43,"withHeadings":14},[2371,2372,2373,2374,2375,2376,2377,2378],[667,668,669],[671,672,673],[675,676,677],[679,680,681],[683,684,685],[687,688,689],[691,692,693],[695,696,697],{},{"id":700,"data":2381,"type":218,"tunes":2382},{"text":702},{},{"id":705,"data":2384,"type":42,"tunes":2385},{"text":707,"level":247},{},{"id":710,"data":2387,"type":373,"tunes":2403},{"rows":2388,"title":733,"layout":362,"columns":2399},[2389,2391,2393,2395,2397],{"id":714,"label":715,"values":2390},[344,344,344],{"id":718,"label":719,"values":2392},[344,344,344],{"id":722,"label":723,"values":2394},[344,344,344],{"id":726,"label":727,"values":2396},[344,344,344],{"id":730,"label":731,"values":2398},[344,344,344],[2400,2401,2402],{"id":736,"label":737},{"id":739,"label":740},{"id":742,"label":743},{},{"id":746,"data":2405,"type":42,"tunes":2406},{"text":748,"level":247},{},{"id":751,"data":2408,"type":218,"tunes":2409},{"text":753},{},{"id":756,"data":2411,"type":218,"tunes":2412},{"text":758},{},{"id":761,"data":2414,"type":226,"tunes":2415},{"body":763,"title":764,"variant":233},{},{"id":767,"data":2417,"type":42,"tunes":2418},{"text":769,"level":247},{},{"id":772,"data":2420,"type":42,"tunes":2421},{"text":774,"level":246},{},{"id":777,"data":2423,"type":218,"tunes":2424},{"text":779},{},{"id":782,"data":2426,"type":218,"tunes":2427},{"text":784},{},{"id":787,"data":2429,"type":218,"tunes":2430},{"text":789},{},{"id":792,"data":2432,"type":42,"tunes":2433},{"text":794,"level":246},{},{"id":797,"data":2435,"type":218,"tunes":2436},{"text":799},{},{"id":802,"data":2438,"type":218,"tunes":2439},{"text":804},{},{"id":807,"data":2441,"type":218,"tunes":2442},{"text":809},{},{"id":812,"data":2444,"type":362,"tunes":2453},{"content":2445,"stretched":43,"withHeadings":14},[2446,2447,2448,2449,2450,2451,2452],[816,817],[819,820],[822,823],[825,826],[828,829],[831,832],[834,835],{},{"id":838,"data":2455,"type":226,"tunes":2456},{"body":840,"title":841,"variant":240},{},{"id":844,"data":2458,"type":42,"tunes":2459},{"text":846,"level":247},{},{"id":849,"data":2461,"type":362,"tunes":2472},{"content":2462,"stretched":43,"withHeadings":14},[2463,2464,2465,2466,2467,2468,2469,2470,2471],[853,854],[856,857],[859,860],[862,863],[865,866],[868,372],[870,871],[873,874],[876,877],{},{"id":880,"data":2474,"type":42,"tunes":2475},{"text":882,"level":247},{},{"id":885,"data":2477,"type":314,"tunes":2489},{"steps":2478,"title":918,"orientation":313},[2479,2480,2481,2482,2483,2484,2485,2486,2487,2488],{"label":889,"description":890},{"label":892,"description":893},{"label":895,"description":896},{"label":898,"description":899},{"label":901,"description":902},{"label":904,"description":905},{"label":907,"description":908},{"label":910,"description":911},{"label":913,"description":914},{"label":916,"description":917},{},{"id":921,"data":2491,"type":42,"tunes":2492},{"text":923,"level":247},{},{"id":926,"data":2494,"type":362,"tunes":2507},{"content":2495,"stretched":43,"withHeadings":14},[2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,2506],[930,931],[933,934],[936,937],[939,940],[942,943],[945,946],[948,949],[951,952],[954,955],[957,958],[960,961],{},{"id":964,"data":2509,"type":42,"tunes":2510},{"text":966,"level":247},{},{"id":969,"data":2512,"type":218,"tunes":2513},{"text":971},{},{"id":974,"data":2515,"type":218,"tunes":2516},{"text":976},{},{"id":979,"data":2518,"type":218,"tunes":2519},{"text":981},{},{"id":984,"data":2521,"type":218,"tunes":2522},{"text":986},{},{"id":989,"data":2524,"type":218,"tunes":2525},{"text":991},{},{"id":994,"data":2527,"type":42,"tunes":2528},{"text":996,"level":247},{},{"id":999,"data":2530,"type":218,"tunes":2531},{"text":1001},{},{"id":1004,"data":2533,"type":218,"tunes":2534},{"text":1006},{},{"id":1009,"data":2536,"type":218,"tunes":2537},{"text":1011},{},{"id":1014,"data":2539,"type":42,"tunes":2540},{"text":1016,"level":247},{},{"id":1019,"data":2542,"type":218,"tunes":2543},{"text":1021},{},{"id":1024,"data":2545,"type":1030,"tunes":2546},{"url":1026,"title":1027,"excerpt":1028,"ctaLabel":1029},{},{"id":1033,"data":2548,"type":218,"tunes":2549},{"text":1035},{},{"id":1038,"data":2551,"type":1030,"tunes":2552},{"url":1040,"title":1041,"excerpt":1042,"ctaLabel":1043},{},{"id":1046,"data":2554,"type":218,"tunes":2555},{"text":1048},{},{"id":1051,"data":2557,"type":42,"tunes":2558},{"text":1053,"level":247},{},{"id":1056,"data":2560,"type":1056,"tunes":2570},{"items":2561,"title":1091},[2562,2563,2564,2565,2566,2567,2568,2569],{"id":1060,"answer":1061,"question":1062},{"id":1064,"answer":1065,"question":1066},{"id":1068,"answer":1069,"question":1070},{"id":1072,"answer":1073,"question":1074},{"id":1076,"answer":1077,"question":1078},{"id":1080,"answer":1081,"question":1082},{"id":1084,"answer":1085,"question":1086},{"id":1088,"answer":1089,"question":1090},{},{"id":1094,"data":2572,"type":42,"tunes":2573},{"text":1096,"level":247},{},{"id":1099,"data":2575,"type":1099,"tunes":2591},{"title":1101,"entries":2576},[2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590],{"term":366,"anchor":365,"definition":1104},{"term":1106,"anchor":1107,"definition":1108},{"term":1110,"anchor":1111,"definition":1112},{"term":1114,"anchor":1115,"definition":1116},{"term":1118,"anchor":1119,"definition":1120},{"term":1122,"anchor":1123,"definition":1124},{"term":1126,"anchor":1127,"definition":1128},{"term":1130,"anchor":1131,"definition":1132},{"term":1134,"anchor":1135,"definition":1136},{"term":687,"anchor":1138,"definition":1139},{"term":1141,"anchor":1142,"definition":1143},{"term":1145,"anchor":1146,"definition":1147},{"term":681,"anchor":1149,"definition":1150},{"term":1152,"anchor":1153,"definition":1154},{},{"id":1157,"data":2593,"type":42,"tunes":2594},{"text":1159,"level":247},{},{"id":1162,"data":2596,"type":218,"tunes":2597},{"text":1164},{},{"id":1167,"data":2599,"type":218,"tunes":2600},{"text":1169},{},{"id":1172,"data":2602,"type":218,"tunes":2603},{"text":1174},{},{"id":1177,"data":2605,"type":42,"tunes":2606},{"text":1179,"level":247},{},{"id":1182,"data":2608,"type":218,"tunes":2609},{"text":1184},{},{"id":1187,"data":2611,"type":1194,"tunes":2614},{"link":1189,"meta":2612},{"image":2613,"title":1192,"description":1193},{"url":344},{},{"id":1197,"data":2616,"type":1194,"tunes":2619},{"link":1199,"meta":2617},{"image":2618,"title":1202,"description":1203},{"url":344},{},{"id":1206,"data":2621,"type":1194,"tunes":2624},{"link":1208,"meta":2622},{"image":2623,"title":1211,"description":1212},{"url":344},{},{"id":1215,"data":2626,"type":1194,"tunes":2629},{"link":1217,"meta":2627},{"image":2628,"title":1220,"description":1221},{"url":344},{},{"id":1224,"data":2631,"type":1194,"tunes":2634},{"link":1226,"meta":2632},{"image":2633,"title":1229,"description":1230},{"url":344},{},{"id":1233,"data":2636,"type":1194,"tunes":2639},{"link":1235,"meta":2637},{"image":2638,"title":1238,"description":1239},{"url":344},{},{"id":1242,"data":2641,"type":1194,"tunes":2644},{"link":1244,"meta":2642},{"image":2643,"title":1247,"description":1248},{"url":344},{},"Post erfolgreich abgerufen",{"items":2647,"source":2731,"manualIds":2732,"manualMatchedIds":2733},[2648,2655,2661,2668,2675,2682,2689,2696,2703,2710,2717,2724],{"id":2649,"slug":2650,"title":2651,"excerpt":2652,"featuredImage":2653,"publishedAt":2654},"468","ai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","La memoria del agente de IA no es RAG: cómo separar memoria, recuperación, estado y contexto","La memoria del agente, RAG, el estado y el contexto a menudo se usan como si fueran intercambiables. No lo son. Este modelo práctico de arquitectura separa las cuatro capas, muestra dónde pertenece cada una y explica qué se rompe cuando los sistemas las colapsan en una sola.","\u002Fuploads\u002F2026\u002F09\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context-1790350560308-np0xy6.webp","2026-09-25T11:34:00.000Z",{"id":2656,"slug":2657,"title":1027,"excerpt":2658,"featuredImage":2659,"publishedAt":2660},"478","what-is-rag-the-simplest-explanation-of-how-it-works","RAG suena complicado, pero la idea es simple: antes de que una IA responda, primero busca información útil de una fuente de conocimiento y le da esa información al modelo de lenguaje. Esta guía explica RAG, los LLM, el estado, la memoria y las herramientas usando un modelo mental simple.","\u002Fuploads\u002F2026\u002F09\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works-1790377492124-khjagt.webp","2026-09-25T19:03:00.000Z",{"id":2662,"slug":2663,"title":2664,"excerpt":2665,"featuredImage":2666,"publishedAt":2667},"476","mcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained","MCP vs A2A vs UCP vs AP2 vs A2UI: La pila de protocolos de agentes explicada","MCP, A2A, UCP, AP2 y A2UI a menudo se presentan como estándares de agentes competidores. En su mayoría, resuelven diferentes problemas de interoperabilidad. Esta guía mapea cada protocolo con el límite que realmente estandariza—y muestra cómo pueden funcionar juntos en un sistema de producción.","\u002Fuploads\u002F2026\u002F09\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained-1790352625869-2ezle0.webp","2026-09-25T12:09:00.000Z",{"id":2669,"slug":2670,"title":2671,"excerpt":2672,"featuredImage":2673,"publishedAt":2674},"492","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","MCP explicado: qué conecta, qué no hace y dónde encaja","El Protocolo de Contexto de Modelo conecta aplicaciones de IA con herramientas, recursos y prompts externos a través de un límite estándar cliente-servidor. Aprende qué hace MCP, qué no hace y dónde encaja en la arquitectura de agentes.","\u002Fuploads\u002F2026\u002F10\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits-1791486640275-7ub1cq.webp","2026-10-08T15:09:00.000Z",{"id":2676,"slug":2677,"title":2678,"excerpt":2679,"featuredImage":2680,"publishedAt":2681},"472","why-more-context-can-make-ai-answers-worse","Por qué más contexto puede empeorar las respuestas de la IA","Una ventana de contexto más grande no garantiza una mejor respuesta. Este artículo explica cómo la dilución de la señal, la evidencia contradictoria, el estado obsoleto, la sensibilidad a la posición y la compresión con pérdidas pueden reducir la fiabilidad de la IA—e introduce una práctica Prueba de Presión de Contexto.","\u002Fuploads\u002F2026\u002F09\u002Fwhy-more-context-can-make-ai-answers-worse-1790351615793-2ntv2v.webp","2026-09-25T11:51:00.000Z",{"id":2683,"slug":2684,"title":2685,"excerpt":2686,"featuredImage":2687,"publishedAt":2688},"364","tipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung","Dominando el flujo de trabajo SEO: Estrategias de optimización esenciales para el crecimiento orgánico","Un flujo de trabajo SEO estructurado es crucial para un crecimiento orgánico sostenible. Aprende las diez estrategias fundamentales, desde la investigación de palabras clave y la optimización técnica hasta la calidad del contenido y el análisis de rendimiento.","\u002Fuploads\u002F2026\u002F03\u002Ftipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung-1774866098131-hwkzrg.webp","2024-01-26T06:35:00.000Z",{"id":2690,"slug":2691,"title":2692,"excerpt":2693,"featuredImage":2694,"publishedAt":2695},"489","agentic-ai-explained-when-an-ai-system-can-plan-use-tools-and-act","IA agéntica explicada: cuando un sistema de IA puede planificar, usar herramientas y actuar","La IA agéntica utiliza modelos dentro de bucles de ejecución de varios pasos, donde pueden elegir herramientas, observar resultados, actualizar el estado y adaptar su siguiente acción dentro de límites explícitos de tiempo de ejecución y permisos.","\u002Fuploads\u002F2026\u002F10\u002Fagentic-ai-explained-when-an-ai-system-can-plan-use-tools-and-act-1791481499084-wnji2a.webp","2026-10-08T11:43:00.000Z",{"id":2697,"slug":2698,"title":2699,"excerpt":2700,"featuredImage":2701,"publishedAt":2702},"483","what-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs","¿Qué es un arquitecto de soluciones de IA? Límites del sistema, responsabilidades y compensaciones","Un Arquitecto de Soluciones de IA convierte los requisitos empresariales en un sistema de IA listo para producción que abarca datos, modelos, herramientas, seguridad, tiempo de ejecución, evaluación y operaciones.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs-1791476643267-1st5xz.webp","2026-10-08T12:23:00.000Z",{"id":2704,"slug":2705,"title":2706,"excerpt":2707,"featuredImage":2708,"publishedAt":2709},"485","enterprise-ai-architecture-what-changes-when-ai-enters-a-company","Arquitectura de IA empresarial: qué cambia cuando la IA entra en una empresa","La arquitectura de IA empresarial explica cómo la IA cambia los sistemas de la empresa en materia de autoridad sobre los datos, identidad, permisos, proveedores, riesgo, gobernanza, evaluación, cumplimiento y operaciones.","\u002Fuploads\u002F2026\u002F10\u002Fenterprise-ai-architecture-what-changes-when-ai-enters-a-company-1791478161363-czrwaq.webp","2026-10-08T10:48:00.000Z",{"id":2711,"slug":2712,"title":2713,"excerpt":2714,"featuredImage":2715,"publishedAt":2716},"484","what-is-an-ai-platform-architect-models-data-runtime-security-and-operations","¿Qué es un arquitecto de plataforma de IA? Modelos, datos, entorno de ejecución, seguridad y operaciones","Un Arquitecto de Plataformas de IA diseña fundamentos de IA reutilizables a través de modelos, proveedores, recuperación, agentes, identidad, seguridad, evaluación, observabilidad y operaciones.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-an-ai-platform-architect-models-data-runtime-security-and-operations-1791477229171-ou3zcc.webp","2026-10-08T12:32:00.000Z",{"id":2718,"slug":2719,"title":2720,"excerpt":2721,"featuredImage":2722,"publishedAt":2723},"363","front-und-backend-entwicklung","Desarrollo Front- y Backend","El desarrollo front-end y back-end es una parte esencial del desarrollo web e implica la creación de aplicaciones web y sitios web. El desarrollo front-end se centra en la interfaz de usuario, mientras que el desarrollo back-end es responsable de la programación y gestión del lado del servidor.","\u002Fuploads\u002F2026\u002F03\u002Ffront-und-backend-entwicklung-1774872219531-wyu4i1.webp","2023-04-12T11:11:00.000Z",{"id":2725,"slug":2726,"title":2727,"excerpt":2728,"featuredImage":2729,"publishedAt":2730},"495","sovereign-ai-control-of-models-data-infrastructure-and-dependencies","IA soberana: control de modelos, datos, infraestructura y dependencias","La IA soberana se trata del control efectivo sobre los modelos, los datos, la infraestructura, el software, las operaciones y las dependencias estratégicas, no simplemente de dónde está alojado un modelo de IA.","\u002Fuploads\u002F2026\u002F10\u002Fsovereign-ai-control-of-models-data-infrastructure-and-dependencies-1791488833132-niy85x.webp","2026-10-08T15:45:00.000Z","fallback",[],[]]