[{"data":1,"prerenderedAt":775},["ShallowReactive",2],{"blog-reranking-models-compared-de":3},{"slug":4,"published":5,"updated":6,"minutes":7,"category":8,"tags":9,"keywords":15,"about":26,"sources":36,"cover":73,"og":74,"expertise":75,"locales":76,"lang":78,"title":80,"description":81,"coverAlt":82,"metaTitle":83,"takeaways":84,"faq":90,"toc":106,"blocks":134,"others":523},"reranking-models-compared","2026-09-30","2026-10-01",8,"rag",[10,11,12,13,14],"Reranking","RAG","Search","Cross-encoders","Evaluation",[16,17,18,19,20,21,22,23,24,25],"cross-encoder reranker comparison","Cohere Rerank 4 pricing","bge-reranker-v2-m3","Voyage rerank-3","Jina reranker v3.5","ColBERT late interaction vs reranker","LLM as reranker","reciprocal rank fusion vs reranker","reranking top-k evaluation","self-hosted reranker ONNX CPU",[27,30,33],{"name":28,"url":29},"Learning to rank","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLearning_to_rank",{"name":31,"url":32},"BERT (language model)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBERT_%28language_model%29",{"name":34,"url":35},"Information retrieval","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInformation_retrieval",[37,40,43,46,49,52,55,58,61,64,67,70],{"title":38,"url":39},"Sentence-BERT (arXiv 1908.10084)","https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.10084",{"title":41,"url":42},"Sentence Transformers: retrieve and re-rank","https:\u002F\u002Fsbert.net\u002Fexamples\u002Fsentence_transformer\u002Fapplications\u002Fretrieve_rerank\u002FREADME.html",{"title":44,"url":45},"BAAI\u002Fbge-reranker-v2-m3 model card","https:\u002F\u002Fhuggingface.co\u002FBAAI\u002Fbge-reranker-v2-m3",{"title":47,"url":48},"Cohere docs: reranking best practices","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Freranking-best-practices",{"title":50,"url":51},"Cohere pricing","https:\u002F\u002Fcohere.com\u002Fpricing",{"title":53,"url":54},"Voyage AI blog: rerank-3 (30 Sep 2026)","https:\u002F\u002Fblog.voyageai.com\u002F2026\u002F09\u002F30\u002Frerank-3\u002F",{"title":56,"url":57},"Voyage AI docs: pricing","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fpricing",{"title":59,"url":60},"Jina AI: Reranker v3.5 (3 Aug 2026)","https:\u002F\u002Fjina.ai\u002Fnews\u002Fjina-reranker-v3-5-faster-listwise-reranking-hybrid-attention-self-distillation\u002F",{"title":62,"url":63},"ColBERTv2 (arXiv 2112.01488)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2112.01488",{"title":65,"url":66},"Elasticsearch docs: reciprocal rank fusion","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Felasticsearch\u002Frest-apis\u002Freciprocal-rank-fusion",{"title":68,"url":69},"Azure AI Search: semantic ranking overview","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsemantic-search-overview",{"title":71,"url":72},"RankGPT (arXiv 2304.09542)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2304.09542","\u002Fimages\u002Fblog\u002Freranking-models-compared\u002Fcover.webp","\u002Fimages\u002Fblog\u002Freranking-models-compared\u002Fog.jpg","ai-engineer",[77,78,79],"en","de","hu","Cross-Encoder-Reranker im Vergleich: Cohere, bge, Voyage, Jina und Late Interaction (2026)","Reranker im Oktober 2026: pointwise, listwise und Late Interaction, Cohere, Voyage, bge, Qwen3, Jina und mxbai, Preise, Self-Hosting und die Wahl von k.","Ein Trichter verengt viele Karten auf fünf, eine Karte wird nach vorn gehoben.","Cross-Encoder-Reranker im Vergleich · Balázs Csorba",[85,86,87,88,89],"Ein Reranker bewertet Anfrage und Dokument gemeinsam, das ist genau, aber zu langsam für den ganzen Korpus, daher ordnet er die Top-k einer schnellen ersten Stufe neu.","Drei Architekturen konkurrieren: pointwise Cross-Encoder, listwise Reranker, die alle Kandidaten auf einmal lesen, und Late Interaction mit gespeicherten Token-Vektoren; RRF braucht gar kein Modell.","Stand Oktober 2026 rechnet Cohere pro Suche ab ($2,00 bis $2,50 pro 1.000) und Voyage pro Token ($0,02 bis $0,05 pro Million); offene Modelle wie bge-reranker-v2-m3 und Qwen3-Reranker stehen unter Apache-2.0.","Die zusätzliche Latenz wächst linear mit k; starten Sie bei einem Herstellerstandard wie Azures Top 50 und justieren Sie mit einer kleinen gelabelten Evaluierung, nicht mit Ranglisten.","Benchmark-Angaben der Anbieter sind nicht unabhängig; eine Evaluierung mit 50 Anfragen auf Ihren Daten entscheidet über Modell, k und darüber, ob Sie überhaupt einen Reranker brauchen.",[91,94,97,100,103],{"q":92,"a":93},"Was macht ein Reranker in RAG?","Er nimmt die besten Kandidaten eines schnellen ersten Retrievers, bewertet jeden gemeinsam mit der Anfrage und ordnet sie neu, damit die relevantesten Chunks beim Modell ankommen. Weil er Anfrage und Dokument zusammen liest, ist er genauer als Embedding-Ähnlichkeit, aber zu langsam für den ganzen Korpus.",{"q":95,"a":96},"Welchen Reranker sollte man 2026 nutzen?","Als gehostete API sind Cohere Rerank 4 und Voyage rerank-3 Stand Oktober 2026 die aktuellen Linien. Zum Selbsthosten ist bge-reranker-v2-m3 (0.6B, Apache-2.0) ein verbreiteter mehrsprachiger Standard, mit Qwen3-Reranker, Jina Reranker v3.5 und mxbai-rerank-v2 als Alternativen. Entscheiden Sie mit einer kleinen Evaluierung auf Ihren eigenen Anfragen.",{"q":98,"a":99},"Was kostet Reranking?","Cohere verlangt $2,00 pro 1.000 Suchen für Rerank 4 Fast und $2,50 für Rerank 4 Pro, wobei eine Suche eine Anfrage mit bis zu 100 Dokumenten ist. Voyage verlangt $0,05 pro Million Tokens für rerank-3 und $0,02 für rerank-3-lite. Beim Selbsthosten kostet die Rechenzeit für k Paare pro Anfrage.",{"q":101,"a":102},"Wie viele Dokumente sollte man reranken?","Beginnen Sie mit 50 bis 100 Kandidaten und geben Sie 5 bis 20 zurück. Azure AI Search rerankt standardmäßig die Top 50. Die Latenz wächst linear mit der Zahl der Paare, also messen Sie Recall beim gewählten k und die zusätzliche Latenz und erhöhen Sie k nicht weiter, wenn der Recall nicht mehr steigt.",{"q":104,"a":105},"Ersetzt Reciprocal Rank Fusion einen Reranker?","Meist nicht. RRF führt Ranglisten mehrerer Retriever per Rangarithmetik ohne Modell zusammen, günstig und robust. Ein Reranker liest den Text und kann die Reihenfolge innerhalb der fusionierten Liste korrigieren. Viele Systeme fusionieren BM25- und Vektortreffer per RRF und reranken dann die Spitze dieser Liste.",[107,110,113,116,119,122,125,128,131],{"id":108,"title":109},"what-a-reranker-buys","Was ein Reranker bringt und was er kostet",{"id":111,"title":112},"pointwise-listwise-late-interaction","Wie Reranker bewerten: Paare, Listen und Token-Vektoren",{"id":114,"title":115},"models-compared-2026","Die Modelle 2026",{"id":117,"title":118},"pricing-and-self-hosting","Preise: pro Suche, pro Token oder die eigene CPU",{"id":120,"title":121},"late-interaction-alternatives","Late Interaction als Alternative",{"id":123,"title":124},"llm-as-reranker-and-rrf","LLM-Reranker und wann RRF allein reicht",{"id":126,"title":127},"choosing-k-and-evaluating","k und Modell mit einer kleinen Evaluierung wählen",{"id":129,"title":130},"trade-offs-and-checklist","Wann kein Reranker nötig ist, und eine Checkliste",{"id":132,"title":133},"sources","Quellen",[135,144,153,156,168,174,181,184,185,188,192,199,200,223,333,353,360,363,364,374,380,388,389,407,408,419,434,435,442,444,451,452,455,472,484,485],{"type":136,"content":137},"paragraph",[138,139,143],"Ein ",{"tag":140,"children":141},"strong",[142],"Reranker"," liest eine Anfrage und ein Kandidatendokument gemeinsam und liefert einen Relevanzwert. Das ist genauer als der Vergleich zweier Embeddings und viel zu langsam für einen ganzen Korpus. Deshalb ist Suche zweistufig: Ein schneller Retriever findet 50 bis 250 Kandidaten, und ein Cross-Encoder ordnet sie neu, damit die besten wenigen beim Modell ankommen. Zu entscheiden ist, welcher Reranker, wie viele Kandidaten und ob der Gewinn die Latenz wert ist.",{"type":136,"content":145},[146,147,152],"Dieser Artikel vergleicht die Bewertungsarchitekturen, die Modelle Stand Oktober 2026, gehostete Preise und Self-Hosting, Late Interaction und LLM-Reranker als Alternativen sowie eine kleine Evaluierung zur Wahl von k. Wo Reranking in der gesamten Pipeline sitzt, steht in ",{"tag":148,"to":149,"children":150},"link","\u002Fblog\u002Frag-pipeline-chunking-hybrid-search-reranking",[151],"RAG-Pipelines: Chunking, hybride Suche und Reranking",".",{"type":154,"level":155,"id":108,"text":109},"heading",2,{"type":136,"content":157},[158,159,163,164,167],"Ein Reranker bringt Präzision an der Spitze der Liste und kostet Latenz proportional zu k. Warum er die Suche nicht ersetzen kann, ist Arithmetik: Das Sentence-BERT-Paper hält fest, dass das ähnlichste Paar unter 10.000 Sätzen etwa 50 Millionen BERT-Inferenzen braucht, rund 65 Stunden, was es „für semantische Ähnlichkeitssuche ungeeignet“ macht (",{"tag":160,"href":39,"children":161},"a",[162],"SBERT","). Die dokumentierte Produktionsform ist daher ein Bi-Encoder, der Kandidaten findet, und ein Cross-Encoder, der sie neu ordnet (",{"tag":160,"href":42,"children":165},[166],"Sentence Transformers",").",{"type":169,"src":170,"alt":171,"wide":172,"caption":173},"image","\u002Fimages\u002Fblog\u002Freranking-models-compared\u002Fdiagram-4.webp","Zweistufige Suche mit Reranker Fünf Schritte von links nach rechts: die Anfrage; hybride Suche mit BM25 und dichten Vektoren, die in einigen zehn Millisekunden 100 bis 250 Kandidaten liefert; Reciprocal Rank Fusion, die die Listen zusammenführt; der Cross-Encoder, der k Paare aus Anfrage und Dokument bewertet, die größte zusätzliche Latenz, die linear mit k wächst; und die Top 5 bis 20, die an die Antwort gehen.",true,"Die erste Stufe ist günstig und breit; der Reranker ist teuer und schmal, und seine Kosten bestimmt k.",{"type":136,"content":175},[176,177,152],"Die zwei Zahlen, die man vorher kennen sollte, sind der Recall der ersten Stufe bei k und die zusätzliche Latenz für k Paare. Ist das richtige Dokument nicht in den Top 100, findet es kein Reranker; steht es auf Platz 30 und Sie zeigen fünf Treffer, ist ein Reranker genau die Lösung. Produktsuche mit Teilenummern und langen deutschen Komposita ist ein typischer Fall, in dem der richtige Artikel gefunden, aber zu tief eingeordnet wird, siehe ",{"tag":148,"to":178,"children":179},"\u002Fblog\u002Fsemantic-product-search-b2b",[180],"semantische Produktsuche im B2B",{"type":136,"content":182},[183],"Die zweite Zahl ist so wichtig wie die erste. Jeder Kandidat ist für ein pointwise Modell ein weiterer Durchlauf, der Schritt von 50 auf 200 Kandidaten vervierfacht also ungefähr die Reranking-Zeit. In einem interaktiven Suchfeld merkt der Nutzer das; bei einer RAG-Antwort, die ohnehin Sekunden auf die Generierung wartet, spielt es vielleicht keine Rolle. Halten Sie das Latenzbudget fest, bevor Sie Modelle vergleichen, denn es entscheidet, welche Hälfte der Tabelle unten überhaupt infrage kommt.",{"type":154,"level":155,"id":111,"text":112},{"type":136,"content":186},[187],"Es gibt drei Architekturen plus Fusion ohne Modell. Ein pointwise Cross-Encoder verkettet Anfrage und ein Dokument und gibt einen Relevanz-Logit aus, k Kandidaten bedeuten also k Durchläufe. Ein listwise Reranker legt Anfrage und alle Kandidaten in ein Kontextfenster und ordnet sie in einem Durchlauf. Late Interaction speichert beim Indexieren einen Vektor pro Token und gleicht Anfrage-Tokens per MaxSim dagegen ab, was den Großteil der Arbeit aus dem Anfragepfad verlagert.",{"type":169,"src":189,"alt":190,"wide":172,"caption":191},"\u002Fimages\u002Fblog\u002Freranking-models-compared\u002Fdiagram-9.webp","Vier Arten, Kandidaten zu bewerten Vier Spalten. Pointwise Cross-Encoder: Anfrage und ein Dokument werden verkettet, das Modell liefert einen Relevanzwert; gerechnet wird pro Paar zur Anfragezeit. Listwise Reranker: Anfrage und alle Kandidaten teilen sich einen langen Kontext; gerechnet wird einmal pro Liste zur Anfragezeit. Late Interaction: Token-Vektoren werden beim Indexieren gespeichert und zur Anfragezeit per MaxSim abgeglichen; die Rechenlast teilt sich auf Indexierung und Anfrage. RRF: nur Rangpositionen werden kombiniert; kein Modell läuft.","Cross-Encoder und listwise Reranker rechnen zur Anfragezeit, Late Interaction verlagert einen Teil ins Indexieren, und RRF rechnet fast gar nicht.",{"type":136,"content":193},[194,195,198],"Jina Reranker v3 ist das deutlichste listwise Beispiel: ein 0.6B-Modell, das Anfrage und alle Kandidaten in einem Fenster liest, von Jina als „last but not late interaction“ beschrieben. Version 3.5 vom August 2026 behält 0.6B Parameter, erweitert den Kontext auf 131K Tokens und meldet bis zu 1,56-mal schnelleres Reranking als v3 (",{"tag":160,"href":60,"children":196},[197],"Jina","). Listwise Modelle sehen die Kandidaten im Verhältnis zueinander, was bei Beinahe-Dubletten hilft, aber die ganze Liste muss in den Kontext passen.",{"type":154,"level":155,"id":114,"text":115},{"type":136,"content":201},[202,203,207,208,211,212,207,215,218,219,222],"Stand Oktober 2026 sind die gehosteten Linien Cohere Rerank 4, im Dezember 2025 als ",{"tag":204,"children":205},"code",[206],"rerank-v4.0-pro"," und ",{"tag":204,"children":209},[210],"rerank-v4.0-fast"," mit 32k Kontext erschienen, sowie Voyage ",{"tag":204,"children":213},[214],"rerank-3",{"tag":204,"children":216},[217],"rerank-3-lite"," vom 30. September 2026, ebenfalls mit 32k. Voyage meldet für rerank-3 2,72 Prozent mehr als Cohere Rerank 4 Pro über 95 Datensätze (",{"tag":160,"href":54,"children":220},[221],"Voyage","); das ist eine Herstellerangabe auf einer Hersteller-Testreihe, kein unabhängiges Ergebnis. Die offenen Modelle sind für kommerzielles Self-Hosting lizenziert.",{"type":224,"head":225,"rows":236},"table",[226,228,230,232,234],[227],"Modell (Okt. 2026)",[229],"Architektur",[231],"Größe \u002F Kontext",[233],"Gehosteter Preis",[235],"Lizenz \u002F Hinweise",[237,248,257,265,274,283,292,303,312,322],[238,240,242,244,246],[239],"Cohere Rerank 4 Pro",[241],"Cross-Encoder",[243],"32k",[245],"$2,50 \u002F 1.000 Suchen",[247],"API, mehrsprachig",[249,251,252,253,255],[250],"Cohere Rerank 4 Fast",[241],[243],[254],"$2,00 \u002F 1.000 Suchen",[256],"API, niedrige Latenz",[258,259,260,261,263],[19],[241],[243],[262],"$0,05 \u002F 1 Mio. Tokens",[264],"API, seit Sep. 2026",[266,268,269,270,272],[267],"Voyage rerank-3-lite",[241],[243],[271],"$0,02 \u002F 1 Mio. Tokens",[273],"API, günstige Stufe",[275,276,277,279,281],[18],[241],[278],"0.6B \u002F 8k",[280],"Self-Hosting",[282],"Apache-2.0",[284,286,288,290,291],[285],"Qwen3-Reranker-8B",[287],"LLM-basierter Cross-Encoder",[289],"8B",[280],[282],[293,295,297,299,301],[294],"Jina Reranker v3.5",[296],"listwise",[298],"0.6B \u002F 131K",[300],"API oder Self-Hosting",[302],"Lizenz und Preis prüfen",[304,306,307,309,310],[305],"mxbai-rerank-large-v2",[241],[308],"1.5B",[280],[311],"Apache-2.0, über 100 Sprachen",[313,315,317,319,320],[314],"ColBERTv2",[316],"Late Interaction",[318],"Token-Vektoren",[280],[321],"speicherintensiver Index",[323,325,327,329,331],[324],"RRF",[326],"Rangfusion",[328],"kein Modell",[330],"kostenlos",[332],"in Elasticsearch eingebaut",{"type":136,"content":334},[335,338,339,342,343,345,346,348,349,167],{"tag":204,"children":336},[337],"BAAI\u002Fbge-reranker-v2-m3"," ist der verbreitete offene Standard: ein mehrsprachiger 0.6B-Cross-Encoder auf XLM-RoBERTa-Basis, Apache-2.0, mit mehr als 15 Millionen Downloads im letzten Monat (",{"tag":160,"href":45,"children":340},[341],"Hugging Face","). ",{"tag":204,"children":344},[285]," ist die schwere offene Option aus der Qwen3-Embedding-Reihe, und ",{"tag":204,"children":347},[305]," von mixedbread liegt mit 1,54B Parametern, etwa 3,09 GB in FP16, dazwischen und deckt mehr als 100 Sprachen ab (",{"tag":160,"href":350,"children":351},"https:\u002F\u002Fhuggingface.co\u002Fmixedbread-ai\u002Fmxbai-rerank-large-v2",[352],"mixedbread",{"type":354,"variant":355,"title":356,"body":357},"callout","warn","Herstellerzahlen sind Herstellerzahlen",[358],[359],"Voyages Vergleich mit Cohere und Qwen3, Jinas BEIR-Gewinne und Coheres eigene Qualitätsangaben werden alle vom Anbieter des Modells gemessen, auf selbst gewählten Testreihen. Keine davon wurde in den hier genutzten Quellen unabhängig reproduziert, und die öffentliche MTEB-Reranking-Rangliste ändert sich zu oft, um sie zu zitieren. Nutzen Sie diese Zahlen für eine Shortlist, nie für die endgültige Wahl.",{"type":136,"content":361},[362],"Zwei praktische Unterschiede zählen mehr als ein Punkt nDCG. Die Kontextlänge entscheidet, ob ein langes Produktdatenblatt oder eine Vertragsklausel als ein Dokument passt oder geteilt werden muss; Coheres v4-Modelle teilen Dokumente bei 32.764 Tokens und behalten den höchsten Chunk-Wert. Die Sprachabdeckung entscheidet, ob deutsche und ungarische Anfragen so gut funktionieren wie englische, weshalb die mehrsprachigen Modelle von bge, mxbai und Cohere die üblichen Kandidaten für europäische Inhalte sind.",{"type":154,"level":155,"id":117,"text":118},{"type":136,"content":365},[366,367,370,371,167],"Gehostete Reranker werden in zwei verschiedenen Einheiten abgerechnet, was den schnellen Vergleich erschwert. Cohere rechnet pro Suche ab: $2,00 pro 1.000 für Rerank 4 Fast und $2,50 für Rerank 4 Pro, wobei eine Suche eine Anfrage mit bis zu 100 Dokumenten ist und Dokumente über 500 Tokens mehrfach zählen (",{"tag":160,"href":51,"children":368},[369],"Cohere-Preise","). Voyage rechnet pro Token ab: $0,05 pro Million für rerank-3 und $0,02 für rerank-3-lite (",{"tag":160,"href":57,"children":372},[373],"Voyage-Preise",{"type":136,"content":375},[376,377,167],"Rechnen Sie beides vor der Wahl in dieselbe Arithmetik um. Bei 100 Kandidaten mit je etwa 300 Tokens ist eine Anfrage rund 30.000 Tokens: etwa $0,0015 bei rerank-3 und $0,0025 bei Rerank 4 Pro. Bei längeren Chunks kippt das Verhältnis, weil Cohere pro Dokument und Voyage pro Token zählt. Cohere dokumentiert außerdem nützliche Grenzen: eine Obergrenze von 2.048 Tokens pro Anfrage und die Empfehlung, nicht mehr als 1.000 Dokumente pro Request zu senden (",{"tag":160,"href":48,"children":378},[379],"Cohere",{"type":136,"content":381},[382,383,387],"Beim Self-Hosting wird der Preis zu Rechenzeit. Auf der CPU ist die Größe die praktische Grenze: FastEmbeds ONNX-Reranker reichen von 0,08 GB für ms-marco-MiniLM-L-6-v2 bis 1,11 GB für jina-reranker-v2-base-multilingual, das nur für nicht-kommerzielle Nutzung lizenziert ist (",{"tag":160,"href":384,"children":385},"https:\u002F\u002Fqdrant.github.io\u002Ffastembed\u002Fexamples\u002FSupported_Models\u002F",[386],"FastEmbed","). Einen primären Benchmark für die CPU-Latenz pro Paar habe ich nicht gefunden, messen Sie also auf eigener Hardware mit eigener Chunk-Länge, bevor Sie sich festlegen. Auf meiner eigenen Nuxt-Seite, auf der ich LLM-Funktionen betreibe, ist der günstige Weg für solche Probleme hybride Suche plus ein kleines ONNX-Modell auf dem Server, nicht ein LLM-Aufruf pro Anfrage.",{"type":154,"level":155,"id":120,"text":121},{"type":136,"content":390},[391,392,394,395,399,400,403,404,167],"Late Interaction ist ein anderer Zielkonflikt, kein besserer Cross-Encoder. ColBERTv2 hält einen Vektor pro Token, senkt den Speicherbedarf von Late-Interaction-Modellen per Residualkompression um das Sechs- bis Zehnfache und bewertet zur Anfragezeit mit günstigem MaxSim (",{"tag":160,"href":63,"children":393},[314],"). Bezahlt wird mit Indexgröße statt Anfragelatenz, was zu großem k und hohem Anfragevolumen passt. Für Seitenbilder treibt dieselbe Idee ColPali an, beschrieben in ",{"tag":148,"to":396,"children":397},"\u002Fblog\u002Fmultimodal-rag-colpali",[398],"multimodalem RAG mit ColPali",". Die Bibliothek ",{"tag":204,"children":401},[402],"rerankers"," bündelt Cross-Encoder, APIs und Late-Interaction-Modelle hinter einer Schnittstelle, was den Austausch in einer Evaluierung leicht macht (",{"tag":160,"href":405,"children":406},"https:\u002F\u002Fgithub.com\u002FAnswerDotAI\u002Frerankers",[402],{"type":154,"level":155,"id":123,"text":124},{"type":136,"content":409},[410,411,414,415,418],"Ein allgemeines LLM kann reranken, ist aber selten der günstigste Weg. RankGPT zeigte, dass ein gut instruiertes GPT-4 auf IR-Benchmarks mit überwachten Rerankern mithalten oder sie übertreffen kann und dass ein destilliertes 440M-Modell ein überwachtes 3B-Modell auf BEIR schlug (",{"tag":160,"href":72,"children":412},[413],"RankGPT","). Voyages eigene Studie argumentiert dagegen und meldet spezialisierte Reranker als bis zu 60-mal günstiger und 48-mal schneller als LLMs (",{"tag":160,"href":416,"children":417},"https:\u002F\u002Fblog.voyageai.com\u002F2025\u002F10\u002F22\u002Fthe-case-against-llms-as-rerankers\u002F",[221],"); beide Quellen haben ein Interesse, also testen Sie mit Ihren Daten.",{"type":136,"content":420},[421,422,425,426,429,430,433],"Reciprocal Rank Fusion ist der günstigste Schritt und oft der erste, den man ergänzt. Sie führt Ranglisten mehrerer Retriever nur anhand ihrer Positionen zusammen; Elasticsearch implementiert sie mit ",{"tag":204,"children":423},[424],"rank_constant",", standardmäßig 60, und ",{"tag":204,"children":427},[428],"rank_window_size"," (",{"tag":160,"href":66,"children":431},[432],"Elastic","). RRF reicht, wenn BM25 und Vektorsuche jeweils andere gute Treffer finden und die Spitze der fusionierten Liste schon stimmt. Ergänzen Sie ein Modell, wenn das richtige Dokument regelmäßig in den fusionierten Top 50, aber nicht in den Top 5 landet.",{"type":154,"level":155,"id":126,"text":127},{"type":136,"content":436},[437,438,441],"Starten Sie bei einem bekannten Standard und lassen Sie ein kleines gelabeltes Set ihn verschieben. Der semantische Ranker von Azure AI Search nimmt nur die Top 50 mit und nutzt bis zu 2.000 Tokens pro Dokument, ausgehend von einer BM25- oder RRF-Ergebnismenge (",{"tag":160,"href":69,"children":439},[440],"Azure","). Das ist ein vernünftiges Start-k. Labeln Sie dann 50 echte Anfragen mit den Dokumenten, die sie beantworten sollten, und messen Sie Recall bei 10 vor und nach dem Reranking für k von 25, 50 und 100.",{"type":204,"code":443},"# A small reranker eval: 50 labelled queries, recall@k before and after reranking\nfrom sentence_transformers import CrossEncoder\n\nreranker = CrossEncoder(\"BAAI\u002Fbge-reranker-v2-m3\")\n\ndef recall_at(ranked_ids, relevant_ids, n):\n    return len(set(ranked_ids[:n]) & relevant_ids) \u002F len(relevant_ids)\n\nfor k in (25, 50, 100):\n    before, after = [], []\n    for q in labelled_queries:                       # [{\"text\": ..., \"relevant\": {...}}]\n        hits = first_stage(q[\"text\"], k=k)           # your hybrid search: [(id, text), ...]\n        scores = reranker.predict([(q[\"text\"], t) for _, t in hits])\n        reranked = [i for (i, _), _ in sorted(zip(hits, scores), key=lambda p: -p[1])]\n        before.append(recall_at([i for i, _ in hits], q[\"relevant\"], 10))\n        after.append(recall_at(reranked, q[\"relevant\"], 10))\n    print(k, sum(before) \u002F len(before), sum(after) \u002F len(after))",{"type":136,"content":445},[446,447,152],"Erhöhen Sie k nicht weiter, wenn der Recall bei 10 nicht mehr steigt, und wägen Sie das gegen die gemessene Latenz ab. Führen Sie dasselbe Skript mit zwei oder drei Modellen aus und behalten Sie das günstigste, das höchstens einen Punkt unter dem besten liegt. Wiederholen Sie es nach jedem Wechsel des Embedding-Modells, denn die erste Stufe entscheidet, was der Reranker sieht. Wie man solche Evaluierungen in einen Release-Prozess einbaut, steht in ",{"tag":148,"to":448,"children":449},"\u002Fblog\u002Fllm-evals-for-product-features",[450],"LLM-Evals für Produktfunktionen",{"type":154,"level":155,"id":129,"text":130},{"type":136,"content":453},[454],"Verzichten Sie auf den Reranker, wenn die erste Stufe die richtige Antwort schon unter die ersten Treffer bringt, wenn exakte Bezeichner die Anfragen dominieren und BM25 sie findet oder wenn das Latenzbudget k zusätzliche Durchläufe nicht verkraftet. Dann bringen besseres Chunking, Metadatenfilter oder RRF mehr für weniger. Ergänzen Sie einen, wenn die Evaluierung relevante Dokumente knapp unter der Grenze zeigt.",{"type":456,"ordered":172,"items":457},"list",[458,460,462,464,466,468,470],[459],"Recall der ersten Stufe bei k messen, bevor ein Reranker gewählt wird.",[461],"BM25- und Vektortreffer per RRF fusionieren, bevor ein Modell dazukommt.",[463],"Mit k = 50 beginnen und 5 bis 20 Treffer zurückgeben.",[465],"Gehostete Preise bei Ihrer Chunk-Länge in Kosten pro Anfrage umrechnen.",[467],"Vor dem Self-Hosting die Lizenz prüfen; manche Reranker sind nicht-kommerziell.",[469],"Zusätzliche Latenz auf eigener Hardware messen, nicht aus veröffentlichten Zahlen übernehmen.",[471],"Die Evaluierung mit 50 Anfragen nach jedem Modell- oder Chunking-Wechsel wiederholen.",{"type":136,"content":473},[474,475,479,480,152],"Wenn Sie die Suche für ein RAG-System oder eine Produktsuche abstimmen und die Reranker-Entscheidung mit Zahlen belegen wollen, sehen Sie sich meine ",{"tag":148,"to":476,"children":477},"\u002Fexpertise\u002Fai-engineer",[478],"KI-Engineering-Arbeit"," an. Die Wahl des Vektorspeichers darunter behandelt ",{"tag":148,"to":481,"children":482},"\u002Fblog\u002Fqdrant",[483],"die Qdrant-Besprechung",{"type":154,"level":155,"id":132,"text":133},{"type":456,"ordered":172,"items":486},[487,490,493,496,499,502,505,508,511,514,517,520],[488],{"tag":160,"href":39,"children":489},[38],[491],{"tag":160,"href":42,"children":492},[41],[494],{"tag":160,"href":45,"children":495},[44],[497],{"tag":160,"href":48,"children":498},[47],[500],{"tag":160,"href":51,"children":501},[50],[503],{"tag":160,"href":54,"children":504},[53],[506],{"tag":160,"href":57,"children":507},[56],[509],{"tag":160,"href":60,"children":510},[59],[512],{"tag":160,"href":63,"children":513},[62],[515],{"tag":160,"href":66,"children":516},[65],[518],{"tag":160,"href":69,"children":519},[68],[521],{"tag":160,"href":72,"children":522},[71],[524,596,656,714],{"slug":525,"published":526,"minutes":527,"category":8,"tags":528,"keywords":533,"about":546,"sources":554,"cover":590,"og":591,"expertise":75,"locales":592,"lang":78,"title":593,"description":594,"coverAlt":595},"embedding-model-selection-2026","2026-10-17",9,[529,11,530,531,532],"Embeddings","MTEB","Vector search","Model selection",[534,535,536,537,538,539,540,541,542,543,544,545],"best embedding model 2026","how to choose an embedding model","embedding model comparison","MTEB leaderboard explained","RTEB benchmark","open source embedding model","multilingual embedding model","voyage-4 vs openai embeddings","Qwen3-Embedding","EmbeddingGemma","embedding model for RAG","switching embedding models re-embed",[547,550,551],{"name":548,"url":549},"Word embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWord_embedding",{"name":34,"url":35},{"name":552,"url":553},"Discounted cumulative gain","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiscounted_cumulative_gain",[555,558,561,564,567,570,573,575,578,581,584,587],{"title":556,"url":557},"Enevoldsen et al.: MMTEB, Massive Multilingual Text Embedding Benchmark (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.13595",{"title":559,"url":560},"Hugging Face: Introducing RTEB, a new standard for retrieval evaluation (Oct 2025)","https:\u002F\u002Fhuggingface.co\u002Fblog\u002Frteb",{"title":562,"url":563},"OpenAI: Vector embeddings guide","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fembeddings",{"title":565,"url":566},"OpenAI: API pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fpricing",{"title":568,"url":569},"Voyage AI: The Voyage 4 model family, shared embedding space with MoE architecture (Jan 2026)","https:\u002F\u002Fblog.voyageai.com\u002F2026\u002F01\u002F15\u002Fvoyage-4\u002F",{"title":571,"url":572},"Voyage AI: Text embeddings documentation","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fembeddings",{"title":574,"url":57},"Voyage AI: Pricing",{"title":576,"url":577},"Google: Gemini API embeddings documentation","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fembeddings",{"title":579,"url":580},"Google: Gemini API pricing","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fpricing",{"title":582,"url":583},"Cohere: Embed models documentation","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fcohere-embed",{"title":585,"url":586},"Qwen: Qwen3-Embedding-8B model card","https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-Embedding-8B",{"title":588,"url":589},"Google Developers Blog: Introducing EmbeddingGemma (Sep 2025)","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fintroducing-embeddinggemma\u002F","\u002Fimages\u002Fblog\u002Fembedding-model-selection-2026\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fembedding-model-selection-2026\u002Fog.jpg",[77,78,79],"Embedding-Modell wählen 2026: Leaderboards, Kosten und ein Vergleichstest mit eigenen Daten","Wie man 2026 ein Embedding-Modell für RAG wählt: was MTEB und RTEB aussagen, API oder offene Gewichte, Preise, Dimensionen und ein einwöchiger Vergleichstest.","Drei Säulen aus gestapelten Blöcken, die mittlere am höchsten, jede mit kurzem Balken und weiter Klammer.",{"slug":597,"published":526,"minutes":598,"category":8,"tags":599,"keywords":603,"about":615,"sources":625,"cover":650,"og":651,"expertise":75,"locales":652,"lang":78,"title":653,"description":654,"coverAlt":655},"contextual-retrieval-late-chunking",10,[11,600,529,601,602],"Chunking","Contextual retrieval","Late chunking",[604,605,606,607,608,609,610,611,612,613,614],"contextual retrieval","anthropic contextual retrieval","late chunking","contextual chunk embeddings","contextual embeddings rag","contextual bm25","chunk context rag","voyage-context-3","voyage-context-4","late chunking vs contextual retrieval","rag chunking context loss",[616,619,622],{"name":617,"url":618},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",{"name":620,"url":621},"Okapi BM25","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOkapi_BM25",{"name":623,"url":624},"Sentence embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSentence_embedding",[626,629,632,635,638,641,644,647],{"title":627,"url":628},"Anthropic: Introducing Contextual Retrieval (Sep 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fcontextual-retrieval",{"title":630,"url":631},"Günther et al.: Late Chunking, Contextual Chunk Embeddings Using Long-Context Embedding Models (2024, rev. 2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2409.04701",{"title":633,"url":634},"Jina AI: Late Chunking in Long-Context Embedding Models (Aug 2024)","https:\u002F\u002Fjina.ai\u002Fnews\u002Flate-chunking-in-long-context-embedding-models\u002F",{"title":636,"url":637},"Voyage AI: Introducing voyage-context-3 (Jul 2025)","https:\u002F\u002Fblog.voyageai.com\u002F2025\u002F07\u002F23\u002Fvoyage-context-3\u002F",{"title":639,"url":640},"Voyage AI: voyage-context-4 (Jun 2026)","https:\u002F\u002Fblog.voyageai.com\u002F2026\u002F06\u002F29\u002Fvoyage-context-4\u002F",{"title":642,"url":643},"Voyage AI: Contextualized chunk embeddings documentation","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fcontextualized-chunk-embeddings",{"title":645,"url":646},"Anthropic: Claude API pricing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fpricing",{"title":648,"url":649},"Qu, Tu and Bao: Is Semantic Chunking Worth the Computational Cost? (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.13070","\u002Fimages\u002Fblog\u002Fcontextual-retrieval-late-chunking\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcontextual-retrieval-late-chunking\u002Fog.jpg",[77,78,79],"Contextual Retrieval und Late Chunking: RAG-Chunks ihren Kontext zurückgeben","Chunks verlieren ihr Dokument. Wie Contextual Retrieval, Late Chunking und kontextuelle Embeddings das beheben, was sie kosten, wann man verzichtet.","Vier lose Quadrate, unten von einer breiten Klammer gebündelt und je nach oben mit einer großen Fläche verbunden.",{"slug":657,"published":526,"minutes":527,"category":8,"tags":658,"keywords":662,"about":675,"sources":683,"cover":708,"og":709,"expertise":75,"locales":710,"lang":78,"title":711,"description":712,"coverAlt":713},"rag-access-control-permissions",[11,659,660,661,531],"Access control","Security","Multi-tenancy",[663,664,665,666,667,668,669,670,671,672,673,674],"rag access control","permission aware rag","document level security rag","rag multi tenancy","vector database access control","pgvector row level security","security trimming azure ai search","openfga rag authorization","qdrant multitenancy","pinecone namespaces multitenancy","owasp llm08 vector and embedding weaknesses","rag data leakage",[676,679,682],{"name":677,"url":678},"Access-control list","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAccess-control_list",{"name":680,"url":681},"Multitenancy","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMultitenancy",{"name":617,"url":618},[684,687,690,693,696,699,702,705],{"title":685,"url":686},"OWASP GenAI Security Project: LLM08:2025 Vector and Embedding Weaknesses","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm082025-vector-and-embedding-weaknesses\u002F",{"title":688,"url":689},"PostgreSQL documentation: Row Security Policies","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fddl-rowsecurity.html",{"title":691,"url":692},"pgvector README: filtering and iterative index scans","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector",{"title":694,"url":695},"Qdrant: Multitenancy and partitions guide","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fmultiple-partitions\u002F",{"title":697,"url":698},"Pinecone: Implement multitenancy using namespaces","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Fimplement-multitenancy",{"title":700,"url":701},"Microsoft Learn: Document-level access control in Azure AI Search","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsearch-document-level-access-overview",{"title":703,"url":704},"OpenFGA: RAG authorization use case","https:\u002F\u002Fopenfga.dev\u002Fdocs\u002Fuse-cases\u002Frag-authorization",{"title":706,"url":707},"Morris et al.: Text Embeddings Reveal (Almost) As Much As Text (EMNLP 2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.06816","\u002Fimages\u002Fblog\u002Frag-access-control-permissions\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-access-control-permissions\u002Fog.jpg",[77,78,79],"Zugriffskontrolle für RAG: berechtigungsbewusstes Retrieval ohne Datenlecks","Wie RAG-Assistenten Dokumente preisgeben und wie man das stoppt: ACLs an jedem Chunk, Vorfilter, Row-Level Security in pgvector, Rechte-Sync und Lecktests.","Sieben Karten in einer Reihe, sechs mit Schloss, eine leere Karte schickt einen Pfeil nach außen.",{"slug":715,"published":526,"minutes":598,"category":8,"tags":716,"keywords":721,"about":733,"sources":741,"cover":768,"og":769,"expertise":770,"locales":771,"lang":78,"title":772,"description":773,"coverAlt":774},"rag-product-catalog-pim-data",[11,717,718,719,720],"PIM","Product data","B2B e-commerce","Metadata filtering",[722,723,724,725,726,727,728,729,730,731,732],"rag product catalog","rag pim data","llm product data","product catalog chatbot","akeneo rag","pimcore ai search","rag structured data","metadata filtering rag","product attributes embeddings","b2b product assistant","etim classification ai",[734,737,738],{"name":735,"url":736},"Product information management","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FProduct_information_management",{"name":617,"url":618},{"name":739,"url":740},"ETIM (standard)","https:\u002F\u002Fwww.etim-international.com\u002Fclassification\u002F",[742,745,748,751,753,756,759,762,765],{"title":743,"url":744},"Akeneo API: Products, product values, metric values and product models","https:\u002F\u002Fapi.akeneo.com\u002Fconcepts\u002Fproducts.html",{"title":746,"url":747},"Akeneo Help Center: What about products with variants?","https:\u002F\u002Fhelp.akeneo.com\u002Fserenity-take-the-power-over-your-products\u002Fserenity-what-about-products-with-variants",{"title":749,"url":750},"Pimcore documentation: Classification Store","https:\u002F\u002Fdocs.pimcore.com\u002Fplatform\u002FPimcore\u002FObjects\u002FObject_Classes\u002FData_Types\u002FClassification_Store\u002F",{"title":752,"url":740},"ETIM International: Classification",{"title":754,"url":755},"ETIM International: ETIM releases and the IXF format","https:\u002F\u002Fetim-international.com\u002F?p=754",{"title":757,"url":758},"Reddy et al.: Shopping Queries Dataset, a large-scale ESCI benchmark for improving product search (2022)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.06588",{"title":760,"url":761},"Amazon Science: esci-data repository","https:\u002F\u002Fgithub.com\u002Famazon-science\u002Fesci-data",{"title":763,"url":764},"Qdrant documentation: Filtering","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Ffiltering\u002F",{"title":766,"url":767},"Sui et al.: Table Meets LLM, can large language models understand structured table data? (WSDM 2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2305.13062","\u002Fimages\u002Fblog\u002Frag-product-catalog-pim-data\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-product-catalog-pim-data\u002Fog.jpg","b2b-ecommerce-developer",[77,78,79],"RAG über Produktkataloge: aus PIM-Daten Antworten machen, die halten","Produktdaten sind strukturiert, Chunking wie bei PDFs scheitert. So serialisiert man PIM-Attribute, leitet Spezifikationsfragen an Filter und bleibt exakt.","Ein Rahmen aus neun Feldern mit kleinen Symbolen, darunter ein Trichter zu einer einzelnen Karte.",1792342714669]