[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:sr":3,"public-menus:all":38,"post:vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval:sr":205,"related:post:vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval:sr:1":2655},{"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","sr","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":2654},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":1252,"featuredImage":1253,"featuredImageAlt":1254,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":1255,"publishedAt":1256,"createdAt":1257,"updatedAt":1258,"seoLocalePaths":1259,"categories":1268,"author":1281,"translations":1286},"487","Vektorske baze podataka, ugrađivanja i ponovno rangiranje: Tri različita dela pretraživanja","vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","\u003Cp>Embeddingovi, vektorske baze podataka i reranker-i su tri različita dela pretrage. Model za embedding pretvara tekst ili druge podatke u numeričke reprezentacije; vektorska baza podataka ili vektorski indeks čuva i pretražuje te reprezentacije radi pronalaženja kandidata; reranker uzima manji skup kandidata i menja njihov redosled koristeći skuplji model relevantnosti ili metodu ocenjivanja. Često se pojavljuju zajedno u RAG-u, ali nijedan od njih nije isto što i RAG, i nijedan nije obavezan u svakom sistemu pretrage.\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\">Direktan odgovor\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>Embeddingovi predstavljaju. Vektorska pretraga pronalazi. Reranking precizira.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Korisna mentalna mapa je:\u003Cbr>\u003Cstrong>sadržaj → embedding → pronalaženje kandidata → reranking → izabrani kontekst → model\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Granice su važne jer svaki sloj na različit način greši. Loši embeddingovi iskrivljuju semantičku sličnost. Slab indeks pretrage propušta korisne kandidate. Reranker može da promeni redosled kandidata, ali ne može da povrati relevantan dokument koji nikada nije pronađen.\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\">Ne sažimajte stek za pretragu\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Vektorska baza podataka nije model za embedding. Embedding nije rezultat pretrage. Reranker nije vektorska baza podataka. RAG je širi obrazac koji može da koristi bilo koju od ovih komponenti za pronalaženje spoljnih informacija pre generisanja.\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\">Napomena o aktuelnim izvorima — 8. oktobar 2026.\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Osnovna arhitektura je stabilna iako se proizvodi brzo razvijaju. Aktuelna Qdrant dokumentacija razdvaja vektore, metapodatke payload-a, kolekcije i vektorske indekse; aktuelne Elastic smernice tretiraju semantički reranking kao operaciju kasnije faze nad malim skupom kandidata; aktuelna Cohere dokumentacija takođe opisuje reranking kao poboljšanje drugog stepena u odnosu na leksičku ili semantičku pretragu.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Sadržaj\">\u003Cstrong class=\"editorjs-toc__title\">Sadržaj\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\">Šta ovo zaista znači\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-10\" class=\"editorjs-toc__link\">Najjednostavniji primer\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">Gde se jednostavan primer zaustavlja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">Ugrađivanja: reprezentacija, ne pronalaženje\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\">Model za ugrađivanje definiše prostor reprezentacije\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-27\" class=\"editorjs-toc__link\">Guste i retke reprezentacije su različite\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-30\" class=\"editorjs-toc__link\">Funkcije sličnosti su deo ugovora o reprezentaciji\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-34\" class=\"editorjs-toc__link\">Vektorske baze podataka i indeksi: pronalaženje kandidata\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\">Pretraga približnog najbližeg suseda menja tačnost za efikasnost\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-42\" class=\"editorjs-toc__link\">Filtriranje metapodataka pripada pre ili tokom pronalaženja kandidata\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-45\" class=\"editorjs-toc__link\">Vektorska baza podataka je opciona\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-48\" class=\"editorjs-toc__link\">Ponovno rangiranje: rafiniranje relevantnosti u drugoj fazi\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\">Bi-enkoder pronalaženje i unakrsno-enkodersko ponovno rangiranje rešavaju različite troškovne probleme\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-54\" class=\"editorjs-toc__link\">Ponovni rangirač ne može da povrati ono što je pronalaženje propustilo\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-58\" class=\"editorjs-toc__link\">Hibridna pretraga je odvojen dizajnerski izbor\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 nije zastareo zato što postoje embeddingzi\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">Deljenje na delove menja šta embeddingzi i rangeri mogu da vide\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-68\" class=\"editorjs-toc__link\">Ne upoređujte rezultate pretrage kao da su univerzalne verovatnoće\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-71\" class=\"editorjs-toc__link\">Ocenjujte faze pretrage odvojeno\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-74\" class=\"editorjs-toc__link\">Koji sloj je zapravo zakazao?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-76\" class=\"editorjs-toc__link\">Relevantnost i izvor istine su različiti\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-80\" class=\"editorjs-toc__link\">Dokazi iz originalne implementacije\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\">Istraživački motor izvora istine: leksička i semantička pretraga su odvojene\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-85\" class=\"editorjs-toc__link\">Aaasaasa AI klijent: Qdrant je komponenta vektorske infrastrukture\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-91\" class=\"editorjs-toc__link\">Kada vam je potrebna svaka komponenta?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-93\" class=\"editorjs-toc__link\">Praktičan redosled dizajna pretrage\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-95\" class=\"editorjs-toc__link\">Uobičajene zablude\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-97\" class=\"editorjs-toc__link\">Rubni slučajevi i ograničenja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-103\" class=\"editorjs-toc__link\">Šta bi promenilo ovaj odgovor?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-107\" class=\"editorjs-toc__link\">Povezano kanonsko znanje\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-113\" class=\"editorjs-toc__link\">Često postavljana pitanja\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-115\" class=\"editorjs-toc__link\">Pojmovnik\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-117\" class=\"editorjs-toc__link\">Zaključak\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-121\" class=\"editorjs-toc__link\">Primarni izvori i dokazi o implementaciji\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-6\">Šta ovo zaista znači\u003C\u002Fh2>\n\u003Cp>Sistemi pretrage imaju dva suprotstavljena cilja: pronaći dovoljno potencijalno relevantnog materijala i smestiti najbolji materijal blizu vrha. Brza pretraga prvog stepena obično optimizuje generisanje kandidata. Jači model drugog stepena zatim može da potroši više računanja na razlikovanje najboljih kandidata.\u003C\u002Fp>\n\u003Cp>Embeddingovi, vektorski indeksi i reranker-i zauzimaju različite pozicije u tom procesu. Njihovo tretiranje kao jedne funkcije skriva važne dizajnerske odluke o obuhvatu, preciznosti, latenciji, skladištenju, filtriranju metapodataka i ceni modela.\u003C\u002Fp>\n\u003Cp>Razlikovanje takođe sprečava čestu RAG grešku: pretpostavku da skladištenje embeddingova dokumenata u vektorskoj bazi podataka automatski stvara visokokvalitetnu pretragu. Kvalitet pretrage zavisi od modela za embedding, deljenja na delove, metapodataka, konstrukcije upita, konfiguracije indeksa, broja kandidata, hibridne pretrage, reranking-a i autoriteta izvornih izvora.\u003C\u002Fp>\n\u003Ch2 id=\"section-10\">Najjednostavniji primer\u003C\u002Fh2>\n\u003Cp>Pretpostavimo da baza znanja sadrži 100.000 delova dokumenata. Korisnik pita: „Kako da opozovem API token?“\u003C\u002Fp>\n\u003Cp>Prvo, model za embedding može da kodira upit u vektor. Delovi dokumenata možda već imaju sopstvene sačuvane embeddingove. Vektorska pretraga zatim poredi vektor upita sa indeksiranim vektorima dokumenata i vraća, na primer, 30 verovatnih kandidata.\u003C\u002Fp>\n\u003Cp>Tih 30 kandidata zatim može da se prosledi reranker-u. Reranker poredi upit direktnije sa svakim kandidatom i proizvodi novi redosled relevantnosti. Aplikacija može da zadrži najboljih pet za kontekst modela.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Osnovni dvostepeni pipeline semantičke pretrage\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. Ugradi dokumente\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Pretvori svaki pretraživi deo u numeričku reprezentaciju, obično u trenutku unosa.\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. Sačuvaj\u002Findeksiraj vektore\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Poveži vektore sa ID-jevima dokumenata i metapodacima u pretraživom vektorskom indeksu ili bazi podataka.\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. Ugradi upit\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Kodiraj korisnički upit koristeći kompatibilan model za embedding i konfiguraciju upita.\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. Pronađi kandidate\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Pokreni pretragu vektorske sličnosti, često sa filterima metapodataka, da bi se dobio veći skup top-k kandidata.\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. Ponovo rangiraj kandidate\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Primeni jači model relevantnosti na upit i mali skup kandidata.\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. Izaberi kontekst\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Zadrži najkorisnije odlomke za nizvodni odgovor, korak agenta ili rezultat pretrage.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-15\">Gde se jednostavan primer zaustavlja\u003C\u002Fh2>\n\u003Cp>Stvarni sistemi pretrage ne moraju uopšte da koriste guste embeddingove. Pretraga po ključnim rečima kao što je BM25 može biti pretraživač prvog stepena. Retka naučena pretraga, SQL filteri, obilazak grafa ili API-ji aplikacija takođe mogu da generišu kandidate.\u003C\u002Fp>\n\u003Cp>Reranker takođe ne mari da li kandidati dolaze iz vektorske baze podataka. Može da ponovo rangira BM25 rezultate, hibridne rezultate, ručno izabrane dokumente ili kandidate iz više pretraživača.\u003C\u002Fp>\n\u003Cp>Slično tome, embeddingovi ne zahtevaju specijalizovanu vektorsku bazu podataka. Mali skupovi podataka mogu se porediti u memoriji ili pomoću baza podataka opšte namene i vektorskih ekstenzija. Specijalizovani vektorski sistemi postaju korisni kada indeksiranje, aproksimativna pretraga najbližih suseda, filtriranje, skaliranje, ponašanje pri ažuriranju ili operativni zahtevi to opravdavaju.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Tri različite komponente za pronalaženje\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\">Ugrađivanje\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\">Vektorska baza podataka \u002F indeks\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\">Primarni zadatak\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\">Tipičan ulaz\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\">Tipičan izlaz\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\">Profil troškova\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\">Tipičan neuspeh\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\">Ugrađivanja: reprezentacija, ne pronalaženje\u003C\u002Fh2>\n\u003Cp>Ugrađivanje je numerička reprezentacija koju proizvodi model. Za semantičko pronalaženje, tekstovi sa povezanim značenjem treba da zauzimaju korisne pozicije u vektorskom prostoru kako bi funkcija sličnosti ili udaljenosti mogla da ih uporedi.\u003C\u002Fp>\n\u003Cp>Sentence-BERT je bio uticajan korak u praktičnom osposobljavanju semantičke sličnosti na nivou rečenice pomoću reprezentacija u stilu bi-enkodera koje se mogu nezavisno izračunati i efikasno uporediti. Opšta ideja ostaje centralna za moderno gusto pronalaženje: unapred izračunajte reprezentacije dokumenata, izračunajte reprezentaciju upita u vreme pretrage, zatim ih uporedite.\u003C\u002Fp>\n\u003Cp>Samo ugrađivanje ne pretražuje korpus. To su podaci koje proizvodi model za ugrađivanje. Pronalaženje počinje kada sistem uporedi reprezentaciju upita sa sačuvanim kandidatima.\u003C\u002Fp>\n\u003Ch3 id=\"section-24\">Model za ugrađivanje definiše prostor reprezentacije\u003C\u002Fh3>\n\u003Cp>Vektori dokumenata i upita moraju biti kompatibilni sa modelom i konfiguracijom koji su korišćeni za njihovo kreiranje. Zamena modela za ugrađivanje može promeniti dimenzionalnost, ponašanje sličnosti, pokrivenost jezika i performanse u domenu.\u003C\u002Fp>\n\u003Cp>Zato migracija modela za ugrađivanje nije samo promena imena API-ja. Postojeći dokumenti mogu zahtevati ponovno ugrađivanje, a indeks ponovnu izgradnju ili verzionisanje.\u003C\u002Fp>\n\u003Ch3 id=\"section-27\">Guste i retke reprezentacije su različite\u003C\u002Fh3>\n\u003Cp>Gusta ugrađivanja obično sadrže mnogo dimenzija koje nisu nula i često se koriste za semantičku sličnost. Retke reprezentacije sadrže mnogo nula i mogu sačuvati jaču strukturu sličnu tokenima ili terminima.\u003C\u002Fp>\n\u003Cp>Obe mogu podržati semantičko pronalaženje, a moderni sistemi pretrage mogu kombinovati guste, retke i leksičke signale. „Vektorska pretraga“ stoga ne znači uvek jedan gusti pipeline kosinusne sličnosti.\u003C\u002Fp>\n\u003Ch3 id=\"section-30\">Funkcije sličnosti su deo ugovora o reprezentaciji\u003C\u002Fh3>\n\u003Cp>Kosinusna sličnost, skalarni proizvod i Euklidsko rastojanje ne znače isto. Ispravna metrika zavisi od toga kako je model za ugrađivanje treniran i normalizovan.\u003C\u002Fp>\n\u003Cp>Trenutna Qdrant dokumentacija, na primer, zahteva metriku rastojanja kao deo vektorske konfiguracije i dokumentuje kosinusne, skalarno-proizvodne i euklidske izbore. Važno arhitektonsko pravilo je da se metrika tretira kao deo ugovora o ugrađivanju\u002Findeksu, a ne da se bira proizvoljno.\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\">Sličnost ugrađivanja nije činjenična podrška\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Dva odlomka mogu biti semantički bliska dok je jedan zastareo, neovlašćen ili netačan. Ugrađivanja procenjuju sličnost reprezentacije; ona ne određuju autoritet izvora istine, svežinu ili dokaznu validnost.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-34\">Vektorske baze podataka i indeksi: pronalaženje kandidata\u003C\u002Fh2>\n\u003Cp>Vektorska baza podataka ili sistem pretrage sa podrškom za vektore organizuje vektorske reprezentacije tako da aplikacija može efikasno da pronađe obližnje kandidate. Praktični sistemi obično povezuju vektore sa ID-jevima i metapodacima korisnog tereta kao što su izvor, jezik, zakupac, tip dokumenta, vremenska oznaka ili obim pristupa.\u003C\u002Fp>\n\u003Cp>Qdrant, na primer, organizuje podatke u kolekcije tačaka gde tačka sadrži vektor i opcione metapodatke korisnog tereta. Njegova dokumentacija opisuje pretragu sličnosti zasnovanu na HNSW i filtriranje metapodataka kao odvojene mogućnosti sloja za pronalaženje.\u003C\u002Fp>\n\u003Cp>Ta razlika je važna: vektorski indeks odgovara na problem najbližeg suseda, dok filteri korisnog opterećenja sprovode strukturna ograničenja kao što su zakupac, klasa dokumenta ili jezik.\u003C\u002Fp>\n\u003Ch3 id=\"section-38\">Pretraga približnog najbližeg suseda menja tačnost za efikasnost\u003C\u002Fh3>\n\u003Cp>Upoređivanje jednog vektora upita sa svakim vektorom može biti praktično za male kolekcije, ali skupo na velikoj skali. Indeksi približnog najbližeg suseda kao što je HNSW smanjuju trošak pretrage navigacijom kroz strukturu indeksa umesto iscrpnog skeniranja svakog vektora.\u003C\u002Fp>\n\u003Cp>Približna pretraga uvodi kompromis između odziva i latencije. Brža pretraga može propustiti kandidate koje bi tačna pretraga vratila. Parametri indeksa stoga utiču na kvalitet pronalaženja, ne samo na performanse infrastrukture.\u003C\u002Fp>\n\u003Cp>Qdrant izlaže i parametre povezane sa HNSW i opciju tačne pretrage, ilustrujući da su skladištenje vektora i politika približnog pronalaženja odvojene odluke.\u003C\u002Fp>\n\u003Ch3 id=\"section-42\">Filtriranje metapodataka pripada pre ili tokom pronalaženja kandidata\u003C\u002Fh3>\n\u003Cp>Ako korisnik može pristupiti samo zakupcu A, pronalaženje semantički sličnih delova od zakupca B i pokušaj njihovog kasnijeg uklanjanja je pogrešna bezbednosna granica. Autorizacija i filteri tvrde podobnosti treba da ograniče prostor kandidata pre nego što ti kandidati mogu uticati na dalju obradu.\u003C\u002Fp>\n\u003Cp>Isti princip se primenjuje na lokalitet, status dokumenta, klasu izvora, datum, verziju proizvoda i druga deterministička ograničenja. Sličnost treba da rangira podobne kandidate; ne treba da nadjačava podobnost.\u003C\u002Fp>\n\u003Ch3 id=\"section-45\">Vektorska baza podataka je opciona\u003C\u002Fh3>\n\u003Cp>Za mali korpus, grubo poređenje kosinusne sličnosti može biti jednostavno i dovoljno. Relaciona baza podataka sa podrškom za vektore takođe može biti adekvatna. Namenska vektorska baza podataka postaje vredna kada njeno indeksiranje, filtriranje, distribuirano skladištenje, ponašanje pri ažuriranju ili operativne karakteristike rešavaju stvarni zahtev.\u003C\u002Fp>\n\u003Cp>Izbor vektorske baze podataka zato što „RAG zahteva jednu“ obrće proces arhitekture. Počnite od zahteva za pronalaženje i skale, zatim izaberite tehnologiju skladištenja\u002Findeksiranja.\u003C\u002Fp>\n\u003Ch2 id=\"section-48\">Ponovno rangiranje: rafiniranje relevantnosti u drugoj fazi\u003C\u002Fh2>\n\u003Cp>Ponovni rangirač prima upit i manji skup već pronađenih kandidata, zatim dodeljuje jače ocene relevantnosti ili novo uređenje. Obično je računski skuplji od pronalaženja u prvoj fazi, zbog čega se primenjuje nakon generisanja kandidata, a ne na ceo korpus.\u003C\u002Fp>\n\u003Cp>Trenutne Elastic smernice opisuju semantičko ponovno rangiranje kao tehniku završne faze nad malim skupom top-k i napominju da može rafinirati leksičko, semantičko ili hibridno pronalaženje. Cohere dokumentuje istu arhitekturu: leksičko ili semantičko pretraživanje u prvoj fazi praćeno fazom ponovnog rangiranja.\u003C\u002Fp>\n\u003Cp>Uobičajena implementacija koristi model nalik unakrsnom kodiraču koji zajedno ispituje upit i svakog kandidata. Ta bogatija interakcija može preciznije razlikovati relevantnost od nezavisne sličnosti ugrađivanja, ali je mnogo skuplja na skali korpusa.\u003C\u002Fp>\n\u003Ch3 id=\"section-52\">Bi-enkoder pronalaženje i unakrsno-enkodersko ponovno rangiranje rešavaju različite troškovne probleme\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\">Svojstvo\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Bi-enkoder \u002F pronalaženje putem ugrađivanja\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ponovno rangiranje u stilu unakrsnog enkodera\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Kodiranje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Upit i dokumenti predstavljeni nezavisno\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Upit i kandidat obrađeni zajedno\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Izračunavanje dokumenata\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Može se unapred izračunati pri unosu\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Obično se ponovo izračunava za svaki par upit-kandidat\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pretraga na skali korpusa\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pogodno uz vektorske indekse\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Obično preskupo za ceo korpus\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tipična uloga\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Generisanje kandidata sa visokim odzivom\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Uređenje malog skupa kandidata sa visokom preciznošću\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Glavni kompromis\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Brzo i skalabilno, ali je interakcija relevantnosti komprimovana u vektore\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bogatija procena relevantnosti, ali veća latencija\u002Ftrošak\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch3 id=\"section-54\">Ponovni rangirač ne može da povrati ono što je pronalaženje propustilo\u003C\u002Fh3>\n\u003Cp>Ako relevantni dokument nije prisutan u skupu kandidata, rangiranje nema šta da promoviše. To je glavni razlog da se pretraga i rangiranje ocenjuju odvojeno.\u003C\u002Fp>\n\u003Cp>Pipeline može imati odličnu preciznost rangera i ipak ne uspeti jer je odziv prve faze slab. Povećanje kvaliteta rangera neće popraviti nedostajuću pokrivenost izvora, loše deljenje na delove, restriktivne filtere ili slab pretraživač kandidata.\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\">Korisni cilj pretrage\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Prva faza: \u003Cstrong>ne propustite korisne kandidate.\u003C\u002Fstrong>\u003Cbr>Druga faza: \u003Cstrong>stavite najbolje kandidate na prvo mesto.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Ovo nije univerzalno matematičko pravilo, ali je koristan inženjerski model za dvofaznu pretragu.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-58\">Hibridna pretraga je odvojen dizajnerski izbor\u003C\u002Fh2>\n\u003Cp>Gusta semantička pretraga je jaka kada upit i dokument koriste različite reči ali izražavaju povezano značenje. Leksička pretraga je jaka kada su važni tačni termini, identifikatori, imena, kodovi ili retke fraze.\u003C\u002Fp>\n\u003Cp>Hibridna pretraga kombinuje više signala kandidata, često leksički BM25 i vektorsku sličnost, a zatim spaja rangiranja koristeći metodu kao što je Reciprocal Rank Fusion ili kombinaciju ponderisanih rezultata.\u003C\u002Fp>\n\u003Cp>Rangiranje zatim može da radi na spojenom skupu kandidata. Hibridna pretraga i rangiranje su stoga komplementarne, ali različite faze.\u003C\u002Fp>\n\u003Ch3 id=\"section-62\">BM25 nije zastareo zato što postoje embeddingzi\u003C\u002Fh3>\n\u003Cp>Pretraga po ključnim rečima može nadmašiti gustu pretragu za tačne identifikatore, brojeve verzija, poruke o greškama, kodove proizvoda i specijalizovani rečnik. SQLite FTS5, na primer, uključuje BM25 funkciju rangiranja za pretragu punog teksta.\u003C\u002Fp>\n\u003Cp>Jaka arhitektura pretrage može koristiti leksičku pretragu kao jedinu prvu fazu, vektorsku pretragu kao jedinu prvu fazu, ili kombinovati obe u zavisnosti od korpusa i distribucije upita.\u003C\u002Fp>\n\u003Ch2 id=\"section-65\">Deljenje na delove menja šta embeddingzi i rangeri mogu da vide\u003C\u002Fh2>\n\u003Cp>Ako je dokument loše podeljen, nijedna kasnija komponenta pretrage ne može u potpunosti da rekonstruiše nedostajuću semantičku celinu. Deo koji odvaja uslov od njegovog izuzetka može se pogrešno ugraditi i takođe može biti pogrešno rangiran jer je tekst kandidata nepotpun.\u003C\u002Fp>\n\u003Cp>Veličina dela, preklapanje, strukturne granice i metapodaci stoga utiču i na odziv kandidata i na procenu rangera. Evaluacija pretrage treba da testira kompletan pipeline od unosa do rangiranja, a ne samo model za ugradnju.\u003C\u002Fp>\n\u003Ch2 id=\"section-68\">Ne upoređujte rezultate pretrage kao da su univerzalne verovatnoće\u003C\u002Fh2>\n\u003Cp>Kosinusna sličnost, BM25 rezultati, rezultati retkih vektora, RRF rangovi i rezultati rangera imaju različita značenja. Rezultat od 0,82 iz jednog modela za ugradnju nije automatski uporediv sa 0,82 iz drugog modela ili sa rezultatom rangera.\u003C\u002Fp>\n\u003Cp>Pragovi treba da budu kalibrisani za stvarni model, korpus i zadatak. Trenutne Elastic smernice takođe napominju da rezultati sličnosti ugradnje mogu zavisiti od upita, što čini univerzalne granične vrednosti rizičnim.\u003C\u002Fp>\n\u003Ch2 id=\"section-71\">Ocenjujte faze pretrage odvojeno\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\">Sloj\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Korisno pitanje\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Primer metrike ili testa\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pokrivenost izvora\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li korpus sadrži potrebne informacije?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Revizija pokrivenosti \u002F skup izvora sa poznatim odgovorima\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Deljenje na delove\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li je potreban dokaz moguće pronaći kao koherentnu celinu?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pregled podrške na nivou dela\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pretraga prve faze\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li relevantna stavka ulazi u skup kandidata?\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\">Rangiranje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Koliko visoko se pojavljuje relevantan dokaz?\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\">Rangiranje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li ocenjivanje druge faze poboljšava redosled?\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\">Izbor konteksta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li konačno izabrani odlomci sadrže dovoljnu podršku?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Relevantnost konteksta \u002F pokrivenost\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Faza odgovora\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Da li model pravilno koristi izabrane dokaze?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Verodostojnost \u002F evaluacija tvrdnje i dokaza\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Ovo razdvajanje je operativno važno. Ako je Recall@50 loš, reranker nije prva komponenta koju treba popraviti. Ako je Recall@50 jak, ali najbolji odlomak ostaje na poziciji 38, rerangiranje ili fuzija rangiranja postaje verodostojan cilj.\u003C\u002Fp>\n\u003Ch2 id=\"section-74\">Koji sloj je zapravo zakazao?\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Simptomi i verovatni sloj pretrage\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\">Uočeni simptom\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\">Verovatni sloj\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\">Prva dijagnostika\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\">Relevantan dokument se nikada ne pojavljuje\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\">Relevantan dokument se pojavljuje previše nisko\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\">Semantički dobar, ali zabranjen rezultat\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\">Relevantan, ali zastareo rezultat\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\">Tačan rezultat pronađen, ali izostavljen iz upita\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\">Relevantnost i izvor istine su različiti\u003C\u002Fh2>\n\u003Cp>Reranker može učiniti da zastareo dokument izgleda izuzetno relevantno. Vektorski indeks može pronaći sekundarni sažetak koji je semantički bliži od primarnog izvora. Kvalitet pretrage stoga ne može zameniti pravila autoriteta.\u003C\u002Fp>\n\u003Cp>Tamo gde je autoritet izvora važan, metapodaci filteri, klase izvora, pravila verzija i poreklo treba da ograniče pretragu pre nego što rezultat postane kontekst modela.\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\">Rerangiranje ne može učiniti neautoritativan izvor autoritativnim\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Relevantnost odgovara na pitanje da li kandidat odgovara upitu. Arhitektura izvora istine odgovara na pitanje da li je tom kandidatu dozvoljeno da uspostavi tvrdnju.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-80\">Dokazi iz originalne implementacije\u003C\u002Fh2>\n\u003Ch3 id=\"section-81\">Istraživački motor izvora istine: leksička i semantička pretraga su odvojene\u003C\u002Fh3>\n\u003Cp>Istraživački motor izvora istine sadrži lokalnu putanju leksičke pretrage koja koristi SQLite FTS5\u002FBM25 i odvojenu opcionu putanju semantičke pretrage koja koristi lokalno generisane embeddinge.\u003C\u002Fp>\n\u003Cp>Njegova implementacija semantičke pretrage izračunava vektor upita i upoređuje ga sa sačuvanim vektorima delova koristeći kosinusnu sličnost. Projekat namerno tretira semantičku sličnost kao signal za otkrivanje, a ne kao dokaz: kandidat se i dalje mora pratiti nazad do konkretnog izvora i lokatora pre nego što podrži tvrdnju.\u003C\u002Fp>\n\u003Cp>Ovo je koristan dokaz implementacije za R01 jer isti korpus može podržati leksičko rangiranje i vektorsku sličnost bez mešanja bilo kog mehanizma sa dokaznim autoritetom.\u003C\u002Fp>\n\u003Ch3 id=\"section-85\">Aaasaasa AI klijent: Qdrant je komponenta vektorske infrastrukture\u003C\u002Fh3>\n\u003Cp>Aaasaasa AI klijent uključuje Qdrant\u002Fvektorsku infrastrukturu kao odvojen lokalni resurs. Electron arhitektura izlaže Qdrant servise sa strane pouzdanog glavnog procesa, umesto da vektorsku pretragu tretira kao deo samog modela.\u003C\u002Fp>\n\u003Cp>Repozitorijum sadrži Qdrant klijentski adapter, konfiguraciju Qdrant servisa i Docker-baziranu Qdrant infrastrukturu. Ovo pokazuje arhitektonsko razdvajanje između izvršavanja AI provajdera\u002Fmodela i vektorskog skladištenja\u002Fpretrage.\u003C\u002Fp>\n\u003Cp>Postojanje Qdrant podrške ne treba preuveličavati kao kompletan produkcioni RAG pipeline. Dokaz ovde je uži: vektorska infrastruktura je implementirana kao sopstvena granica komponente.\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\">Dokaz implementacije\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Šta pokazuje\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">SQLite FTS5\u002FBM25 u Istraživačkom motoru izvora istine\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Leksička pretraga može postojati nezavisno od embeddinga.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Lokalni Ollama embeddingi\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Generisanje reprezentacije je sopstvena faza.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sačuvani semantički vektori + kosinusno poređenje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Semantička pretraga koristi embeddinge nakon što su proizvedeni.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Qdrant podrška u Aaasaasa AI klijentu\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vektorsko skladištenje\u002Fpretraga je infrastrukturna sposobnost odvojena od provajdera modela.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pravila dokaza\u002Fporekla u Istraživačkom motoru izvora istine\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pronađena sličnost nije jednaka autoritetu ili dokazu.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Nema tvrdnji o prilagođenom rerankeru u ovim implementacijama\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rerangiranje je objašnjeno kao arhitektonska faza, a ne lažno predstavljeno kao već implementiran dokaz.\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\">Granica dokaza\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Trenutni dokazi implementacije potvrđuju leksičku pretragu, embeddinge, infrastrukturu vektorske pretrage i pretragu svesnu porekla. Ovaj članak \u003Cstrong>ne\u003C\u002Fstrong> tvrdi da je produkcioni cross-encoder servis za rerangiranje već implementiran u ovim projektima.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-91\">Kada vam je potrebna svaka komponenta?\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\">Potreba\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Verovatna komponenta\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Semantička sličnost uprkos različitom formulisanju\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Model za generisanje embeddinga + pretraga vektorske sličnosti\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Efikasna pretraga velikog vektorskog korpusa\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vektorski indeks\u002Fbaza podataka ili pretraživački sistem sa podrškom za vektore\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tačni identifikatori, kodovi grešaka ili retki termini\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Leksička pretraga punog teksta kao što je BM25\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">I tačna terminologija i semantičko značenje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Hibridna leksička + semantička pretraga\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Skup kandidata je dobar, ali je redosled slab\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\">Relevantne stavke nedostaju u skupu kandidata\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Poboljšajte pokrivenost izvora, chunking, retriver, filtere ili broj kandidata pre rerangiranja\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Čvrsta ograničenja zakupca\u002Fizvora\u002Fverzije\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Determinističko filtriranje metapodataka\u002Fovlašćenja\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mali korpus\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Potencijalno jednostavna brute-force sličnost ili baza opšte namene umesto namenske vektorske baze\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-93\">Praktičan redosled dizajna pretrage\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Dizajnirajte pretragu na osnovu zahteva, a ne na osnovu imena proizvoda\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. Definišite tipove upita\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Identifikujte semantička pitanja, tačne pretrage, identifikatore, čitanja trenutnog stanja i obrasce specifične za domen.\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. Definišite dozvoljene izvore\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Primenite ograničenja zakupca, ovlašćenja, lokala, verzije, klase izvora i svežine.\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. Uspostavite leksičku osnovu\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Izmerite da li jednostavna pretraga punog teksta\u002FBM25 već rešava veći deo opterećenja.\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. Dodajte embeddinge tamo gde je potreban semantički opoziv\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Izaberite i procenite model za generisanje embeddinga na reprezentativnim upitima iz domena.\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. Izaberite vektorsko skladištenje\u002Findeksiranje na osnovu obima\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Koristite brute force, vektorsku podršku baze podataka ili namenski vektorski motor u skladu sa zahtevima.\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. Procenite opoziv prvog stepena\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Potvrdite da relevantni dokazi ulaze u dovoljno veliki skup kandidata.\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. Dodajte hibridnu pretragu ako su signali komplementarni\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Spojite leksičko i semantičko rangiranje kada oba materijalno poboljšavaju generisanje kandidata.\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. Dodajte rerangiranje ako redosled ostaje usko grlo\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Primenite jači model samo na skup kandidata gde je njegov trošak opravdan.\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. Podesite konačan izbor konteksta\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Kontrolišite redundantnost, budžet konteksta, autoritet, raznolikost i pokrivenost dokazima pre generisanja.\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. Procenite od početka do kraja\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Merite kvalitet pretrage, konteksta i odgovora odvojeno kako bi se otkazi mogli lokalizovati.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-95\">Uobičajene zablude\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\">Zabluda\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ispravka\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Embedding je vektorska baza podataka.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Embedding je reprezentacija; baza podataka\u002Findeks skladišti i pretražuje reprezentacije.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Vektorska baza podataka stvara semantičko značenje.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Model za generisanje embeddinga stvara reprezentaciju; vektorski sistem je indeksira i poredi.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„RAG zahteva vektorsku bazu podataka.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">RAG zahteva pretragu, a ne specifičnu tehnologiju pretrage.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Rerangiranje je isto kao vektorska pretraga.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vektorska pretraga generiše kandidate; rerangiranje preuređuje skup kandidata.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Rerangeri ispravljaju loš opoziv.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Oni ne mogu promovisati dokument koji nikada nije pronađen.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Dense pretraga zamenjuje BM25.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Leksička pretraga ostaje vredna za tačne termine, identifikatore i specijalizovani rečnik.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Veća sličnost znači veći autoritet.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sličnost i autoritet izvora su različite dimenzije.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Više top-k uvek poboljšava RAG.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Veći skupovi kandidata mogu poboljšati opoziv, ali dodaju latenciju, šum i teret izbora konteksta.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Jedan prag rezultata radi svuda.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rezultati zavise od modela, upita, korpusa i metode pretrage i moraju se kalibrisati.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">„Namenska vektorska baza je uvek naprednija.“\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Opravdana je samo kada se njene operativne i pretraživačke sposobnosti poklapaju sa zahtevima.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-97\">Rubni slučajevi i ograničenja\u003C\u002Fh2>\n\u003Cp>Neke aplikacije ne zahtevaju semantičku pretragu. Tačna pretraga baze podataka ili strukturisani SQL može biti tačniji, brži i lakši za reviziju od pretrage putem embeddinga.\u003C\u002Fp>\n\u003Cp>Neki korpusi su toliko mali da je potpuno vektorsko skeniranje prihvatljivo. Približno indeksiranje dodaje složenost bez značajne koristi.\u003C\u002Fp>\n\u003Cp>Neki upiti zahtevaju visok opoziv pre bilo kakve optimizacije preciznosti. Pravno otkrivanje, istraživanje i revizija usklađenosti mogu preferirati široko prikupljanje kandidata praćeno transparentnim filtriranjem i ljudskom proverom.\u003C\u002Fp>\n\u003Cp>Višejezična i domen-specifična pretraga može se ponašati veoma različito u zavisnosti od modela za generisanje embeddinga. Tvrdnje o performansama sa javnih skupova podataka ne treba smatrati dokazom za privatni korpus.\u003C\u002Fp>\n\u003Cp>Latencija rerangiranja raste sa brojem i dužinom kandidata. Zbog toga veličinu kandidata treba podesiti kao varijablu tačnosti\u002Ftroška\u002Flatencije, a ne kopirati iz tutorijala.\u003C\u002Fp>\n\u003Ch2 id=\"section-103\">Šta bi promenilo ovaj odgovor?\u003C\u002Fh2>\n\u003Cp>Granice komponenti se ne bi promenile ako dobavljač pakuje generisanje embeddinga, vektorsko indeksiranje i rerangiranje iza jednog API-ja. Proizvod može sakriti faze, ali one ostaju konceptualno različite odgovornosti sa različitim načinima otkaza.\u003C\u002Fp>\n\u003Cp>Budući modeli za generisanje embeddinga ili pretragu mogu smanjiti potrebu za odvojenim rerangiranjem u nekim radnim opterećenjima, dok jače metode kasne interakcije ili naučenog retkog predstavljanja mogu zamutiti tradicionalne dense\u002Fleksičke kategorije. Arhitektura bi i dalje trebalo da pita koja faza proizvodi reprezentacije, koja faza generiše kandidate i koja faza poboljšava rangiranje.\u003C\u002Fp>\n\u003Cp>Najbolji dizajn se takođe menja sa veličinom korpusa, mešavinom upita, jezikom, terminologijom domena, učestalošću ažuriranja, autoritetom izvora, budžetom latencije i rezultatima evaluacije.\u003C\u002Fp>\n\u003Ch2 id=\"section-107\">Povezano kanonsko znanje\u003C\u002Fh2>\n\u003Cp>R01 pretpostavlja da je osnovni RAG koncept već shvaćen. RAG je širi obrazac u kojem se pronađene eksterne informacije dostavljaju modelu; embeddingzi, vektorska pretraga i rerangiranje su opcione komponente pretrage unutar tog obrasca.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fsr\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\">Šta je RAG? Najjednostavnije objašnjenje kako funkcioniše\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Osnova na jednostavnom jeziku o tome kako pretraga donosi eksterno znanje u kontekst modela.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Pročitajte osnove RAG-a →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Cp>Kada pretraga ne uspe, dijagnostikujte pokrivenost izvora, pretragu, rangiranje, sastavljanje konteksta i generisanje odvojeno, umesto da ceo sistem tretirate kao jedan „RAG neuspeh“.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fsr\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 nije uspeo — ali koji sloj je zapravo zakazao? Dijagnostička metoda\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Metoda sloj po sloj za izolovanje problema pokrivenosti izvora, pretrage, rangiranja, sastavljanja konteksta, generisanja, pripisivanja dokaza i svežine.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Pročitajte RAG dijagnostičku metodu →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Cp>Arhitektura izvora istine je sloj autoriteta oko pretrage: ona odlučuje koji izvor može da utvrdi tvrdnju, dok embeddings i rangiranje samo odlučuju koji kandidati izgledaju relevantno.\u003C\u002Fp>\n\u003Ch2 id=\"section-113\">Često postavljana pitanja\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, vektorske baze podataka i ponovno rangiranje\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\">Koja je razlika između embeddings i vektorske baze podataka?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Embeddings su numeričke reprezentacije koje proizvodi model. Vektorska baza podataka ili vektorski indeks čuva i pretražuje te reprezentacije zajedno sa ID-jevima i metapodacima.\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\">Šta radi reranker?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Reranker uzima već pronađeni skup kandidata i ponovo ocenjuje ili preuređuje te kandidate koristeći jači model relevantnosti ili metodu ocenjivanja.\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\">Da li RAG zahteva vektorsku bazu podataka?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ne. RAG zahteva pronalaženje eksternih informacija. Pretraga može koristiti leksičku pretragu, SQL, API-je, grafove, vektorsku pretragu, hibridnu pretragu ili kombinacije ovih.\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\">Zašto ne koristiti reranker na celom korpusu?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Reranker-i obično izvode skuplju interakciju upita i dokumenta, pa se obično primenjuju na mali skup top-k kandidata nakon bržeg prvog stepena pretrage.\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\">Može li ponovno rangiranje da ispravi dokument koji nedostaje?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ne. Ako relevantni dokument nije pronađen u skupu kandidata, ponovno rangiranje nema šta da promoviše.\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\">Da li je kosinusna sličnost verovatnoća relevantnosti?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Ne. To je mera sličnosti čije numeričko značenje zavisi od modela embeddings i korpusa. Ne treba je tretirati kao univerzalnu verovatnoću relevantnosti.\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\">Treba li da koristim BM25 i vektorsku pretragu zajedno?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Koristite hibridnu pretragu kada evaluacija pokaže da leksički i semantički signali pronalaze komplementarne relevantne dokumente. Ona nije automatski bolja za svaki korpus.\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\">Kada mi je potrebna namenska vektorska baza podataka?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Kada vektorsko indeksiranje, filtriranje, skaliranje, ažuriranja, distribuirano funkcionisanje ili drugi zahtevi specifični za vektore opravdavaju specijalizovani sistem. Mali obimi posla možda ne zahtevaju takav sistem.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-115\">Pojmovnik\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\">Ključni pojmovi pretrage\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\">Numerička reprezentacija sadržaja koju proizvodi model embeddings za sličnost, klasterovanje, pretragu ili srodne zadatke.\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\">Gusti vektor\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Vektorska reprezentacija u kojoj mnoge dimenzije nose vrednosti različite od nule, koja se obično koristi u semantičkoj pretrazi.\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\">Retki vektor\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Visokodimenzionalna reprezentacija u kojoj je većina dimenzija nula, često zadržavajući jaču strukturu sličnu tokenima ili terminima.\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\">Vektorski indeks\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Struktura podataka koja organizuje vektore za efikasnu pretragu sličnosti ili najbližih suseda.\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\">Vektorska baza podataka\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Sistem za skladištenje i pretragu dizajniran za upravljanje vektorima, povezanim metapodacima i radnim opterećenjima vektorske pretrage.\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\">Približna pretraga najbližih suseda, koja menja tačno iscrpno poređenje bržom pretragom pri velikom obimu.\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\">Hijerarhijski navigabilni mali svet, pristup indeksiranju približnih najbližih suseda zasnovan na grafovima koji se široko koristi za vektorsku pretragu.\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\">Metoda leksičkog rangiranja relevantnosti zasnovana na pojavljivanju termina i statistici korpusa, koja se široko koristi u pretrazi punog teksta.\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\">Hibridna pretraga\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Pretraga koja kombinuje rezultate ili ocene iz više metoda pretrage, kao što su leksička i vektorska pretraga.\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\">Ponovno rangiranje\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Kasnija faza pretrage koja ponovo ocenjuje i preuređuje već generisani skup kandidata.\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-enkoder\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Arhitektura koja nezavisno kodira upit i kandidata, omogućavajući prethodno izračunavanje i skalabilnu pretragu sličnosti.\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\">Kros-enkoder\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Model koji zajednički obrađuje upit i tekst kandidata, često poboljšavajući procenu relevantnosti uz veće računarske troškove.\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\">Udeo relevantnih stavki pronađenih među prvih k pronađenih kandidata.\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\">Normalizovana diskontovana kumulativna dobit, metrika rangiranja koja nagrađuje relevantne rezultate koji se pojavljuju više na uređenoj listi.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-117\">Zaključak\u003C\u002Fh2>\n\u003Cp>Čist model pretrage je jednostavan: embeddings predstavljaju značenje, vektorska pretraga pronalazi kandidate, a reranker-i preciziraju redosled kandidata.\u003C\u002Fp>\n\u003Cp>Kada su te granice eksplicitne, arhitekturne odluke postaju lakše za dijagnostikovanje. Kandidati koji nedostaju ukazuju na pokrivenost izvora, deljenje na delove, embeddings, filtere ili pretragu prvog stepena. Loš redosled ukazuje na rangiranje, fuziju ili ponovno rangiranje. Netačni konačni odgovori se zatim mogu odvojeno istražiti na slojevima konteksta i generisanja.\u003C\u002Fp>\n\u003Cp>Najvažniji rezultat nije izbor najmodernije komponente pretrage. To je izgradnja pipeline-a za pretragu čije faze, granice autoriteta, metrike i načini neuspeha mogu da se mere nezavisno.\u003C\u002Fp>\n\u003Ch2 id=\"section-121\">Primarni izvori i dokazi o implementaciji\u003C\u002Fh2>\n\u003Cp>Spoljne reference ispod dokumentuju mehanizme reprezentacije, vektorske pretrage i ponovnog rangiranja korišćene u ovom članku. Sekcije specifične za projekat su originalni dokazi o implementaciji i namerno su uže od tvrdnji o potpunoj zrelosti RAG-a u produkciji.\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\">Temeljni rad koji demonstrira nezavisno izračunljive embeddings rečenica za efikasnu pretragu semantičke sličnosti.\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 — Pregled arhitekture i strukture podataka\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Zvanična dokumentacija koja opisuje kolekcije, tačke, vektore, metapodatke payload-a i indeksiranje sličnosti zasnovano na 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 — Pretraga\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Zvanična dokumentacija za vektorsku pretragu koja pokriva upite sličnosti, filtriranje, tačnu nasuprot približnoj pretrazi i ponašanje gustih\u002Fretkih vektora.\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 — Vektorska pretraga\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aktuelna dokumentacija o pretrazi gustih\u002Fretkih vektora, kombinacijama leksičkog i vektorskog pristupa i višefaznim pipeline-ima pretrage.\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 — Semantičko rangiranje\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Trenutne smernice koje definišu semantičko rangiranje kao operaciju relevantnosti u kasnijoj fazi nad manjim skupom kandidata.\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 — Rangiranje uz Cohere\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Trenutna dokumentacija koja prikazuje rangiranje kao poboljšanje u drugoj fazi nakon leksičkog ili semantičkog pretraživanja u prvoj fazi.\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\">Zvanična SQLite dokumentacija za pretragu punog teksta i ugrađenu BM25 funkciju rangiranja koja se koristi kao dokaz leksičkog pretraživanja.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":1251},1791480262019,[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,698,703,708,744,749,754,759,765,770,775,780,785,790,795,800,805,810,836,842,847,878,883,919,924,962,967,972,977,982,987,992,997,1002,1007,1012,1017,1022,1031,1036,1044,1049,1054,1092,1097,1157,1162,1167,1172,1177,1182,1187,1197,1206,1215,1224,1233,1242],{"id":215,"data":216,"type":218,"tunes":219},"intro",{"text":217},"Embeddingovi, vektorske baze podataka i reranker-i su tri različita dela pretrage. Model za embedding pretvara tekst ili druge podatke u numeričke reprezentacije; vektorska baza podataka ili vektorski indeks čuva i pretražuje te reprezentacije radi pronalaženja kandidata; reranker uzima manji skup kandidata i menja njihov redosled koristeći skuplji model relevantnosti ili metodu ocenjivanja. Često se pojavljuju zajedno u RAG-u, ali nijedan od njih nije isto što i RAG, i nijedan nije obavezan u svakom sistemu pretrage.","paragraph",{},{"id":221,"data":222,"type":226,"tunes":227},"direct",{"body":223,"title":224,"variant":225},"\u003Cstrong>Embeddingovi predstavljaju. Vektorska pretraga pronalazi. Reranking precizira.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Korisna mentalna mapa je:\u003Cbr>\u003Cstrong>sadržaj → embedding → pronalaženje kandidata → reranking → izabrani kontekst → model\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Granice su važne jer svaki sloj na različit način greši. Loši embeddingovi iskrivljuju semantičku sličnost. Slab indeks pretrage propušta korisne kandidate. Reranker može da promeni redosled kandidata, ali ne može da povrati relevantan dokument koji nikada nije pronađen.","Direktan odgovor","info","callout",{},{"id":229,"data":230,"type":226,"tunes":234},"boundary",{"body":231,"title":232,"variant":233},"Vektorska baza podataka nije model za embedding. Embedding nije rezultat pretrage. Reranker nije vektorska baza podataka. RAG je širi obrazac koji može da koristi bilo koju od ovih komponenti za pronalaženje spoljnih informacija pre generisanja.","Ne sažimajte stek za pretragu","warning",{},{"id":236,"data":237,"type":226,"tunes":241},"current",{"body":238,"title":239,"variant":240},"Osnovna arhitektura je stabilna iako se proizvodi brzo razvijaju. Aktuelna Qdrant dokumentacija razdvaja vektore, metapodatke payload-a, kolekcije i vektorske indekse; aktuelne Elastic smernice tretiraju semantički reranking kao operaciju kasnije faze nad malim skupom kandidata; aktuelna Cohere dokumentacija takođe opisuje reranking kao poboljšanje drugog stepena u odnosu na leksičku ili semantičku pretragu.","Napomena o aktuelnim izvorima — 8. oktobar 2026.","note",{},{"id":243,"data":244,"type":248,"tunes":249},"toc",{"title":245,"maxLevel":246,"minLevel":247},"Sadržaj",3,2,"tableOfContents",{},{"id":251,"data":252,"type":42,"tunes":254},"h-meaning",{"text":253,"level":247},"Šta ovo zaista znači",{},{"id":256,"data":257,"type":218,"tunes":259},"p-meaning-1",{"text":258},"Sistemi pretrage imaju dva suprotstavljena cilja: pronaći dovoljno potencijalno relevantnog materijala i smestiti najbolji materijal blizu vrha. Brza pretraga prvog stepena obično optimizuje generisanje kandidata. Jači model drugog stepena zatim može da potroši više računanja na razlikovanje najboljih kandidata.",{},{"id":261,"data":262,"type":218,"tunes":264},"p-meaning-2",{"text":263},"Embeddingovi, vektorski indeksi i reranker-i zauzimaju različite pozicije u tom procesu. Njihovo tretiranje kao jedne funkcije skriva važne dizajnerske odluke o obuhvatu, preciznosti, latenciji, skladištenju, filtriranju metapodataka i ceni modela.",{},{"id":266,"data":267,"type":218,"tunes":269},"p-meaning-3",{"text":268},"Razlikovanje takođe sprečava čestu RAG grešku: pretpostavku da skladištenje embeddingova dokumenata u vektorskoj bazi podataka automatski stvara visokokvalitetnu pretragu. Kvalitet pretrage zavisi od modela za embedding, deljenja na delove, metapodataka, konstrukcije upita, konfiguracije indeksa, broja kandidata, hibridne pretrage, reranking-a i autoriteta izvornih izvora.",{},{"id":271,"data":272,"type":42,"tunes":274},"h-simple",{"text":273,"level":247},"Najjednostavniji primer",{},{"id":276,"data":277,"type":218,"tunes":279},"p-simple-1",{"text":278},"Pretpostavimo da baza znanja sadrži 100.000 delova dokumenata. Korisnik pita: „Kako da opozovem API token?“",{},{"id":281,"data":282,"type":218,"tunes":284},"p-simple-2",{"text":283},"Prvo, model za embedding može da kodira upit u vektor. Delovi dokumenata možda već imaju sopstvene sačuvane embeddingove. Vektorska pretraga zatim poredi vektor upita sa indeksiranim vektorima dokumenata i vraća, na primer, 30 verovatnih kandidata.",{},{"id":286,"data":287,"type":218,"tunes":289},"p-simple-3",{"text":288},"Tih 30 kandidata zatim može da se prosledi reranker-u. Reranker poredi upit direktnije sa svakim kandidatom i proizvodi novi redosled relevantnosti. Aplikacija može da zadrži najboljih pet za kontekst modela.",{},{"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. Ugradi dokumente","Pretvori svaki pretraživi deo u numeričku reprezentaciju, obično u trenutku unosa.",{"label":298,"description":299},"2. Sačuvaj\u002Findeksiraj vektore","Poveži vektore sa ID-jevima dokumenata i metapodacima u pretraživom vektorskom indeksu ili bazi podataka.",{"label":301,"description":302},"3. Ugradi upit","Kodiraj korisnički upit koristeći kompatibilan model za embedding i konfiguraciju upita.",{"label":304,"description":305},"4. Pronađi kandidate","Pokreni pretragu vektorske sličnosti, često sa filterima metapodataka, da bi se dobio veći skup top-k kandidata.",{"label":307,"description":308},"5. Ponovo rangiraj kandidate","Primeni jači model relevantnosti na upit i mali skup kandidata.",{"label":310,"description":311},"6. Izaberi kontekst","Zadrži najkorisnije odlomke za nizvodni odgovor, korak agenta ili rezultat pretrage.","Osnovni dvostepeni pipeline semantičke pretrage","auto","processFlow",{},{"id":317,"data":318,"type":42,"tunes":320},"h-stops",{"text":319,"level":247},"Gde se jednostavan primer zaustavlja",{},{"id":322,"data":323,"type":218,"tunes":325},"p-stops-1",{"text":324},"Stvarni sistemi pretrage ne moraju uopšte da koriste guste embeddingove. Pretraga po ključnim rečima kao što je BM25 može biti pretraživač prvog stepena. Retka naučena pretraga, SQL filteri, obilazak grafa ili API-ji aplikacija takođe mogu da generišu kandidate.",{},{"id":327,"data":328,"type":218,"tunes":330},"p-stops-2",{"text":329},"Reranker takođe ne mari da li kandidati dolaze iz vektorske baze podataka. Može da ponovo rangira BM25 rezultate, hibridne rezultate, ručno izabrane dokumente ili kandidate iz više pretraživača.",{},{"id":332,"data":333,"type":218,"tunes":335},"p-stops-3",{"text":334},"Slično tome, embeddingovi ne zahtevaju specijalizovanu vektorsku bazu podataka. Mali skupovi podataka mogu se porediti u memoriji ili pomoću baza podataka opšte namene i vektorskih ekstenzija. Specijalizovani vektorski sistemi postaju korisni kada indeksiranje, aproksimativna pretraga najbližih suseda, filtriranje, skaliranje, ponašanje pri ažuriranju ili operativni zahtevi to opravdavaju.",{},{"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","Primarni zadatak",[344,344,344],"",{"id":346,"label":347,"values":348},"input","Tipičan ulaz",[344,344,344],{"id":350,"label":351,"values":352},"output","Tipičan izlaz",[344,344,344],{"id":354,"label":355,"values":356},"cost","Profil troškova",[344,344,344],{"id":358,"label":359,"values":360},"can-miss","Tipičan neuspeh",[344,344,344],"Tri različite komponente za pronalaženje","table",[364,367,370],{"id":365,"label":366},"embedding","Ugrađivanje",{"id":368,"label":369},"vector","Vektorska baza podataka \u002F indeks",{"id":371,"label":372},"reranker","Reranker","comparison",{},{"id":376,"data":377,"type":42,"tunes":379},"h-embeddings",{"text":378,"level":247},"Ugrađivanja: reprezentacija, ne pronalaženje",{},{"id":381,"data":382,"type":218,"tunes":384},"p-emb-1",{"text":383},"Ugrađivanje je numerička reprezentacija koju proizvodi model. Za semantičko pronalaženje, tekstovi sa povezanim značenjem treba da zauzimaju korisne pozicije u vektorskom prostoru kako bi funkcija sličnosti ili udaljenosti mogla da ih uporedi.",{},{"id":386,"data":387,"type":218,"tunes":389},"p-emb-2",{"text":388},"Sentence-BERT je bio uticajan korak u praktičnom osposobljavanju semantičke sličnosti na nivou rečenice pomoću reprezentacija u stilu bi-enkodera koje se mogu nezavisno izračunati i efikasno uporediti. Opšta ideja ostaje centralna za moderno gusto pronalaženje: unapred izračunajte reprezentacije dokumenata, izračunajte reprezentaciju upita u vreme pretrage, zatim ih uporedite.",{},{"id":391,"data":392,"type":218,"tunes":394},"p-emb-3",{"text":393},"Samo ugrađivanje ne pretražuje korpus. To su podaci koje proizvodi model za ugrađivanje. Pronalaženje počinje kada sistem uporedi reprezentaciju upita sa sačuvanim kandidatima.",{},{"id":396,"data":397,"type":42,"tunes":399},"h-embedding-model",{"text":398,"level":246},"Model za ugrađivanje definiše prostor reprezentacije",{},{"id":401,"data":402,"type":218,"tunes":404},"p-emodel-1",{"text":403},"Vektori dokumenata i upita moraju biti kompatibilni sa modelom i konfiguracijom koji su korišćeni za njihovo kreiranje. Zamena modela za ugrađivanje može promeniti dimenzionalnost, ponašanje sličnosti, pokrivenost jezika i performanse u domenu.",{},{"id":406,"data":407,"type":218,"tunes":409},"p-emodel-2",{"text":408},"Zato migracija modela za ugrađivanje nije samo promena imena API-ja. Postojeći dokumenti mogu zahtevati ponovno ugrađivanje, a indeks ponovnu izgradnju ili verzionisanje.",{},{"id":411,"data":412,"type":42,"tunes":414},"h-dense-sparse",{"text":413,"level":246},"Guste i retke reprezentacije su različite",{},{"id":416,"data":417,"type":218,"tunes":419},"p-dense-1",{"text":418},"Gusta ugrađivanja obično sadrže mnogo dimenzija koje nisu nula i često se koriste za semantičku sličnost. Retke reprezentacije sadrže mnogo nula i mogu sačuvati jaču strukturu sličnu tokenima ili terminima.",{},{"id":421,"data":422,"type":218,"tunes":424},"p-dense-2",{"text":423},"Obe mogu podržati semantičko pronalaženje, a moderni sistemi pretrage mogu kombinovati guste, retke i leksičke signale. „Vektorska pretraga“ stoga ne znači uvek jedan gusti pipeline kosinusne sličnosti.",{},{"id":426,"data":427,"type":42,"tunes":429},"h-distance",{"text":428,"level":246},"Funkcije sličnosti su deo ugovora o reprezentaciji",{},{"id":431,"data":432,"type":218,"tunes":434},"p-distance-1",{"text":433},"Kosinusna sličnost, skalarni proizvod i Euklidsko rastojanje ne znače isto. Ispravna metrika zavisi od toga kako je model za ugrađivanje treniran i normalizovan.",{},{"id":436,"data":437,"type":218,"tunes":439},"p-distance-2",{"text":438},"Trenutna Qdrant dokumentacija, na primer, zahteva metriku rastojanja kao deo vektorske konfiguracije i dokumentuje kosinusne, skalarno-proizvodne i euklidske izbore. Važno arhitektonsko pravilo je da se metrika tretira kao deo ugovora o ugrađivanju\u002Findeksu, a ne da se bira proizvoljno.",{},{"id":441,"data":442,"type":226,"tunes":445},"embedding-not-truth",{"body":443,"title":444,"variant":233},"Dva odlomka mogu biti semantički bliska dok je jedan zastareo, neovlašćen ili netačan. Ugrađivanja procenjuju sličnost reprezentacije; ona ne određuju autoritet izvora istine, svežinu ili dokaznu validnost.","Sličnost ugrađivanja nije činjenična podrška",{},{"id":447,"data":448,"type":42,"tunes":450},"h-vector-db",{"text":449,"level":247},"Vektorske baze podataka i indeksi: pronalaženje kandidata",{},{"id":452,"data":453,"type":218,"tunes":455},"p-vdb-1",{"text":454},"Vektorska baza podataka ili sistem pretrage sa podrškom za vektore organizuje vektorske reprezentacije tako da aplikacija može efikasno da pronađe obližnje kandidate. Praktični sistemi obično povezuju vektore sa ID-jevima i metapodacima korisnog tereta kao što su izvor, jezik, zakupac, tip dokumenta, vremenska oznaka ili obim pristupa.",{},{"id":457,"data":458,"type":218,"tunes":460},"p-vdb-2",{"text":459},"Qdrant, na primer, organizuje podatke u kolekcije tačaka gde tačka sadrži vektor i opcione metapodatke korisnog tereta. Njegova dokumentacija opisuje pretragu sličnosti zasnovanu na HNSW i filtriranje metapodataka kao odvojene mogućnosti sloja za pronalaženje.",{},{"id":462,"data":463,"type":218,"tunes":465},"p-vdb-3",{"text":464},"Ta razlika je važna: vektorski indeks odgovara na problem najbližeg suseda, dok filteri korisnog opterećenja sprovode strukturna ograničenja kao što su zakupac, klasa dokumenta ili jezik.",{},{"id":467,"data":468,"type":42,"tunes":470},"h-ann",{"text":469,"level":246},"Pretraga približnog najbližeg suseda menja tačnost za efikasnost",{},{"id":472,"data":473,"type":218,"tunes":475},"p-ann-1",{"text":474},"Upoređivanje jednog vektora upita sa svakim vektorom može biti praktično za male kolekcije, ali skupo na velikoj skali. Indeksi približnog najbližeg suseda kao što je HNSW smanjuju trošak pretrage navigacijom kroz strukturu indeksa umesto iscrpnog skeniranja svakog vektora.",{},{"id":477,"data":478,"type":218,"tunes":480},"p-ann-2",{"text":479},"Približna pretraga uvodi kompromis između odziva i latencije. Brža pretraga može propustiti kandidate koje bi tačna pretraga vratila. Parametri indeksa stoga utiču na kvalitet pronalaženja, ne samo na performanse infrastrukture.",{},{"id":482,"data":483,"type":218,"tunes":485},"p-ann-3",{"text":484},"Qdrant izlaže i parametre povezane sa HNSW i opciju tačne pretrage, ilustrujući da su skladištenje vektora i politika približnog pronalaženja odvojene odluke.",{},{"id":487,"data":488,"type":42,"tunes":490},"h-filtering",{"text":489,"level":246},"Filtriranje metapodataka pripada pre ili tokom pronalaženja kandidata",{},{"id":492,"data":493,"type":218,"tunes":495},"p-filter-1",{"text":494},"Ako korisnik može pristupiti samo zakupcu A, pronalaženje semantički sličnih delova od zakupca B i pokušaj njihovog kasnijeg uklanjanja je pogrešna bezbednosna granica. Autorizacija i filteri tvrde podobnosti treba da ograniče prostor kandidata pre nego što ti kandidati mogu uticati na dalju obradu.",{},{"id":497,"data":498,"type":218,"tunes":500},"p-filter-2",{"text":499},"Isti princip se primenjuje na lokalitet, status dokumenta, klasu izvora, datum, verziju proizvoda i druga deterministička ograničenja. Sličnost treba da rangira podobne kandidate; ne treba da nadjačava podobnost.",{},{"id":502,"data":503,"type":42,"tunes":505},"h-vector-not-required",{"text":504,"level":246},"Vektorska baza podataka je opciona",{},{"id":507,"data":508,"type":218,"tunes":510},"p-optional-1",{"text":509},"Za mali korpus, grubo poređenje kosinusne sličnosti može biti jednostavno i dovoljno. Relaciona baza podataka sa podrškom za vektore takođe može biti adekvatna. Namenska vektorska baza podataka postaje vredna kada njeno indeksiranje, filtriranje, distribuirano skladištenje, ponašanje pri ažuriranju ili operativne karakteristike rešavaju stvarni zahtev.",{},{"id":512,"data":513,"type":218,"tunes":515},"p-optional-2",{"text":514},"Izbor vektorske baze podataka zato što „RAG zahteva jednu“ obrće proces arhitekture. Počnite od zahteva za pronalaženje i skale, zatim izaberite tehnologiju skladištenja\u002Findeksiranja.",{},{"id":517,"data":518,"type":42,"tunes":520},"h-rerank",{"text":519,"level":247},"Ponovno rangiranje: rafiniranje relevantnosti u drugoj fazi",{},{"id":522,"data":523,"type":218,"tunes":525},"p-rerank-1",{"text":524},"Ponovni rangirač prima upit i manji skup već pronađenih kandidata, zatim dodeljuje jače ocene relevantnosti ili novo uređenje. Obično je računski skuplji od pronalaženja u prvoj fazi, zbog čega se primenjuje nakon generisanja kandidata, a ne na ceo korpus.",{},{"id":527,"data":528,"type":218,"tunes":530},"p-rerank-2",{"text":529},"Trenutne Elastic smernice opisuju semantičko ponovno rangiranje kao tehniku završne faze nad malim skupom top-k i napominju da može rafinirati leksičko, semantičko ili hibridno pronalaženje. Cohere dokumentuje istu arhitekturu: leksičko ili semantičko pretraživanje u prvoj fazi praćeno fazom ponovnog rangiranja.",{},{"id":532,"data":533,"type":218,"tunes":535},"p-rerank-3",{"text":534},"Uobičajena implementacija koristi model nalik unakrsnom kodiraču koji zajedno ispituje upit i svakog kandidata. Ta bogatija interakcija može preciznije razlikovati relevantnost od nezavisne sličnosti ugrađivanja, ali je mnogo skuplja na skali korpusa.",{},{"id":537,"data":538,"type":42,"tunes":540},"h-bi-cross",{"text":539,"level":246},"Bi-enkoder pronalaženje i unakrsno-enkodersko ponovno rangiranje rešavaju različite troškovne probleme",{},{"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],"Svojstvo","Bi-enkoder \u002F pronalaženje putem ugrađivanja","Ponovno rangiranje u stilu unakrsnog enkodera",[550,551,552],"Kodiranje","Upit i dokumenti predstavljeni nezavisno","Upit i kandidat obrađeni zajedno",[554,555,556],"Izračunavanje dokumenata","Može se unapred izračunati pri unosu","Obično se ponovo izračunava za svaki par upit-kandidat",[558,559,560],"Pretraga na skali korpusa","Pogodno uz vektorske indekse","Obično preskupo za ceo korpus",[562,563,564],"Tipična uloga","Generisanje kandidata sa visokim odzivom","Uređenje malog skupa kandidata sa visokom preciznošću",[566,567,568],"Glavni kompromis","Brzo i skalabilno, ali je interakcija relevantnosti komprimovana u vektore","Bogatija procena relevantnosti, ali veća latencija\u002Ftrošak",{},{"id":571,"data":572,"type":42,"tunes":574},"h-rerank-limit",{"text":573,"level":246},"Ponovni rangirač ne može da povrati ono što je pronalaženje propustilo",{},{"id":576,"data":577,"type":218,"tunes":579},"p-rerank-limit-1",{"text":578},"Ako relevantni dokument nije prisutan u skupu kandidata, rangiranje nema šta da promoviše. To je glavni razlog da se pretraga i rangiranje ocenjuju odvojeno.",{},{"id":581,"data":582,"type":218,"tunes":584},"p-rerank-limit-2",{"text":583},"Pipeline može imati odličnu preciznost rangera i ipak ne uspeti jer je odziv prve faze slab. Povećanje kvaliteta rangera neće popraviti nedostajuću pokrivenost izvora, loše deljenje na delove, restriktivne filtere ili slab pretraživač kandidata.",{},{"id":586,"data":587,"type":226,"tunes":591},"recall-precision",{"body":588,"title":589,"variant":590},"Prva faza: \u003Cstrong>ne propustite korisne kandidate.\u003C\u002Fstrong>\u003Cbr>Druga faza: \u003Cstrong>stavite najbolje kandidate na prvo mesto.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Ovo nije univerzalno matematičko pravilo, ali je koristan inženjerski model za dvofaznu pretragu.","Korisni cilj pretrage","success",{},{"id":593,"data":594,"type":42,"tunes":596},"h-hybrid",{"text":595,"level":247},"Hibridna pretraga je odvojen dizajnerski izbor",{},{"id":598,"data":599,"type":218,"tunes":601},"p-hybrid-1",{"text":600},"Gusta semantička pretraga je jaka kada upit i dokument koriste različite reči ali izražavaju povezano značenje. Leksička pretraga je jaka kada su važni tačni termini, identifikatori, imena, kodovi ili retke fraze.",{},{"id":603,"data":604,"type":218,"tunes":606},"p-hybrid-2",{"text":605},"Hibridna pretraga kombinuje više signala kandidata, često leksički BM25 i vektorsku sličnost, a zatim spaja rangiranja koristeći metodu kao što je Reciprocal Rank Fusion ili kombinaciju ponderisanih rezultata.",{},{"id":608,"data":609,"type":218,"tunes":611},"p-hybrid-3",{"text":610},"Rangiranje zatim može da radi na spojenom skupu kandidata. Hibridna pretraga i rangiranje su stoga komplementarne, ali različite faze.",{},{"id":613,"data":614,"type":42,"tunes":616},"h-bm25",{"text":615,"level":246},"BM25 nije zastareo zato što postoje embeddingzi",{},{"id":618,"data":619,"type":218,"tunes":621},"p-bm25-1",{"text":620},"Pretraga po ključnim rečima može nadmašiti gustu pretragu za tačne identifikatore, brojeve verzija, poruke o greškama, kodove proizvoda i specijalizovani rečnik. SQLite FTS5, na primer, uključuje BM25 funkciju rangiranja za pretragu punog teksta.",{},{"id":623,"data":624,"type":218,"tunes":626},"p-bm25-2",{"text":625},"Jaka arhitektura pretrage može koristiti leksičku pretragu kao jedinu prvu fazu, vektorsku pretragu kao jedinu prvu fazu, ili kombinovati obe u zavisnosti od korpusa i distribucije upita.",{},{"id":628,"data":629,"type":42,"tunes":631},"h-chunking",{"text":630,"level":247},"Deljenje na delove menja šta embeddingzi i rangeri mogu da vide",{},{"id":633,"data":634,"type":218,"tunes":636},"p-chunk-1",{"text":635},"Ako je dokument loše podeljen, nijedna kasnija komponenta pretrage ne može u potpunosti da rekonstruiše nedostajuću semantičku celinu. Deo koji odvaja uslov od njegovog izuzetka može se pogrešno ugraditi i takođe može biti pogrešno rangiran jer je tekst kandidata nepotpun.",{},{"id":638,"data":639,"type":218,"tunes":641},"p-chunk-2",{"text":640},"Veličina dela, preklapanje, strukturne granice i metapodaci stoga utiču i na odziv kandidata i na procenu rangera. Evaluacija pretrage treba da testira kompletan pipeline od unosa do rangiranja, a ne samo model za ugradnju.",{},{"id":643,"data":644,"type":42,"tunes":646},"h-scores",{"text":645,"level":247},"Ne upoređujte rezultate pretrage kao da su univerzalne verovatnoće",{},{"id":648,"data":649,"type":218,"tunes":651},"p-scores-1",{"text":650},"Kosinusna sličnost, BM25 rezultati, rezultati retkih vektora, RRF rangovi i rezultati rangera imaju različita značenja. Rezultat od 0,82 iz jednog modela za ugradnju nije automatski uporediv sa 0,82 iz drugog modela ili sa rezultatom rangera.",{},{"id":653,"data":654,"type":218,"tunes":656},"p-scores-2",{"text":655},"Pragovi treba da budu kalibrisani za stvarni model, korpus i zadatak. Trenutne Elastic smernice takođe napominju da rezultati sličnosti ugradnje mogu zavisiti od upita, što čini univerzalne granične vrednosti rizičnim.",{},{"id":658,"data":659,"type":42,"tunes":661},"h-eval",{"text":660,"level":247},"Ocenjujte faze pretrage odvojeno",{},{"id":663,"data":664,"type":362,"tunes":697},"eval-table",{"content":665,"stretched":43,"withHeadings":14},[666,670,674,678,682,686,689,693],[667,668,669],"Sloj","Korisno pitanje","Primer metrike ili testa",[671,672,673],"Pokrivenost izvora","Da li korpus sadrži potrebne informacije?","Revizija pokrivenosti \u002F skup izvora sa poznatim odgovorima",[675,676,677],"Deljenje na delove","Da li je potreban dokaz moguće pronaći kao koherentnu celinu?","Pregled podrške na nivou dela",[679,680,681],"Pretraga prve faze","Da li relevantna stavka ulazi u skup kandidata?","Recall@k",[683,684,685],"Rangiranje","Koliko visoko se pojavljuje relevantan dokaz?","MRR, nDCG, precision@k",[683,687,688],"Da li ocenjivanje druge faze poboljšava redosled?","Delta nDCG \u002F MRR \u002F precision",[690,691,692],"Izbor konteksta","Da li konačno izabrani odlomci sadrže dovoljnu podršku?","Relevantnost konteksta \u002F pokrivenost",[694,695,696],"Faza odgovora","Da li model pravilno koristi izabrane dokaze?","Verodostojnost \u002F evaluacija tvrdnje i dokaza",{},{"id":699,"data":700,"type":218,"tunes":702},"p-eval-1",{"text":701},"Ovo razdvajanje je operativno važno. Ako je Recall@50 loš, reranker nije prva komponenta koju treba popraviti. Ako je Recall@50 jak, ali najbolji odlomak ostaje na poziciji 38, rerangiranje ili fuzija rangiranja postaje verodostojan cilj.",{},{"id":704,"data":705,"type":42,"tunes":707},"h-failure-map",{"text":706,"level":247},"Koji sloj je zapravo zakazao?",{},{"id":709,"data":710,"type":373,"tunes":743},"failure-comparison",{"rows":711,"title":732,"layout":362,"columns":733},[712,716,720,724,728],{"id":713,"label":714,"values":715},"missed","Relevantan dokument se nikada ne pojavljuje",[344,344,344],{"id":717,"label":718,"values":719},"lowrank","Relevantan dokument se pojavljuje previše nisko",[344,344,344],{"id":721,"label":722,"values":723},"wrongtenant","Semantički dobar, ali zabranjen rezultat",[344,344,344],{"id":725,"label":726,"values":727},"stale","Relevantan, ali zastareo rezultat",[344,344,344],{"id":729,"label":730,"values":731},"context","Tačan rezultat pronađen, ali izostavljen iz upita",[344,344,344],"Simptomi i verovatni sloj pretrage",[734,737,740],{"id":735,"label":736},"symptom","Uočeni simptom",{"id":738,"label":739},"likely","Verovatni sloj",{"id":741,"label":742},"test","Prva dijagnostika",{},{"id":745,"data":746,"type":42,"tunes":748},"h-authority",{"text":747,"level":247},"Relevantnost i izvor istine su različiti",{},{"id":750,"data":751,"type":218,"tunes":753},"p-authority-1",{"text":752},"Reranker može učiniti da zastareo dokument izgleda izuzetno relevantno. Vektorski indeks može pronaći sekundarni sažetak koji je semantički bliži od primarnog izvora. Kvalitet pretrage stoga ne može zameniti pravila autoriteta.",{},{"id":755,"data":756,"type":218,"tunes":758},"p-authority-2",{"text":757},"Tamo gde je autoritet izvora važan, metapodaci filteri, klase izvora, pravila verzija i poreklo treba da ograniče pretragu pre nego što rezultat postane kontekst modela.",{},{"id":760,"data":761,"type":226,"tunes":764},"authority-callout",{"body":762,"title":763,"variant":233},"Relevantnost odgovara na pitanje da li kandidat odgovara upitu. Arhitektura izvora istine odgovara na pitanje da li je tom kandidatu dozvoljeno da uspostavi tvrdnju.","Rerangiranje ne može učiniti neautoritativan izvor autoritativnim",{},{"id":766,"data":767,"type":42,"tunes":769},"h-impl",{"text":768,"level":247},"Dokazi iz originalne implementacije",{},{"id":771,"data":772,"type":42,"tunes":774},"h-sot-engine",{"text":773,"level":246},"Istraživački motor izvora istine: leksička i semantička pretraga su odvojene",{},{"id":776,"data":777,"type":218,"tunes":779},"p-sot-1",{"text":778},"Istraživački motor izvora istine sadrži lokalnu putanju leksičke pretrage koja koristi SQLite FTS5\u002FBM25 i odvojenu opcionu putanju semantičke pretrage koja koristi lokalno generisane embeddinge.",{},{"id":781,"data":782,"type":218,"tunes":784},"p-sot-2",{"text":783},"Njegova implementacija semantičke pretrage izračunava vektor upita i upoređuje ga sa sačuvanim vektorima delova koristeći kosinusnu sličnost. Projekat namerno tretira semantičku sličnost kao signal za otkrivanje, a ne kao dokaz: kandidat se i dalje mora pratiti nazad do konkretnog izvora i lokatora pre nego što podrži tvrdnju.",{},{"id":786,"data":787,"type":218,"tunes":789},"p-sot-3",{"text":788},"Ovo je koristan dokaz implementacije za R01 jer isti korpus može podržati leksičko rangiranje i vektorsku sličnost bez mešanja bilo kog mehanizma sa dokaznim autoritetom.",{},{"id":791,"data":792,"type":42,"tunes":794},"h-client",{"text":793,"level":246},"Aaasaasa AI klijent: Qdrant je komponenta vektorske infrastrukture",{},{"id":796,"data":797,"type":218,"tunes":799},"p-client-1",{"text":798},"Aaasaasa AI klijent uključuje Qdrant\u002Fvektorsku infrastrukturu kao odvojen lokalni resurs. Electron arhitektura izlaže Qdrant servise sa strane pouzdanog glavnog procesa, umesto da vektorsku pretragu tretira kao deo samog modela.",{},{"id":801,"data":802,"type":218,"tunes":804},"p-client-2",{"text":803},"Repozitorijum sadrži Qdrant klijentski adapter, konfiguraciju Qdrant servisa i Docker-baziranu Qdrant infrastrukturu. Ovo pokazuje arhitektonsko razdvajanje između izvršavanja AI provajdera\u002Fmodela i vektorskog skladištenja\u002Fpretrage.",{},{"id":806,"data":807,"type":218,"tunes":809},"p-client-3",{"text":808},"Postojanje Qdrant podrške ne treba preuveličavati kao kompletan produkcioni RAG pipeline. Dokaz ovde je uži: vektorska infrastruktura je implementirana kao sopstvena granica komponente.",{},{"id":811,"data":812,"type":362,"tunes":835},"impl-table",{"content":813,"stretched":43,"withHeadings":14},[814,817,820,823,826,829,832],[815,816],"Dokaz implementacije","Šta pokazuje",[818,819],"SQLite FTS5\u002FBM25 u Istraživačkom motoru izvora istine","Leksička pretraga može postojati nezavisno od embeddinga.",[821,822],"Lokalni Ollama embeddingi","Generisanje reprezentacije je sopstvena faza.",[824,825],"Sačuvani semantički vektori + kosinusno poređenje","Semantička pretraga koristi embeddinge nakon što su proizvedeni.",[827,828],"Qdrant podrška u Aaasaasa AI klijentu","Vektorsko skladištenje\u002Fpretraga je infrastrukturna sposobnost odvojena od provajdera modela.",[830,831],"Pravila dokaza\u002Fporekla u Istraživačkom motoru izvora istine","Pronađena sličnost nije jednaka autoritetu ili dokazu.",[833,834],"Nema tvrdnji o prilagođenom rerankeru u ovim implementacijama","Rerangiranje je objašnjeno kao arhitektonska faza, a ne lažno predstavljeno kao već implementiran dokaz.",{},{"id":837,"data":838,"type":226,"tunes":841},"impl-discipline",{"body":839,"title":840,"variant":240},"Trenutni dokazi implementacije potvrđuju leksičku pretragu, embeddinge, infrastrukturu vektorske pretrage i pretragu svesnu porekla. Ovaj članak \u003Cstrong>ne\u003C\u002Fstrong> tvrdi da je produkcioni cross-encoder servis za rerangiranje već implementiran u ovim projektima.","Granica dokaza",{},{"id":843,"data":844,"type":42,"tunes":846},"h-decisions",{"text":845,"level":247},"Kada vam je potrebna svaka komponenta?",{},{"id":848,"data":849,"type":362,"tunes":877},"decision-table",{"content":850,"stretched":43,"withHeadings":14},[851,854,857,860,863,866,868,871,874],[852,853],"Potreba","Verovatna komponenta",[855,856],"Semantička sličnost uprkos različitom formulisanju","Model za generisanje embeddinga + pretraga vektorske sličnosti",[858,859],"Efikasna pretraga velikog vektorskog korpusa","Vektorski indeks\u002Fbaza podataka ili pretraživački sistem sa podrškom za vektore",[861,862],"Tačni identifikatori, kodovi grešaka ili retki termini","Leksička pretraga punog teksta kao što je BM25",[864,865],"I tačna terminologija i semantičko značenje","Hibridna leksička + semantička pretraga",[867,372],"Skup kandidata je dobar, ali je redosled slab",[869,870],"Relevantne stavke nedostaju u skupu kandidata","Poboljšajte pokrivenost izvora, chunking, retriver, filtere ili broj kandidata pre rerangiranja",[872,873],"Čvrsta ograničenja zakupca\u002Fizvora\u002Fverzije","Determinističko filtriranje metapodataka\u002Fovlašćenja",[875,876],"Mali korpus","Potencijalno jednostavna brute-force sličnost ili baza opšte namene umesto namenske vektorske baze",{},{"id":879,"data":880,"type":42,"tunes":882},"h-sequence",{"text":881,"level":247},"Praktičan redosled dizajna pretrage",{},{"id":884,"data":885,"type":314,"tunes":918},"design-flow",{"steps":886,"title":917,"orientation":313},[887,890,893,896,899,902,905,908,911,914],{"label":888,"description":889},"1. Definišite tipove upita","Identifikujte semantička pitanja, tačne pretrage, identifikatore, čitanja trenutnog stanja i obrasce specifične za domen.",{"label":891,"description":892},"2. Definišite dozvoljene izvore","Primenite ograničenja zakupca, ovlašćenja, lokala, verzije, klase izvora i svežine.",{"label":894,"description":895},"3. Uspostavite leksičku osnovu","Izmerite da li jednostavna pretraga punog teksta\u002FBM25 već rešava veći deo opterećenja.",{"label":897,"description":898},"4. Dodajte embeddinge tamo gde je potreban semantički opoziv","Izaberite i procenite model za generisanje embeddinga na reprezentativnim upitima iz domena.",{"label":900,"description":901},"5. Izaberite vektorsko skladištenje\u002Findeksiranje na osnovu obima","Koristite brute force, vektorsku podršku baze podataka ili namenski vektorski motor u skladu sa zahtevima.",{"label":903,"description":904},"6. Procenite opoziv prvog stepena","Potvrdite da relevantni dokazi ulaze u dovoljno veliki skup kandidata.",{"label":906,"description":907},"7. Dodajte hibridnu pretragu ako su signali komplementarni","Spojite leksičko i semantičko rangiranje kada oba materijalno poboljšavaju generisanje kandidata.",{"label":909,"description":910},"8. Dodajte rerangiranje ako redosled ostaje usko grlo","Primenite jači model samo na skup kandidata gde je njegov trošak opravdan.",{"label":912,"description":913},"9. Podesite konačan izbor konteksta","Kontrolišite redundantnost, budžet konteksta, autoritet, raznolikost i pokrivenost dokazima pre generisanja.",{"label":915,"description":916},"10. Procenite od početka do kraja","Merite kvalitet pretrage, konteksta i odgovora odvojeno kako bi se otkazi mogli lokalizovati.","Dizajnirajte pretragu na osnovu zahteva, a ne na osnovu imena proizvoda",{},{"id":920,"data":921,"type":42,"tunes":923},"h-misconceptions",{"text":922,"level":247},"Uobičajene zablude",{},{"id":925,"data":926,"type":362,"tunes":961},"misconceptions-table",{"content":927,"stretched":43,"withHeadings":14},[928,931,934,937,940,943,946,949,952,955,958],[929,930],"Zabluda","Ispravka",[932,933],"„Embedding je vektorska baza podataka.“","Embedding je reprezentacija; baza podataka\u002Findeks skladišti i pretražuje reprezentacije.",[935,936],"„Vektorska baza podataka stvara semantičko značenje.“","Model za generisanje embeddinga stvara reprezentaciju; vektorski sistem je indeksira i poredi.",[938,939],"„RAG zahteva vektorsku bazu podataka.“","RAG zahteva pretragu, a ne specifičnu tehnologiju pretrage.",[941,942],"„Rerangiranje je isto kao vektorska pretraga.“","Vektorska pretraga generiše kandidate; rerangiranje preuređuje skup kandidata.",[944,945],"„Rerangeri ispravljaju loš opoziv.“","Oni ne mogu promovisati dokument koji nikada nije pronađen.",[947,948],"„Dense pretraga zamenjuje BM25.“","Leksička pretraga ostaje vredna za tačne termine, identifikatore i specijalizovani rečnik.",[950,951],"„Veća sličnost znači veći autoritet.“","Sličnost i autoritet izvora su različite dimenzije.",[953,954],"„Više top-k uvek poboljšava RAG.“","Veći skupovi kandidata mogu poboljšati opoziv, ali dodaju latenciju, šum i teret izbora konteksta.",[956,957],"„Jedan prag rezultata radi svuda.“","Rezultati zavise od modela, upita, korpusa i metode pretrage i moraju se kalibrisati.",[959,960],"„Namenska vektorska baza je uvek naprednija.“","Opravdana je samo kada se njene operativne i pretraživačke sposobnosti poklapaju sa zahtevima.",{},{"id":963,"data":964,"type":42,"tunes":966},"h-edge",{"text":965,"level":247},"Rubni slučajevi i ograničenja",{},{"id":968,"data":969,"type":218,"tunes":971},"p-edge-1",{"text":970},"Neke aplikacije ne zahtevaju semantičku pretragu. Tačna pretraga baze podataka ili strukturisani SQL može biti tačniji, brži i lakši za reviziju od pretrage putem embeddinga.",{},{"id":973,"data":974,"type":218,"tunes":976},"p-edge-2",{"text":975},"Neki korpusi su toliko mali da je potpuno vektorsko skeniranje prihvatljivo. Približno indeksiranje dodaje složenost bez značajne koristi.",{},{"id":978,"data":979,"type":218,"tunes":981},"p-edge-3",{"text":980},"Neki upiti zahtevaju visok opoziv pre bilo kakve optimizacije preciznosti. Pravno otkrivanje, istraživanje i revizija usklađenosti mogu preferirati široko prikupljanje kandidata praćeno transparentnim filtriranjem i ljudskom proverom.",{},{"id":983,"data":984,"type":218,"tunes":986},"p-edge-4",{"text":985},"Višejezična i domen-specifična pretraga može se ponašati veoma različito u zavisnosti od modela za generisanje embeddinga. Tvrdnje o performansama sa javnih skupova podataka ne treba smatrati dokazom za privatni korpus.",{},{"id":988,"data":989,"type":218,"tunes":991},"p-edge-5",{"text":990},"Latencija rerangiranja raste sa brojem i dužinom kandidata. Zbog toga veličinu kandidata treba podesiti kao varijablu tačnosti\u002Ftroška\u002Flatencije, a ne kopirati iz tutorijala.",{},{"id":993,"data":994,"type":42,"tunes":996},"h-change",{"text":995,"level":247},"Šta bi promenilo ovaj odgovor?",{},{"id":998,"data":999,"type":218,"tunes":1001},"p-change-1",{"text":1000},"Granice komponenti se ne bi promenile ako dobavljač pakuje generisanje embeddinga, vektorsko indeksiranje i rerangiranje iza jednog API-ja. Proizvod može sakriti faze, ali one ostaju konceptualno različite odgovornosti sa različitim načinima otkaza.",{},{"id":1003,"data":1004,"type":218,"tunes":1006},"p-change-2",{"text":1005},"Budući modeli za generisanje embeddinga ili pretragu mogu smanjiti potrebu za odvojenim rerangiranjem u nekim radnim opterećenjima, dok jače metode kasne interakcije ili naučenog retkog predstavljanja mogu zamutiti tradicionalne dense\u002Fleksičke kategorije. Arhitektura bi i dalje trebalo da pita koja faza proizvodi reprezentacije, koja faza generiše kandidate i koja faza poboljšava rangiranje.",{},{"id":1008,"data":1009,"type":218,"tunes":1011},"p-change-3",{"text":1010},"Najbolji dizajn se takođe menja sa veličinom korpusa, mešavinom upita, jezikom, terminologijom domena, učestalošću ažuriranja, autoritetom izvora, budžetom latencije i rezultatima evaluacije.",{},{"id":1013,"data":1014,"type":42,"tunes":1016},"h-related",{"text":1015,"level":247},"Povezano kanonsko znanje",{},{"id":1018,"data":1019,"type":218,"tunes":1021},"p-related-1",{"text":1020},"R01 pretpostavlja da je osnovni RAG koncept već shvaćen. RAG je širi obrazac u kojem se pronađene eksterne informacije dostavljaju modelu; embeddingzi, vektorska pretraga i rerangiranje su opcione komponente pretrage unutar tog obrasca.",{},{"id":1023,"data":1024,"type":1029,"tunes":1030},"ref-rag",{"url":1025,"title":1026,"excerpt":1027,"ctaLabel":1028},"https:\u002F\u002Fstajic.de\u002Fsr\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","Šta je RAG? Najjednostavnije objašnjenje kako funkcioniše","Osnova na jednostavnom jeziku o tome kako pretraga donosi eksterno znanje u kontekst modela.","Pročitajte osnove RAG-a","referralArticle",{},{"id":1032,"data":1033,"type":218,"tunes":1035},"p-related-2",{"text":1034},"Kada pretraga ne uspe, dijagnostikujte pokrivenost izvora, pretragu, rangiranje, sastavljanje konteksta i generisanje odvojeno, umesto da ceo sistem tretirate kao jedan „RAG neuspeh“.",{},{"id":1037,"data":1038,"type":1029,"tunes":1043},"ref-rag-failed",{"url":1039,"title":1040,"excerpt":1041,"ctaLabel":1042},"https:\u002F\u002Fstajic.de\u002Fsr\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method","RAG nije uspeo — ali koji sloj je zapravo zakazao? Dijagnostička metoda","Metoda sloj po sloj za izolovanje problema pokrivenosti izvora, pretrage, rangiranja, sastavljanja konteksta, generisanja, pripisivanja dokaza i svežine.","Pročitajte RAG dijagnostičku metodu",{},{"id":1045,"data":1046,"type":218,"tunes":1048},"p-related-3",{"text":1047},"Arhitektura izvora istine je sloj autoriteta oko pretrage: ona odlučuje koji izvor može da utvrdi tvrdnju, dok embeddings i rangiranje samo odlučuju koji kandidati izgledaju relevantno.",{},{"id":1050,"data":1051,"type":42,"tunes":1053},"h-faq",{"text":1052,"level":247},"Često postavljana pitanja",{},{"id":1055,"data":1056,"type":1055,"tunes":1091},"faq",{"items":1057,"title":1090},[1058,1062,1066,1070,1074,1078,1082,1086],{"id":1059,"answer":1060,"question":1061},"faq1","Embeddings su numeričke reprezentacije koje proizvodi model. Vektorska baza podataka ili vektorski indeks čuva i pretražuje te reprezentacije zajedno sa ID-jevima i metapodacima.","Koja je razlika između embeddings i vektorske baze podataka?",{"id":1063,"answer":1064,"question":1065},"faq2","Reranker uzima već pronađeni skup kandidata i ponovo ocenjuje ili preuređuje te kandidate koristeći jači model relevantnosti ili metodu ocenjivanja.","Šta radi reranker?",{"id":1067,"answer":1068,"question":1069},"faq3","Ne. RAG zahteva pronalaženje eksternih informacija. Pretraga može koristiti leksičku pretragu, SQL, API-je, grafove, vektorsku pretragu, hibridnu pretragu ili kombinacije ovih.","Da li RAG zahteva vektorsku bazu podataka?",{"id":1071,"answer":1072,"question":1073},"faq4","Reranker-i obično izvode skuplju interakciju upita i dokumenta, pa se obično primenjuju na mali skup top-k kandidata nakon bržeg prvog stepena pretrage.","Zašto ne koristiti reranker na celom korpusu?",{"id":1075,"answer":1076,"question":1077},"faq5","Ne. Ako relevantni dokument nije pronađen u skupu kandidata, ponovno rangiranje nema šta da promoviše.","Može li ponovno rangiranje da ispravi dokument koji nedostaje?",{"id":1079,"answer":1080,"question":1081},"faq6","Ne. To je mera sličnosti čije numeričko značenje zavisi od modela embeddings i korpusa. Ne treba je tretirati kao univerzalnu verovatnoću relevantnosti.","Da li je kosinusna sličnost verovatnoća relevantnosti?",{"id":1083,"answer":1084,"question":1085},"faq7","Koristite hibridnu pretragu kada evaluacija pokaže da leksički i semantički signali pronalaze komplementarne relevantne dokumente. Ona nije automatski bolja za svaki korpus.","Treba li da koristim BM25 i vektorsku pretragu zajedno?",{"id":1087,"answer":1088,"question":1089},"faq8","Kada vektorsko indeksiranje, filtriranje, skaliranje, ažuriranja, distribuirano funkcionisanje ili drugi zahtevi specifični za vektore opravdavaju specijalizovani sistem. Mali obimi posla možda ne zahtevaju takav sistem.","Kada mi je potrebna namenska vektorska baza podataka?","Embeddings, vektorske baze podataka i ponovno rangiranje",{},{"id":1093,"data":1094,"type":42,"tunes":1096},"h-glossary",{"text":1095,"level":247},"Pojmovnik",{},{"id":1098,"data":1099,"type":1098,"tunes":1156},"glossary",{"title":1100,"entries":1101},"Ključni pojmovi pretrage",[1102,1105,1109,1113,1117,1121,1125,1129,1133,1137,1141,1145,1149,1152],{"term":1103,"anchor":365,"definition":1104},"Embedding","Numerička reprezentacija sadržaja koju proizvodi model embeddings za sličnost, klasterovanje, pretragu ili srodne zadatke.",{"term":1106,"anchor":1107,"definition":1108},"Gusti vektor","dense-vector","Vektorska reprezentacija u kojoj mnoge dimenzije nose vrednosti različite od nule, koja se obično koristi u semantičkoj pretrazi.",{"term":1110,"anchor":1111,"definition":1112},"Retki vektor","sparse-vector","Visokodimenzionalna reprezentacija u kojoj je većina dimenzija nula, često zadržavajući jaču strukturu sličnu tokenima ili terminima.",{"term":1114,"anchor":1115,"definition":1116},"Vektorski indeks","vector-index","Struktura podataka koja organizuje vektore za efikasnu pretragu sličnosti ili najbližih suseda.",{"term":1118,"anchor":1119,"definition":1120},"Vektorska baza podataka","vector-database","Sistem za skladištenje i pretragu dizajniran za upravljanje vektorima, povezanim metapodacima i radnim opterećenjima vektorske pretrage.",{"term":1122,"anchor":1123,"definition":1124},"ANN","ann","Približna pretraga najbližih suseda, koja menja tačno iscrpno poređenje bržom pretragom pri velikom obimu.",{"term":1126,"anchor":1127,"definition":1128},"HNSW","hnsw","Hijerarhijski navigabilni mali svet, pristup indeksiranju približnih najbližih suseda zasnovan na grafovima koji se široko koristi za vektorsku pretragu.",{"term":1130,"anchor":1131,"definition":1132},"BM25","bm25","Metoda leksičkog rangiranja relevantnosti zasnovana na pojavljivanju termina i statistici korpusa, koja se široko koristi u pretrazi punog teksta.",{"term":1134,"anchor":1135,"definition":1136},"Hibridna pretraga","hybrid-search","Pretraga koja kombinuje rezultate ili ocene iz više metoda pretrage, kao što su leksička i vektorska pretraga.",{"term":1138,"anchor":1139,"definition":1140},"Ponovno rangiranje","reranking","Kasnija faza pretrage koja ponovo ocenjuje i preuređuje već generisani skup kandidata.",{"term":1142,"anchor":1143,"definition":1144},"Bi-enkoder","bi-encoder","Arhitektura koja nezavisno kodira upit i kandidata, omogućavajući prethodno izračunavanje i skalabilnu pretragu sličnosti.",{"term":1146,"anchor":1147,"definition":1148},"Kros-enkoder","cross-encoder","Model koji zajednički obrađuje upit i tekst kandidata, često poboljšavajući procenu relevantnosti uz veće računarske troškove.",{"term":681,"anchor":1150,"definition":1151},"recall-at-k","Udeo relevantnih stavki pronađenih među prvih k pronađenih kandidata.",{"term":1153,"anchor":1154,"definition":1155},"nDCG","ndcg","Normalizovana diskontovana kumulativna dobit, metrika rangiranja koja nagrađuje relevantne rezultate koji se pojavljuju više na uređenoj listi.",{},{"id":1158,"data":1159,"type":42,"tunes":1161},"h-conclusion",{"text":1160,"level":247},"Zaključak",{},{"id":1163,"data":1164,"type":218,"tunes":1166},"p-conclusion-1",{"text":1165},"Čist model pretrage je jednostavan: embeddings predstavljaju značenje, vektorska pretraga pronalazi kandidate, a reranker-i preciziraju redosled kandidata.",{},{"id":1168,"data":1169,"type":218,"tunes":1171},"p-conclusion-2",{"text":1170},"Kada su te granice eksplicitne, arhitekturne odluke postaju lakše za dijagnostikovanje. Kandidati koji nedostaju ukazuju na pokrivenost izvora, deljenje na delove, embeddings, filtere ili pretragu prvog stepena. Loš redosled ukazuje na rangiranje, fuziju ili ponovno rangiranje. Netačni konačni odgovori se zatim mogu odvojeno istražiti na slojevima konteksta i generisanja.",{},{"id":1173,"data":1174,"type":218,"tunes":1176},"p-conclusion-3",{"text":1175},"Najvažniji rezultat nije izbor najmodernije komponente pretrage. To je izgradnja pipeline-a za pretragu čije faze, granice autoriteta, metrike i načini neuspeha mogu da se mere nezavisno.",{},{"id":1178,"data":1179,"type":42,"tunes":1181},"h-sources",{"text":1180,"level":247},"Primarni izvori i dokazi o implementaciji",{},{"id":1183,"data":1184,"type":218,"tunes":1186},"p-sources-note",{"text":1185},"Spoljne reference ispod dokumentuju mehanizme reprezentacije, vektorske pretrage i ponovnog rangiranja korišćene u ovom članku. Sekcije specifične za projekat su originalni dokazi o implementaciji i namerno su uže od tvrdnji o potpunoj zrelosti RAG-a u produkciji.",{},{"id":1188,"data":1189,"type":1195,"tunes":1196},"src-sbert",{"link":1190,"meta":1191},"https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.10084",{"image":1192,"title":1193,"description":1194},{"url":344},"Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks","Temeljni rad koji demonstrira nezavisno izračunljive embeddings rečenica za efikasnu pretragu semantičke sličnosti.","linkTool",{},{"id":1198,"data":1199,"type":1195,"tunes":1205},"src-qdrant-overview",{"link":1200,"meta":1201},"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Foverview\u002F",{"image":1202,"title":1203,"description":1204},{"url":344},"Qdrant — Pregled arhitekture i strukture podataka","Zvanična dokumentacija koja opisuje kolekcije, tačke, vektore, metapodatke payload-a i indeksiranje sličnosti zasnovano na HNSW.",{},{"id":1207,"data":1208,"type":1195,"tunes":1214},"src-qdrant-search",{"link":1209,"meta":1210},"https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fsearch\u002Fsearch\u002F",{"image":1211,"title":1212,"description":1213},{"url":344},"Qdrant — Pretraga","Zvanična dokumentacija za vektorsku pretragu koja pokriva upite sličnosti, filtriranje, tačnu nasuprot približnoj pretrazi i ponašanje gustih\u002Fretkih vektora.",{},{"id":1216,"data":1217,"type":1195,"tunes":1223},"src-elastic-vector",{"link":1218,"meta":1219},"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector",{"image":1220,"title":1221,"description":1222},{"url":344},"Elastic — Vektorska pretraga","Aktuelna dokumentacija o pretrazi gustih\u002Fretkih vektora, kombinacijama leksičkog i vektorskog pristupa i višefaznim pipeline-ima pretrage.",{},{"id":1225,"data":1226,"type":1195,"tunes":1232},"src-elastic-rerank",{"link":1227,"meta":1228},"https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Franking\u002Fsemantic-reranking",{"image":1229,"title":1230,"description":1231},{"url":344},"Elastic — Semantičko rangiranje","Trenutne smernice koje definišu semantičko rangiranje kao operaciju relevantnosti u kasnijoj fazi nad manjim skupom kandidata.",{},{"id":1234,"data":1235,"type":1195,"tunes":1241},"src-cohere-rerank",{"link":1236,"meta":1237},"https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Freranking-with-cohere",{"image":1238,"title":1239,"description":1240},{"url":344},"Cohere — Rangiranje uz Cohere","Trenutna dokumentacija koja prikazuje rangiranje kao poboljšanje u drugoj fazi nakon leksičkog ili semantičkog pretraživanja u prvoj fazi.",{},{"id":1243,"data":1244,"type":1195,"tunes":1250},"src-sqlite-fts5",{"link":1245,"meta":1246},"https:\u002F\u002Fwww.sqlite.org\u002Ffts5.html",{"image":1247,"title":1248,"description":1249},{"url":344},"SQLite FTS5","Zvanična SQLite dokumentacija za pretragu punog teksta i ugrađenu BM25 funkciju rangiranja koja se koristi kao dokaz leksičkog pretraživanja.",{},"2.31","Embedinzi predstavljaju značenje, vektorske baze podataka pronalaze kandidate, a rerangirači prečišćavaju rezultate. Saznajte kako se ova tri sloja pronalaženja razlikuju i kako rade zajedno u RAG-u.","\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":1260,"de":1261,"sr":1262,"es":1263,"fr":1264,"it":1265,"ru":1266,"zh":1267},"\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",[1269,1273,1277],{"id":1270,"name":1271,"slug":1272},64,"Informaciona arhitektura","information-architecture",{"id":1274,"name":1275,"slug":1276},60,"Kontrole troška i latencije","cost-and-latency",{"id":1278,"name":1279,"slug":1280},57,"Granice podataka","data-boundaries",{"id":1282,"login":1283,"email":1284,"displayName":1285},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[1287,2132],{"lang":1288,"title":1289,"content":1290,"contentJson":1291,"excerpt":2131},"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":1292,"blocks":1293,"version":2130},1791489989811,[1294,1298,1303,1308,1313,1317,1321,1325,1329,1333,1337,1341,1345,1349,1372,1376,1380,1384,1388,1413,1417,1421,1425,1429,1433,1437,1441,1445,1449,1453,1457,1461,1465,1470,1474,1478,1482,1486,1490,1494,1498,1502,1506,1510,1514,1518,1522,1526,1530,1534,1538,1542,1546,1574,1578,1582,1586,1591,1595,1599,1603,1607,1611,1615,1619,1623,1627,1631,1635,1639,1643,1647,1680,1684,1688,1715,1719,1723,1727,1732,1736,1740,1744,1748,1752,1756,1760,1764,1768,1793,1798,1802,1832,1836,1871,1875,1912,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956,1960,1967,1971,1978,1982,1986,2015,2019,2059,2063,2067,2071,2075,2079,2083,2089,2096,2103,2110,2117,2124],{"id":215,"data":1295,"type":218,"tunes":1297},{"text":1296},"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":1299,"type":226,"tunes":1302},{"body":1300,"title":1301,"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":1304,"type":226,"tunes":1307},{"body":1305,"title":1306,"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":1309,"type":226,"tunes":1312},{"body":1310,"title":1311,"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":1314,"type":248,"tunes":1316},{"title":1315,"maxLevel":246,"minLevel":247},"Contents",{},{"id":251,"data":1318,"type":42,"tunes":1320},{"text":1319,"level":247},"What this really means",{},{"id":256,"data":1322,"type":218,"tunes":1324},{"text":1323},"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":1326,"type":218,"tunes":1328},{"text":1327},"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":1330,"type":218,"tunes":1332},{"text":1331},"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":1334,"type":42,"tunes":1336},{"text":1335,"level":247},"The simplest example",{},{"id":276,"data":1338,"type":218,"tunes":1340},{"text":1339},"Suppose a knowledge base contains 100,000 document chunks. A user asks: “How do I revoke an API token?”",{},{"id":281,"data":1342,"type":218,"tunes":1344},{"text":1343},"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":1346,"type":218,"tunes":1348},{"text":1347},"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":1350,"type":314,"tunes":1371},{"steps":1351,"title":1370,"orientation":313},[1352,1355,1358,1361,1364,1367],{"label":1353,"description":1354},"1. Embed documents","Convert each searchable chunk into a numerical representation, usually at ingest time.",{"label":1356,"description":1357},"2. Store\u002Findex vectors","Associate vectors with document IDs and metadata in a searchable vector index or database.",{"label":1359,"description":1360},"3. Embed the query","Encode the user's query using the compatible embedding model and query configuration.",{"label":1362,"description":1363},"4. Retrieve candidates","Run vector similarity search, often with metadata filters, to produce a larger top-k candidate set.",{"label":1365,"description":1366},"5. Rerank candidates","Apply a stronger relevance model to the query and the small candidate set.",{"label":1368,"description":1369},"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":1373,"type":42,"tunes":1375},{"text":1374,"level":247},"Where the simple example stops",{},{"id":322,"data":1377,"type":218,"tunes":1379},{"text":1378},"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":1381,"type":218,"tunes":1383},{"text":1382},"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":1385,"type":218,"tunes":1387},{"text":1386},"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":1389,"type":373,"tunes":1412},{"rows":1390,"title":1406,"layout":362,"columns":1407},[1391,1394,1397,1400,1403],{"id":341,"label":1392,"values":1393},"Primary job",[344,344,344],{"id":346,"label":1395,"values":1396},"Typical input",[344,344,344],{"id":350,"label":1398,"values":1399},"Typical output",[344,344,344],{"id":354,"label":1401,"values":1402},"Cost profile",[344,344,344],{"id":358,"label":1404,"values":1405},"Typical failure",[344,344,344],"Three different retrieval components",[1408,1409,1411],{"id":365,"label":1103},{"id":368,"label":1410},"Vector database \u002F index",{"id":371,"label":372},{},{"id":376,"data":1414,"type":42,"tunes":1416},{"text":1415,"level":247},"Embeddings: representation, not retrieval",{},{"id":381,"data":1418,"type":218,"tunes":1420},{"text":1419},"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":1422,"type":218,"tunes":1424},{"text":1423},"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":1426,"type":218,"tunes":1428},{"text":1427},"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":1430,"type":42,"tunes":1432},{"text":1431,"level":246},"The embedding model defines the representation space",{},{"id":401,"data":1434,"type":218,"tunes":1436},{"text":1435},"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":1438,"type":218,"tunes":1440},{"text":1439},"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":1442,"type":42,"tunes":1444},{"text":1443,"level":246},"Dense and sparse representations are different",{},{"id":416,"data":1446,"type":218,"tunes":1448},{"text":1447},"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":1450,"type":218,"tunes":1452},{"text":1451},"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":1454,"type":42,"tunes":1456},{"text":1455,"level":246},"Similarity functions are part of the representation contract",{},{"id":431,"data":1458,"type":218,"tunes":1460},{"text":1459},"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":1462,"type":218,"tunes":1464},{"text":1463},"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":1466,"type":226,"tunes":1469},{"body":1467,"title":1468,"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":1471,"type":42,"tunes":1473},{"text":1472,"level":247},"Vector databases and indexes: candidate retrieval",{},{"id":452,"data":1475,"type":218,"tunes":1477},{"text":1476},"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":1479,"type":218,"tunes":1481},{"text":1480},"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":1483,"type":218,"tunes":1485},{"text":1484},"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":1487,"type":42,"tunes":1489},{"text":1488,"level":246},"Approximate nearest-neighbor search trades exactness for efficiency",{},{"id":472,"data":1491,"type":218,"tunes":1493},{"text":1492},"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":1495,"type":218,"tunes":1497},{"text":1496},"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":1499,"type":218,"tunes":1501},{"text":1500},"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":1503,"type":42,"tunes":1505},{"text":1504,"level":246},"Metadata filtering belongs before or during candidate retrieval",{},{"id":492,"data":1507,"type":218,"tunes":1509},{"text":1508},"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":1511,"type":218,"tunes":1513},{"text":1512},"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":1515,"type":42,"tunes":1517},{"text":1516,"level":246},"A vector database is optional",{},{"id":507,"data":1519,"type":218,"tunes":1521},{"text":1520},"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":1523,"type":218,"tunes":1525},{"text":1524},"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":1527,"type":42,"tunes":1529},{"text":1528,"level":247},"Reranking: second-stage relevance refinement",{},{"id":522,"data":1531,"type":218,"tunes":1533},{"text":1532},"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":1535,"type":218,"tunes":1537},{"text":1536},"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":1539,"type":218,"tunes":1541},{"text":1540},"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":1543,"type":42,"tunes":1545},{"text":1544,"level":246},"Bi-encoder retrieval and cross-encoder reranking solve different cost problems",{},{"id":542,"data":1547,"type":362,"tunes":1573},{"content":1548,"stretched":43,"withHeadings":14},[1549,1553,1557,1561,1565,1569],[1550,1551,1552],"Property","Bi-encoder \u002F embedding retrieval","Cross-encoder-style reranking",[1554,1555,1556],"Encoding","Query and documents represented independently","Query and candidate processed jointly",[1558,1559,1560],"Document computation","Can be precomputed at ingest","Normally recomputed per query-candidate pair",[1562,1563,1564],"Corpus-scale search","Suitable with vector indexes","Usually too expensive across the entire corpus",[1566,1567,1568],"Typical role","High-recall candidate generation","High-precision ordering of a small candidate set",[1570,1571,1572],"Main trade-off","Fast and scalable but relevance interaction is compressed into vectors","Richer relevance judgment but higher latency\u002Fcost",{},{"id":571,"data":1575,"type":42,"tunes":1577},{"text":1576,"level":246},"A reranker cannot recover what retrieval missed",{},{"id":576,"data":1579,"type":218,"tunes":1581},{"text":1580},"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":1583,"type":218,"tunes":1585},{"text":1584},"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":1587,"type":226,"tunes":1590},{"body":1588,"title":1589,"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":1592,"type":42,"tunes":1594},{"text":1593,"level":247},"Hybrid retrieval is a separate design choice",{},{"id":598,"data":1596,"type":218,"tunes":1598},{"text":1597},"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":1600,"type":218,"tunes":1602},{"text":1601},"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":1604,"type":218,"tunes":1606},{"text":1605},"Reranking can then operate on the fused candidate set. Hybrid retrieval and reranking are therefore complementary but distinct stages.",{},{"id":613,"data":1608,"type":42,"tunes":1610},{"text":1609,"level":246},"BM25 is not obsolete because embeddings exist",{},{"id":618,"data":1612,"type":218,"tunes":1614},{"text":1613},"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":1616,"type":218,"tunes":1618},{"text":1617},"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":1620,"type":42,"tunes":1622},{"text":1621,"level":247},"Chunking changes what embeddings and rerankers can see",{},{"id":633,"data":1624,"type":218,"tunes":1626},{"text":1625},"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":1628,"type":218,"tunes":1630},{"text":1629},"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":1632,"type":42,"tunes":1634},{"text":1633,"level":247},"Do not compare retrieval scores as if they were universal probabilities",{},{"id":648,"data":1636,"type":218,"tunes":1638},{"text":1637},"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":1640,"type":218,"tunes":1642},{"text":1641},"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":1644,"type":42,"tunes":1646},{"text":1645,"level":247},"Evaluate retrieval stages separately",{},{"id":663,"data":1648,"type":362,"tunes":1679},{"content":1649,"stretched":43,"withHeadings":14},[1650,1654,1658,1662,1665,1668,1671,1675],[1651,1652,1653],"Layer","Useful question","Example metric or test",[1655,1656,1657],"Source coverage","Does the corpus contain the needed information?","Coverage audit \u002F known-answer source set",[1659,1660,1661],"Chunking","Is the needed evidence retrievable as a coherent unit?","Chunk-level support review",[1663,1664,681],"First-stage retrieval","Does the relevant item enter the candidate set?",[1666,1667,685],"Ranking","How high does relevant evidence appear?",[1669,1670,688],"Reranking","Does second-stage scoring improve ordering?",[1672,1673,1674],"Context selection","Do the final selected passages contain sufficient support?","Context relevance \u002F coverage",[1676,1677,1678],"Answer stage","Does the model use the selected evidence correctly?","Faithfulness \u002F claim-evidence evaluation",{},{"id":699,"data":1681,"type":218,"tunes":1683},{"text":1682},"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":704,"data":1685,"type":42,"tunes":1687},{"text":1686,"level":247},"Which layer actually failed?",{},{"id":709,"data":1689,"type":373,"tunes":1714},{"rows":1690,"title":1706,"layout":362,"columns":1707},[1691,1694,1697,1700,1703],{"id":713,"label":1692,"values":1693},"Relevant document never appears",[344,344,344],{"id":717,"label":1695,"values":1696},"Relevant document appears too low",[344,344,344],{"id":721,"label":1698,"values":1699},"Semantically good but forbidden result",[344,344,344],{"id":725,"label":1701,"values":1702},"Relevant but outdated result",[344,344,344],{"id":729,"label":1704,"values":1705},"Correct result retrieved but omitted from prompt",[344,344,344],"Symptoms and likely retrieval layer",[1708,1710,1712],{"id":735,"label":1709},"Observed symptom",{"id":738,"label":1711},"Likely layer",{"id":741,"label":1713},"First diagnostic",{},{"id":745,"data":1716,"type":42,"tunes":1718},{"text":1717,"level":247},"Relevance and Source of Truth are different",{},{"id":750,"data":1720,"type":218,"tunes":1722},{"text":1721},"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":755,"data":1724,"type":218,"tunes":1726},{"text":1725},"Where source authority matters, metadata filters, source classes, version rules and provenance should constrain retrieval before the result becomes model context.",{},{"id":760,"data":1728,"type":226,"tunes":1731},{"body":1729,"title":1730,"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":766,"data":1733,"type":42,"tunes":1735},{"text":1734,"level":247},"Original implementation evidence",{},{"id":771,"data":1737,"type":42,"tunes":1739},{"text":1738,"level":246},"Source of Truth Research Engine: lexical and semantic retrieval are separate",{},{"id":776,"data":1741,"type":218,"tunes":1743},{"text":1742},"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":781,"data":1745,"type":218,"tunes":1747},{"text":1746},"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":786,"data":1749,"type":218,"tunes":1751},{"text":1750},"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":791,"data":1753,"type":42,"tunes":1755},{"text":1754,"level":246},"Aaasaasa AI Client: Qdrant is a vector infrastructure component",{},{"id":796,"data":1757,"type":218,"tunes":1759},{"text":1758},"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":801,"data":1761,"type":218,"tunes":1763},{"text":1762},"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":806,"data":1765,"type":218,"tunes":1767},{"text":1766},"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":811,"data":1769,"type":362,"tunes":1792},{"content":1770,"stretched":43,"withHeadings":14},[1771,1774,1777,1780,1783,1786,1789],[1772,1773],"Implementation evidence","What it demonstrates",[1775,1776],"SQLite FTS5\u002FBM25 in Source of Truth Research Engine","Lexical retrieval can exist independently of embeddings.",[1778,1779],"Local Ollama embeddings","Representation generation is its own stage.",[1781,1782],"Stored semantic vectors + cosine comparison","Semantic retrieval consumes embeddings after they have been produced.",[1784,1785],"Qdrant support in Aaasaasa AI Client","Vector storage\u002Fsearch is an infrastructure capability separate from the model provider.",[1787,1788],"Evidence\u002Fprovenance rules in Source of Truth Research Engine","Retrieved similarity does not equal authority or proof.",[1790,1791],"No claimed custom reranker in these implementations","Reranking is explained as an architectural stage, not falsely claimed as already implemented evidence.",{},{"id":837,"data":1794,"type":226,"tunes":1797},{"body":1795,"title":1796,"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":843,"data":1799,"type":42,"tunes":1801},{"text":1800,"level":247},"When do you need each component?",{},{"id":848,"data":1803,"type":362,"tunes":1831},{"content":1804,"stretched":43,"withHeadings":14},[1805,1808,1811,1814,1817,1820,1822,1825,1828],[1806,1807],"Need","Likely component",[1809,1810],"Semantic similarity across different wording","Embedding model + vector similarity search",[1812,1813],"Efficient search over a large vector corpus","Vector index\u002Fdatabase or vector-capable search engine",[1815,1816],"Exact identifiers, error codes or rare terms","Lexical\u002Ffull-text retrieval such as BM25",[1818,1819],"Both exact terminology and semantic meaning","Hybrid lexical + semantic retrieval",[1821,372],"Candidate set is good but ordering is weak",[1823,1824],"Relevant items are absent from candidate set","Improve source coverage, chunking, retriever, filters or candidate count before reranking",[1826,1827],"Hard tenant\u002Fsource\u002Fversion constraints","Deterministic metadata\u002Fauthorization filtering",[1829,1830],"Small corpus","Potentially simple brute-force similarity or general-purpose database rather than dedicated vector DB",{},{"id":879,"data":1833,"type":42,"tunes":1835},{"text":1834,"level":247},"A practical retrieval design sequence",{},{"id":884,"data":1837,"type":314,"tunes":1870},{"steps":1838,"title":1869,"orientation":313},[1839,1842,1845,1848,1851,1854,1857,1860,1863,1866],{"label":1840,"description":1841},"1. Define the query types","Identify semantic questions, exact lookups, identifiers, current-state reads and domain-specific patterns.",{"label":1843,"description":1844},"2. Define eligible sources","Apply tenant, authorization, locale, version, source class and freshness constraints.",{"label":1846,"description":1847},"3. Establish lexical baseline","Measure whether simple full-text\u002FBM25 retrieval already solves much of the workload.",{"label":1849,"description":1850},"4. Add embeddings where semantic recall is needed","Choose and evaluate an embedding model against representative domain queries.",{"label":1852,"description":1853},"5. Choose vector storage\u002Findexing based on scale","Use brute force, database vector support or a dedicated vector engine according to requirements.",{"label":1855,"description":1856},"6. Evaluate first-stage recall","Confirm that relevant evidence enters a sufficiently large candidate set.",{"label":1858,"description":1859},"7. Add hybrid retrieval if signals are complementary","Fuse lexical and semantic rankings when both materially improve candidate generation.",{"label":1861,"description":1862},"8. Add reranking if ordering remains the bottleneck","Apply the stronger model only to the candidate set where its cost is justified.",{"label":1864,"description":1865},"9. Tune final context selection","Control redundancy, context budget, authority, diversity and evidence coverage before generation.",{"label":1867,"description":1868},"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":920,"data":1872,"type":42,"tunes":1874},{"text":1873,"level":247},"Common misconceptions",{},{"id":925,"data":1876,"type":362,"tunes":1911},{"content":1877,"stretched":43,"withHeadings":14},[1878,1881,1884,1887,1890,1893,1896,1899,1902,1905,1908],[1879,1880],"Misconception","Correction",[1882,1883],"“An embedding is a vector database.”","An embedding is a representation; the database\u002Findex stores and searches representations.",[1885,1886],"“A vector database creates semantic meaning.”","The embedding model creates the representation; the vector system indexes and compares it.",[1888,1889],"“RAG requires a vector database.”","RAG requires retrieval, not a specific retrieval technology.",[1891,1892],"“Reranking is the same as vector search.”","Vector search generates candidates; reranking reorders a candidate set.",[1894,1895],"“Rerankers fix poor recall.”","They cannot promote a document that was never retrieved.",[1897,1898],"“Dense search replaces BM25.”","Lexical search remains valuable for exact terms, identifiers and specialized vocabulary.",[1900,1901],"“Higher similarity means more authoritative.”","Similarity and source authority are different dimensions.",[1903,1904],"“More top-k always improves RAG.”","Larger candidate sets can improve recall but add latency, noise and context-selection burden.",[1906,1907],"“One score threshold works everywhere.”","Scores depend on model, query, corpus and retrieval method and must be calibrated.",[1909,1910],"“A dedicated vector DB is always more advanced.”","It is only justified when its operational and retrieval capabilities match the requirements.",{},{"id":963,"data":1913,"type":42,"tunes":1915},{"text":1914,"level":247},"Edge cases and limitations",{},{"id":968,"data":1917,"type":218,"tunes":1919},{"text":1918},"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":973,"data":1921,"type":218,"tunes":1923},{"text":1922},"Some corpora are so small that a full vector scan is acceptable. Approximate indexing adds complexity without meaningful benefit.",{},{"id":978,"data":1925,"type":218,"tunes":1927},{"text":1926},"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":983,"data":1929,"type":218,"tunes":1931},{"text":1930},"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":988,"data":1933,"type":218,"tunes":1935},{"text":1934},"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":993,"data":1937,"type":42,"tunes":1939},{"text":1938,"level":247},"What would change this answer?",{},{"id":998,"data":1941,"type":218,"tunes":1943},{"text":1942},"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":1003,"data":1945,"type":218,"tunes":1947},{"text":1946},"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":1008,"data":1949,"type":218,"tunes":1951},{"text":1950},"The best design also changes with corpus size, query mix, language, domain terminology, update frequency, source authority, latency budget and evaluation results.",{},{"id":1013,"data":1953,"type":42,"tunes":1955},{"text":1954,"level":247},"Related canonical knowledge",{},{"id":1018,"data":1957,"type":218,"tunes":1959},{"text":1958},"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":1023,"data":1961,"type":1029,"tunes":1966},{"url":1962,"title":1963,"excerpt":1964,"ctaLabel":1965},"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":1032,"data":1968,"type":218,"tunes":1970},{"text":1969},"When retrieval fails, diagnose source coverage, retrieval, ranking, context assembly and generation separately rather than treating the whole system as one “RAG failure.”",{},{"id":1037,"data":1972,"type":1029,"tunes":1977},{"url":1973,"title":1974,"excerpt":1975,"ctaLabel":1976},"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":1045,"data":1979,"type":218,"tunes":1981},{"text":1980},"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":1050,"data":1983,"type":42,"tunes":1985},{"text":1984,"level":247},"Frequently asked questions",{},{"id":1055,"data":1987,"type":1055,"tunes":2014},{"items":1988,"title":2013},[1989,1992,1995,1998,2001,2004,2007,2010],{"id":1059,"answer":1990,"question":1991},"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":1063,"answer":1993,"question":1994},"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":1067,"answer":1996,"question":1997},"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":1071,"answer":1999,"question":2000},"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":1075,"answer":2002,"question":2003},"No. If the relevant document was not retrieved into the candidate set, reranking has nothing to promote.","Can reranking fix a missing document?",{"id":1079,"answer":2005,"question":2006},"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":1083,"answer":2008,"question":2009},"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":1087,"answer":2011,"question":2012},"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":1093,"data":2016,"type":42,"tunes":2018},{"text":2017,"level":247},"Glossary",{},{"id":1098,"data":2020,"type":1098,"tunes":2058},{"title":2021,"entries":2022},"Key retrieval terms",[2023,2025,2028,2031,2034,2037,2039,2041,2043,2046,2048,2051,2054,2056],{"term":1103,"anchor":365,"definition":2024},"A numerical representation of content produced by an embedding model for similarity, clustering, retrieval or related tasks.",{"term":2026,"anchor":1107,"definition":2027},"Dense vector","A vector representation in which many dimensions carry non-zero values, commonly used in semantic retrieval.",{"term":2029,"anchor":1111,"definition":2030},"Sparse vector","A high-dimensional representation in which most dimensions are zero, often preserving stronger token- or term-like structure.",{"term":2032,"anchor":1115,"definition":2033},"Vector index","A data structure that organizes vectors for efficient similarity or nearest-neighbor retrieval.",{"term":2035,"anchor":1119,"definition":2036},"Vector database","A storage\u002Fsearch system designed to manage vectors, associated metadata and vector retrieval workloads.",{"term":1122,"anchor":1123,"definition":2038},"Approximate nearest-neighbor search, which trades exact exhaustive comparison for faster retrieval at scale.",{"term":1126,"anchor":1127,"definition":2040},"Hierarchical Navigable Small World, a graph-based approximate nearest-neighbor indexing approach widely used for vector retrieval.",{"term":1130,"anchor":1131,"definition":2042},"A lexical relevance-ranking method based on term occurrence and corpus statistics, widely used in full-text search.",{"term":2044,"anchor":1135,"definition":2045},"Hybrid search","Retrieval that combines results or scores from multiple retrieval methods such as lexical and vector search.",{"term":1669,"anchor":1139,"definition":2047},"A later retrieval stage that re-scores and reorders an already generated candidate set.",{"term":2049,"anchor":1143,"definition":2050},"Bi-encoder","An architecture that encodes query and candidate independently, enabling precomputation and scalable similarity search.",{"term":2052,"anchor":1147,"definition":2053},"Cross-encoder","A model that jointly processes a query and candidate text, often improving relevance judgment at higher computational cost.",{"term":681,"anchor":1150,"definition":2055},"The fraction of relevant items recovered within the top k retrieved candidates.",{"term":1153,"anchor":1154,"definition":2057},"Normalized Discounted Cumulative Gain, a ranking metric that rewards relevant results appearing higher in an ordered list.",{},{"id":1158,"data":2060,"type":42,"tunes":2062},{"text":2061,"level":247},"Conclusion",{},{"id":1163,"data":2064,"type":218,"tunes":2066},{"text":2065},"The clean retrieval model is simple: embeddings represent meaning, vector search retrieves candidates, and rerankers refine candidate ordering.",{},{"id":1168,"data":2068,"type":218,"tunes":2070},{"text":2069},"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":1173,"data":2072,"type":218,"tunes":2074},{"text":2073},"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":1178,"data":2076,"type":42,"tunes":2078},{"text":2077,"level":247},"Primary sources and implementation evidence",{},{"id":1183,"data":2080,"type":218,"tunes":2082},{"text":2081},"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":1188,"data":2084,"type":1195,"tunes":2088},{"link":1190,"meta":2085},{"image":2086,"title":1193,"description":2087},{"url":344},"Foundational paper demonstrating independently computable sentence embeddings for efficient semantic similarity search.",{},{"id":1198,"data":2090,"type":1195,"tunes":2095},{"link":1200,"meta":2091},{"image":2092,"title":2093,"description":2094},{"url":344},"Qdrant — Architecture and data structure overview","Official documentation describing collections, points, vectors, payload metadata and HNSW-based similarity indexing.",{},{"id":1207,"data":2097,"type":1195,"tunes":2102},{"link":1209,"meta":2098},{"image":2099,"title":2100,"description":2101},{"url":344},"Qdrant — Search","Official vector-search documentation covering similarity queries, filtering, exact versus approximate search and dense\u002Fsparse behavior.",{},{"id":1216,"data":2104,"type":1195,"tunes":2109},{"link":1218,"meta":2105},{"image":2106,"title":2107,"description":2108},{"url":344},"Elastic — Vector search","Current documentation on dense\u002Fsparse vector retrieval, lexical\u002Fvector combinations and multi-stage search pipelines.",{},{"id":1225,"data":2111,"type":1195,"tunes":2116},{"link":1227,"meta":2112},{"image":2113,"title":2114,"description":2115},{"url":344},"Elastic — Semantic reranking","Current guidance defining semantic reranking as a later-stage relevance operation over a smaller candidate set.",{},{"id":1234,"data":2118,"type":1195,"tunes":2123},{"link":1236,"meta":2119},{"image":2120,"title":2121,"description":2122},{"url":344},"Cohere — Reranking with Cohere","Current documentation showing reranking as a second-stage improvement over lexical or semantic first-stage retrieval.",{},{"id":1243,"data":2125,"type":1195,"tunes":2129},{"link":1245,"meta":2126},{"image":2127,"title":1248,"description":2128},{"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":2133,"excerpt":1252},{"time":212,"blocks":2134,"version":1251},[2135,2138,2141,2144,2147,2150,2153,2156,2159,2162,2165,2168,2171,2174,2184,2187,2190,2193,2196,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,2307,2310,2313,2323,2326,2329,2332,2335,2338,2341,2344,2347,2350,2353,2356,2359,2362,2365,2368,2371,2374,2377,2389,2392,2395,2413,2416,2419,2422,2425,2428,2431,2434,2437,2440,2443,2446,2449,2452,2463,2466,2469,2482,2485,2499,2502,2517,2520,2523,2526,2529,2532,2535,2538,2541,2544,2547,2550,2553,2556,2559,2562,2565,2568,2580,2583,2601,2604,2607,2610,2613,2616,2619,2624,2629,2634,2639,2644,2649],{"id":215,"data":2136,"type":218,"tunes":2137},{"text":217},{},{"id":221,"data":2139,"type":226,"tunes":2140},{"body":223,"title":224,"variant":225},{},{"id":229,"data":2142,"type":226,"tunes":2143},{"body":231,"title":232,"variant":233},{},{"id":236,"data":2145,"type":226,"tunes":2146},{"body":238,"title":239,"variant":240},{},{"id":243,"data":2148,"type":248,"tunes":2149},{"title":245,"maxLevel":246,"minLevel":247},{},{"id":251,"data":2151,"type":42,"tunes":2152},{"text":253,"level":247},{},{"id":256,"data":2154,"type":218,"tunes":2155},{"text":258},{},{"id":261,"data":2157,"type":218,"tunes":2158},{"text":263},{},{"id":266,"data":2160,"type":218,"tunes":2161},{"text":268},{},{"id":271,"data":2163,"type":42,"tunes":2164},{"text":273,"level":247},{},{"id":276,"data":2166,"type":218,"tunes":2167},{"text":278},{},{"id":281,"data":2169,"type":218,"tunes":2170},{"text":283},{},{"id":286,"data":2172,"type":218,"tunes":2173},{"text":288},{},{"id":291,"data":2175,"type":314,"tunes":2183},{"steps":2176,"title":312,"orientation":313},[2177,2178,2179,2180,2181,2182],{"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":2185,"type":42,"tunes":2186},{"text":319,"level":247},{},{"id":322,"data":2188,"type":218,"tunes":2189},{"text":324},{},{"id":327,"data":2191,"type":218,"tunes":2192},{"text":329},{},{"id":332,"data":2194,"type":218,"tunes":2195},{"text":334},{},{"id":337,"data":2197,"type":373,"tunes":2213},{"rows":2198,"title":361,"layout":362,"columns":2209},[2199,2201,2203,2205,2207],{"id":341,"label":342,"values":2200},[344,344,344],{"id":346,"label":347,"values":2202},[344,344,344],{"id":350,"label":351,"values":2204},[344,344,344],{"id":354,"label":355,"values":2206},[344,344,344],{"id":358,"label":359,"values":2208},[344,344,344],[2210,2211,2212],{"id":365,"label":366},{"id":368,"label":369},{"id":371,"label":372},{},{"id":376,"data":2215,"type":42,"tunes":2216},{"text":378,"level":247},{},{"id":381,"data":2218,"type":218,"tunes":2219},{"text":383},{},{"id":386,"data":2221,"type":218,"tunes":2222},{"text":388},{},{"id":391,"data":2224,"type":218,"tunes":2225},{"text":393},{},{"id":396,"data":2227,"type":42,"tunes":2228},{"text":398,"level":246},{},{"id":401,"data":2230,"type":218,"tunes":2231},{"text":403},{},{"id":406,"data":2233,"type":218,"tunes":2234},{"text":408},{},{"id":411,"data":2236,"type":42,"tunes":2237},{"text":413,"level":246},{},{"id":416,"data":2239,"type":218,"tunes":2240},{"text":418},{},{"id":421,"data":2242,"type":218,"tunes":2243},{"text":423},{},{"id":426,"data":2245,"type":42,"tunes":2246},{"text":428,"level":246},{},{"id":431,"data":2248,"type":218,"tunes":2249},{"text":433},{},{"id":436,"data":2251,"type":218,"tunes":2252},{"text":438},{},{"id":441,"data":2254,"type":226,"tunes":2255},{"body":443,"title":444,"variant":233},{},{"id":447,"data":2257,"type":42,"tunes":2258},{"text":449,"level":247},{},{"id":452,"data":2260,"type":218,"tunes":2261},{"text":454},{},{"id":457,"data":2263,"type":218,"tunes":2264},{"text":459},{},{"id":462,"data":2266,"type":218,"tunes":2267},{"text":464},{},{"id":467,"data":2269,"type":42,"tunes":2270},{"text":469,"level":246},{},{"id":472,"data":2272,"type":218,"tunes":2273},{"text":474},{},{"id":477,"data":2275,"type":218,"tunes":2276},{"text":479},{},{"id":482,"data":2278,"type":218,"tunes":2279},{"text":484},{},{"id":487,"data":2281,"type":42,"tunes":2282},{"text":489,"level":246},{},{"id":492,"data":2284,"type":218,"tunes":2285},{"text":494},{},{"id":497,"data":2287,"type":218,"tunes":2288},{"text":499},{},{"id":502,"data":2290,"type":42,"tunes":2291},{"text":504,"level":246},{},{"id":507,"data":2293,"type":218,"tunes":2294},{"text":509},{},{"id":512,"data":2296,"type":218,"tunes":2297},{"text":514},{},{"id":517,"data":2299,"type":42,"tunes":2300},{"text":519,"level":247},{},{"id":522,"data":2302,"type":218,"tunes":2303},{"text":524},{},{"id":527,"data":2305,"type":218,"tunes":2306},{"text":529},{},{"id":532,"data":2308,"type":218,"tunes":2309},{"text":534},{},{"id":537,"data":2311,"type":42,"tunes":2312},{"text":539,"level":246},{},{"id":542,"data":2314,"type":362,"tunes":2322},{"content":2315,"stretched":43,"withHeadings":14},[2316,2317,2318,2319,2320,2321],[546,547,548],[550,551,552],[554,555,556],[558,559,560],[562,563,564],[566,567,568],{},{"id":571,"data":2324,"type":42,"tunes":2325},{"text":573,"level":246},{},{"id":576,"data":2327,"type":218,"tunes":2328},{"text":578},{},{"id":581,"data":2330,"type":218,"tunes":2331},{"text":583},{},{"id":586,"data":2333,"type":226,"tunes":2334},{"body":588,"title":589,"variant":590},{},{"id":593,"data":2336,"type":42,"tunes":2337},{"text":595,"level":247},{},{"id":598,"data":2339,"type":218,"tunes":2340},{"text":600},{},{"id":603,"data":2342,"type":218,"tunes":2343},{"text":605},{},{"id":608,"data":2345,"type":218,"tunes":2346},{"text":610},{},{"id":613,"data":2348,"type":42,"tunes":2349},{"text":615,"level":246},{},{"id":618,"data":2351,"type":218,"tunes":2352},{"text":620},{},{"id":623,"data":2354,"type":218,"tunes":2355},{"text":625},{},{"id":628,"data":2357,"type":42,"tunes":2358},{"text":630,"level":247},{},{"id":633,"data":2360,"type":218,"tunes":2361},{"text":635},{},{"id":638,"data":2363,"type":218,"tunes":2364},{"text":640},{},{"id":643,"data":2366,"type":42,"tunes":2367},{"text":645,"level":247},{},{"id":648,"data":2369,"type":218,"tunes":2370},{"text":650},{},{"id":653,"data":2372,"type":218,"tunes":2373},{"text":655},{},{"id":658,"data":2375,"type":42,"tunes":2376},{"text":660,"level":247},{},{"id":663,"data":2378,"type":362,"tunes":2388},{"content":2379,"stretched":43,"withHeadings":14},[2380,2381,2382,2383,2384,2385,2386,2387],[667,668,669],[671,672,673],[675,676,677],[679,680,681],[683,684,685],[683,687,688],[690,691,692],[694,695,696],{},{"id":699,"data":2390,"type":218,"tunes":2391},{"text":701},{},{"id":704,"data":2393,"type":42,"tunes":2394},{"text":706,"level":247},{},{"id":709,"data":2396,"type":373,"tunes":2412},{"rows":2397,"title":732,"layout":362,"columns":2408},[2398,2400,2402,2404,2406],{"id":713,"label":714,"values":2399},[344,344,344],{"id":717,"label":718,"values":2401},[344,344,344],{"id":721,"label":722,"values":2403},[344,344,344],{"id":725,"label":726,"values":2405},[344,344,344],{"id":729,"label":730,"values":2407},[344,344,344],[2409,2410,2411],{"id":735,"label":736},{"id":738,"label":739},{"id":741,"label":742},{},{"id":745,"data":2414,"type":42,"tunes":2415},{"text":747,"level":247},{},{"id":750,"data":2417,"type":218,"tunes":2418},{"text":752},{},{"id":755,"data":2420,"type":218,"tunes":2421},{"text":757},{},{"id":760,"data":2423,"type":226,"tunes":2424},{"body":762,"title":763,"variant":233},{},{"id":766,"data":2426,"type":42,"tunes":2427},{"text":768,"level":247},{},{"id":771,"data":2429,"type":42,"tunes":2430},{"text":773,"level":246},{},{"id":776,"data":2432,"type":218,"tunes":2433},{"text":778},{},{"id":781,"data":2435,"type":218,"tunes":2436},{"text":783},{},{"id":786,"data":2438,"type":218,"tunes":2439},{"text":788},{},{"id":791,"data":2441,"type":42,"tunes":2442},{"text":793,"level":246},{},{"id":796,"data":2444,"type":218,"tunes":2445},{"text":798},{},{"id":801,"data":2447,"type":218,"tunes":2448},{"text":803},{},{"id":806,"data":2450,"type":218,"tunes":2451},{"text":808},{},{"id":811,"data":2453,"type":362,"tunes":2462},{"content":2454,"stretched":43,"withHeadings":14},[2455,2456,2457,2458,2459,2460,2461],[815,816],[818,819],[821,822],[824,825],[827,828],[830,831],[833,834],{},{"id":837,"data":2464,"type":226,"tunes":2465},{"body":839,"title":840,"variant":240},{},{"id":843,"data":2467,"type":42,"tunes":2468},{"text":845,"level":247},{},{"id":848,"data":2470,"type":362,"tunes":2481},{"content":2471,"stretched":43,"withHeadings":14},[2472,2473,2474,2475,2476,2477,2478,2479,2480],[852,853],[855,856],[858,859],[861,862],[864,865],[867,372],[869,870],[872,873],[875,876],{},{"id":879,"data":2483,"type":42,"tunes":2484},{"text":881,"level":247},{},{"id":884,"data":2486,"type":314,"tunes":2498},{"steps":2487,"title":917,"orientation":313},[2488,2489,2490,2491,2492,2493,2494,2495,2496,2497],{"label":888,"description":889},{"label":891,"description":892},{"label":894,"description":895},{"label":897,"description":898},{"label":900,"description":901},{"label":903,"description":904},{"label":906,"description":907},{"label":909,"description":910},{"label":912,"description":913},{"label":915,"description":916},{},{"id":920,"data":2500,"type":42,"tunes":2501},{"text":922,"level":247},{},{"id":925,"data":2503,"type":362,"tunes":2516},{"content":2504,"stretched":43,"withHeadings":14},[2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515],[929,930],[932,933],[935,936],[938,939],[941,942],[944,945],[947,948],[950,951],[953,954],[956,957],[959,960],{},{"id":963,"data":2518,"type":42,"tunes":2519},{"text":965,"level":247},{},{"id":968,"data":2521,"type":218,"tunes":2522},{"text":970},{},{"id":973,"data":2524,"type":218,"tunes":2525},{"text":975},{},{"id":978,"data":2527,"type":218,"tunes":2528},{"text":980},{},{"id":983,"data":2530,"type":218,"tunes":2531},{"text":985},{},{"id":988,"data":2533,"type":218,"tunes":2534},{"text":990},{},{"id":993,"data":2536,"type":42,"tunes":2537},{"text":995,"level":247},{},{"id":998,"data":2539,"type":218,"tunes":2540},{"text":1000},{},{"id":1003,"data":2542,"type":218,"tunes":2543},{"text":1005},{},{"id":1008,"data":2545,"type":218,"tunes":2546},{"text":1010},{},{"id":1013,"data":2548,"type":42,"tunes":2549},{"text":1015,"level":247},{},{"id":1018,"data":2551,"type":218,"tunes":2552},{"text":1020},{},{"id":1023,"data":2554,"type":1029,"tunes":2555},{"url":1025,"title":1026,"excerpt":1027,"ctaLabel":1028},{},{"id":1032,"data":2557,"type":218,"tunes":2558},{"text":1034},{},{"id":1037,"data":2560,"type":1029,"tunes":2561},{"url":1039,"title":1040,"excerpt":1041,"ctaLabel":1042},{},{"id":1045,"data":2563,"type":218,"tunes":2564},{"text":1047},{},{"id":1050,"data":2566,"type":42,"tunes":2567},{"text":1052,"level":247},{},{"id":1055,"data":2569,"type":1055,"tunes":2579},{"items":2570,"title":1090},[2571,2572,2573,2574,2575,2576,2577,2578],{"id":1059,"answer":1060,"question":1061},{"id":1063,"answer":1064,"question":1065},{"id":1067,"answer":1068,"question":1069},{"id":1071,"answer":1072,"question":1073},{"id":1075,"answer":1076,"question":1077},{"id":1079,"answer":1080,"question":1081},{"id":1083,"answer":1084,"question":1085},{"id":1087,"answer":1088,"question":1089},{},{"id":1093,"data":2581,"type":42,"tunes":2582},{"text":1095,"level":247},{},{"id":1098,"data":2584,"type":1098,"tunes":2600},{"title":1100,"entries":2585},[2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599],{"term":1103,"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":1138,"anchor":1139,"definition":1140},{"term":1142,"anchor":1143,"definition":1144},{"term":1146,"anchor":1147,"definition":1148},{"term":681,"anchor":1150,"definition":1151},{"term":1153,"anchor":1154,"definition":1155},{},{"id":1158,"data":2602,"type":42,"tunes":2603},{"text":1160,"level":247},{},{"id":1163,"data":2605,"type":218,"tunes":2606},{"text":1165},{},{"id":1168,"data":2608,"type":218,"tunes":2609},{"text":1170},{},{"id":1173,"data":2611,"type":218,"tunes":2612},{"text":1175},{},{"id":1178,"data":2614,"type":42,"tunes":2615},{"text":1180,"level":247},{},{"id":1183,"data":2617,"type":218,"tunes":2618},{"text":1185},{},{"id":1188,"data":2620,"type":1195,"tunes":2623},{"link":1190,"meta":2621},{"image":2622,"title":1193,"description":1194},{"url":344},{},{"id":1198,"data":2625,"type":1195,"tunes":2628},{"link":1200,"meta":2626},{"image":2627,"title":1203,"description":1204},{"url":344},{},{"id":1207,"data":2630,"type":1195,"tunes":2633},{"link":1209,"meta":2631},{"image":2632,"title":1212,"description":1213},{"url":344},{},{"id":1216,"data":2635,"type":1195,"tunes":2638},{"link":1218,"meta":2636},{"image":2637,"title":1221,"description":1222},{"url":344},{},{"id":1225,"data":2640,"type":1195,"tunes":2643},{"link":1227,"meta":2641},{"image":2642,"title":1230,"description":1231},{"url":344},{},{"id":1234,"data":2645,"type":1195,"tunes":2648},{"link":1236,"meta":2646},{"image":2647,"title":1239,"description":1240},{"url":344},{},{"id":1243,"data":2650,"type":1195,"tunes":2653},{"link":1245,"meta":2651},{"image":2652,"title":1248,"description":1249},{"url":344},{},"Post erfolgreich abgerufen",{"items":2656,"source":2740,"manualIds":2741,"manualMatchedIds":2742},[2657,2664,2671,2678,2685,2692,2698,2705,2712,2719,2726,2733],{"id":2658,"slug":2659,"title":2660,"excerpt":2661,"featuredImage":2662,"publishedAt":2663},"489","agentic-ai-explained-when-an-ai-system-can-plan-use-tools-and-act","Agentna AI objašnjena: Kada AI sistem može da planira, koristi alate i deluje","Agentna AI koristi modele unutar višekoračnih izvršnih petlji gde mogu da biraju alate, posmatraju rezultate, ažuriraju stanje i prilagode svoju sledeću akciju unutar eksplicitnih granica izvršavanja i dozvola.","\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":2665,"slug":2666,"title":2667,"excerpt":2668,"featuredImage":2669,"publishedAt":2670},"492","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","MCP objašnjen: Šta povezuje, šta ne radi i gde se uklapa","Model Context Protocol povezuje AI aplikacije sa eksternim alatima, resursima i promptovima kroz standardnu granicu klijent-server. Saznajte šta MCP radi, šta ne radi i gde se uklapa u arhitekturu agenata.","\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":2672,"slug":2673,"title":2674,"excerpt":2675,"featuredImage":2676,"publishedAt":2677},"472","why-more-context-can-make-ai-answers-worse","Zašto više konteksta može pogoršati AI odgovore","Veći kontekstni prozor ne garantuje bolji odgovor. Ovaj članak objašnjava kako razblaživanje signala, protivrečni dokazi, zastarelo stanje, osetljivost na poziciju i kompresija sa gubicima mogu smanjiti pouzdanost veštačke inteligencije—i uvodi praktičan test pritiska konteksta.","\u002Fuploads\u002F2026\u002F09\u002Fwhy-more-context-can-make-ai-answers-worse-1790351615793-2ntv2v.webp","2026-09-25T11:51:00.000Z",{"id":2679,"slug":2680,"title":2681,"excerpt":2682,"featuredImage":2683,"publishedAt":2684},"483","what-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs","Šta je AI rešenje arhitekta? Granice sistema, odgovornosti i kompromisi","AI Solution Architect pretvara poslovne zahteve u AI sistem spreman za produkciju, obuhvatajući podatke, modele, alate, bezbednost, izvršno okruženje, evaluaciju i operacije.","\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":2686,"slug":2687,"title":2688,"excerpt":2689,"featuredImage":2690,"publishedAt":2691},"484","what-is-an-ai-platform-architect-models-data-runtime-security-and-operations","Šta je arhitekta AI platforme? Modeli, podaci, izvršno okruženje, bezbednost i operacije","Arhitekta AI platforme projektuje višekratno upotrebljive AI temelje kroz modele, provajdere, pretragu, agente, identitet, bezbednost, evaluaciju, opservabilnost i operacije.","\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":2693,"slug":2694,"title":1026,"excerpt":2695,"featuredImage":2696,"publishedAt":2697},"478","what-is-rag-the-simplest-explanation-of-how-it-works","RAG zvuči komplikovano, ali ideja je jednostavna: pre nego što AI odgovori, prvo potraži korisne informacije iz izvora znanja i daje te informacije jezičkom modelu. Ovaj vodič objašnjava RAG, LLM-ove, stanje, memoriju i alate koristeći jedan jednostavan mentalni model.","\u002Fuploads\u002F2026\u002F09\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works-1790377492124-khjagt.webp","2026-09-25T19:03:00.000Z",{"id":2699,"slug":2700,"title":2701,"excerpt":2702,"featuredImage":2703,"publishedAt":2704},"480","when-should-an-ai-stop-trusting-its-own-knowledge-the-retrieval-trigger","Kada bi AI trebalo da prestane da veruje sopstvenom znanju? — Okidač za pretragu","AI model ne zahteva pretragu za svako pitanje. Važan problem je znati kada njegovo interno znanje više nije dovoljno. Okidač za pretragu je praktična granica odlučivanja koja određuje kada AI sistem treba da prestane da se oslanja isključivo na znanje modela i pribavi spoljne dokaze pre odgovaranja.","\u002Fuploads\u002F2026\u002F09\u002Fwhen-should-an-ai-stop-trusting-its-own-knowledge-the-retrieval-trigger-1790574991244-f4rpyg.webp","2026-09-28T01:49:00.000Z",{"id":2706,"slug":2707,"title":2708,"excerpt":2709,"featuredImage":2710,"publishedAt":2711},"479","where-does-an-llm-get-its-data-rag-data-sources-in-python","Odakle LLM dobija svoje podatke? RAG izvori podataka u Python-u","LLM ne zna magično vaše fajlove, baze podataka ili API-je. Ovaj praktični nastavak RAG serije pokazuje, uz jednostavan Python, kako eksterni podaci postaju dokazi koji se mogu pronaći: od tekstualnih fajlova i SQL-a do pretrage punog teksta, embeddinga, sastavljanja konteksta i konačnog LLM poziva.","\u002Fuploads\u002F2026\u002F09\u002Fwhere-does-an-llm-get-its-data-rag-data-sources-in-python-1790517200521-nfsi5i.webp","2026-09-27T05:51:00.000Z",{"id":2713,"slug":2714,"title":2715,"excerpt":2716,"featuredImage":2717,"publishedAt":2718},"494","air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","Air-Gapped AI: Kako AI sistemi funkcionišu bez interneta ili pristupa oblaku","Air-gapped AI pokreće modele, RAG i AI aplikacije unutar izolovanog bezbednosnog domena bez internet ili cloud zavisnosti. Saznajte kako modeli, podaci, ažuriranja i alati funkcionišu offline.","\u002Fuploads\u002F2026\u002F10\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access-1791487983978-e6xqf0.webp","2026-10-08T11:32:00.000Z",{"id":2720,"slug":2721,"title":2722,"excerpt":2723,"featuredImage":2724,"publishedAt":2725},"481","generative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing","Generativna veštačka inteligencija objašnjena: modeli, pretraga, alati i aplikacije nisu ista stvar","Generativna AI je više od modela. Saznajte kako se modeli, pretraga, alati, kontekst, okruženja i aplikacije uklapaju u produkcione AI sisteme.","\u002Fuploads\u002F2026\u002F10\u002Fgenerative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing-1791475411822-pp0dvz.webp","2026-10-08T12:00:00.000Z",{"id":2727,"slug":2728,"title":2729,"excerpt":2730,"featuredImage":2731,"publishedAt":2732},"486","source-of-truth-in-ai-systems-where-reliable-knowledge-actually-comes-from","Izvor istine u AI sistemima: Odakle pouzdano znanje zaista dolazi","Izvor istine definiše koji je izvor merodavan za određenu činjenicu ili stanje. Saznajte kako se razlikuje od RAG-a, porekla, memorije, konteksta, vektorskih baza podataka i sistema evidencije.","\u002Fuploads\u002F2026\u002F10\u002Fsource-of-truth-in-ai-systems-where-reliable-knowledge-actually-comes-from-1791479103235-6bq9em.webp","2026-10-08T13:02:00.000Z",{"id":2734,"slug":2735,"title":2736,"excerpt":2737,"featuredImage":2738,"publishedAt":2739},"488","what-is-context-engineering-what-the-model-receives-before-it-answers","Šta je kontekstualno inženjerstvo? Šta model prima pre nego što odgovori","Inženjering konteksta osmišljava koje informacije AI model prima pre inferencije, uključujući promptove, pretragu, memoriju, stanje aplikacije, rezultate alata i istoriju konverzacije.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers-1791480653258-018kcv.webp","2026-10-08T13:29:00.000Z","fallback",[],[]]