[{"data":1,"prerenderedAt":2313},["ShallowReactive",2],{"blog-category-en-rag":3},[4,88,149,208,272,340,410,465,520,575,618,667,736,808,879,947,1015,1076,1142,1206,1266,1334,1399,1449,1487,1537,1587,1627,1677,1747,1822,1865,1918,1973,2022,2094,2145,2204,2249],{"slug":5,"published":6,"minutes":7,"category":8,"tags":9,"tagPages":15,"keywords":18,"about":31,"sources":41,"cover":78,"og":79,"expertise":80,"locales":81,"lang":82,"title":85,"description":86,"coverAlt":87},"embedding-model-selection-2026","2026-10-17",9,"rag",[10,11,12,13,14],"Embeddings","RAG","MTEB","Vector search","Model selection",[16,8,17],"embeddings","vector-search",[19,20,21,22,23,24,25,26,27,28,29,30],"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",[32,35,38],{"name":33,"url":34},"Word embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWord_embedding",{"name":36,"url":37},"Information retrieval","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInformation_retrieval",{"name":39,"url":40},"Discounted cumulative gain","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiscounted_cumulative_gain",[42,45,48,51,54,57,60,63,66,69,72,75],{"title":43,"url":44},"Enevoldsen et al.: MMTEB, Massive Multilingual Text Embedding Benchmark (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.13595",{"title":46,"url":47},"Hugging Face: Introducing RTEB, a new standard for retrieval evaluation (Oct 2025)","https:\u002F\u002Fhuggingface.co\u002Fblog\u002Frteb",{"title":49,"url":50},"OpenAI: Vector embeddings guide","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fembeddings",{"title":52,"url":53},"OpenAI: API pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fpricing",{"title":55,"url":56},"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":58,"url":59},"Voyage AI: Text embeddings documentation","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fembeddings",{"title":61,"url":62},"Voyage AI: Pricing","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fpricing",{"title":64,"url":65},"Google: Gemini API embeddings documentation","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fembeddings",{"title":67,"url":68},"Google: Gemini API pricing","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fpricing",{"title":70,"url":71},"Cohere: Embed models documentation","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fcohere-embed",{"title":73,"url":74},"Qwen: Qwen3-Embedding-8B model card","https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-Embedding-8B",{"title":76,"url":77},"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","ai-engineer",[82,83,84],"en","de","hu","Choosing an embedding model in 2026: leaderboards, costs and a bake-off on your own data","How to pick an embedding model for RAG in 2026: what MTEB and RTEB tell you, hosted vs open weights, prices, dimensions, and a one-week bake-off.","Embedding model selection: three cakes from three moulds cool on a rack while a fork is about to taste one.",{"slug":89,"published":6,"minutes":90,"category":8,"tags":91,"tagPages":95,"keywords":96,"about":108,"sources":118,"cover":143,"og":144,"expertise":80,"locales":145,"lang":82,"title":146,"description":147,"coverAlt":148},"contextual-retrieval-late-chunking",10,[11,92,10,93,94],"Chunking","Contextual retrieval","Late chunking",[8,16],[97,98,99,100,101,102,103,104,105,106,107],"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",[109,112,115],{"name":110,"url":111},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",{"name":113,"url":114},"Okapi BM25","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOkapi_BM25",{"name":116,"url":117},"Sentence embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSentence_embedding",[119,122,125,128,131,134,137,140],{"title":120,"url":121},"Anthropic: Introducing Contextual Retrieval (Sep 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fcontextual-retrieval",{"title":123,"url":124},"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":126,"url":127},"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":129,"url":130},"Voyage AI: Introducing voyage-context-3 (Jul 2025)","https:\u002F\u002Fblog.voyageai.com\u002F2025\u002F07\u002F23\u002Fvoyage-context-3\u002F",{"title":132,"url":133},"Voyage AI: voyage-context-4 (Jun 2026)","https:\u002F\u002Fblog.voyageai.com\u002F2026\u002F06\u002F29\u002Fvoyage-context-4\u002F",{"title":135,"url":136},"Voyage AI: Contextualized chunk embeddings documentation","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fcontextualized-chunk-embeddings",{"title":138,"url":139},"Anthropic: Claude API pricing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fpricing",{"title":141,"url":142},"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",[82,83,84],"Contextual retrieval and late chunking: giving RAG chunks back their context","Chunks lose their document. How contextual retrieval, late chunking and contextualized embedding models fix that, what each costs, and when to skip it.","Contextual retrieval and late chunking: a hand holds a tagged puzzle piece above its gap in a jigsaw on a table.",{"slug":150,"published":6,"minutes":7,"category":8,"tags":151,"tagPages":155,"keywords":156,"about":169,"sources":177,"cover":202,"og":203,"expertise":80,"locales":204,"lang":82,"title":205,"description":206,"coverAlt":207},"rag-access-control-permissions",[11,152,153,154,13],"Access control","Security","Multi-tenancy",[8,17],[157,158,159,160,161,162,163,164,165,166,167,168],"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",[170,173,176],{"name":171,"url":172},"Access-control list","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAccess-control_list",{"name":174,"url":175},"Multitenancy","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMultitenancy",{"name":110,"url":111},[178,181,184,187,190,193,196,199],{"title":179,"url":180},"OWASP GenAI Security Project: LLM08:2025 Vector and Embedding Weaknesses","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm082025-vector-and-embedding-weaknesses\u002F",{"title":182,"url":183},"PostgreSQL documentation: Row Security Policies","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fddl-rowsecurity.html",{"title":185,"url":186},"pgvector README: filtering and iterative index scans","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector",{"title":188,"url":189},"Qdrant: Multitenancy and partitions guide","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fmultiple-partitions\u002F",{"title":191,"url":192},"Pinecone: Implement multitenancy using namespaces","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Fimplement-multitenancy",{"title":194,"url":195},"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":197,"url":198},"OpenFGA: RAG authorization use case","https:\u002F\u002Fopenfga.dev\u002Fdocs\u002Fuse-cases\u002Frag-authorization",{"title":200,"url":201},"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",[82,83,84],"Access control for RAG: permission-aware retrieval without leaking documents","How RAG assistants leak documents and how to stop it: ACLs on every chunk, pre-filtering, row-level security in pgvector, permission sync and leak tests.","Access control for RAG: a person with an ID card takes a book while other books stay behind a locked glass door.",{"slug":209,"published":6,"minutes":90,"category":8,"tags":210,"tagPages":215,"keywords":218,"about":230,"sources":238,"cover":265,"og":266,"expertise":267,"locales":268,"lang":82,"title":269,"description":270,"coverAlt":271},"rag-product-catalog-pim-data",[11,211,212,213,214],"PIM","Product data","B2B e-commerce","Metadata filtering",[8,216,217],"pim","b2b-e-commerce",[219,220,221,222,223,224,225,226,227,228,229],"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",[231,234,235],{"name":232,"url":233},"Product information management","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FProduct_information_management",{"name":110,"url":111},{"name":236,"url":237},"ETIM (standard)","https:\u002F\u002Fwww.etim-international.com\u002Fclassification\u002F",[239,242,245,248,250,253,256,259,262],{"title":240,"url":241},"Akeneo API: Products, product values, metric values and product models","https:\u002F\u002Fapi.akeneo.com\u002Fconcepts\u002Fproducts.html",{"title":243,"url":244},"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":246,"url":247},"Pimcore documentation: Classification Store","https:\u002F\u002Fdocs.pimcore.com\u002Fplatform\u002FPimcore\u002FObjects\u002FObject_Classes\u002FData_Types\u002FClassification_Store\u002F",{"title":249,"url":237},"ETIM International: Classification",{"title":251,"url":252},"ETIM International: ETIM releases and the IXF format","https:\u002F\u002Fetim-international.com\u002F?p=754",{"title":254,"url":255},"Reddy et al.: Shopping Queries Dataset, a large-scale ESCI benchmark for improving product search (2022)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.06588",{"title":257,"url":258},"Amazon Science: esci-data repository","https:\u002F\u002Fgithub.com\u002Famazon-science\u002Fesci-data",{"title":260,"url":261},"Qdrant documentation: Filtering","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Ffiltering\u002F",{"title":263,"url":264},"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",[82,83,84],"RAG over product catalogues: turning PIM data into answers that hold","Product data is structured, so chunking it like PDFs fails. How to serialize PIM attributes, route spec questions to filters and keep answers exact.","RAG over product catalogues: a speech bubble with a product card rises from an open product catalogue.",{"slug":273,"published":6,"minutes":274,"category":8,"tags":275,"tagPages":280,"keywords":281,"about":292,"sources":300,"cover":334,"og":335,"expertise":80,"locales":336,"lang":82,"title":337,"description":338,"coverAlt":339},"conversational-search-query-rewriting",12,[276,277,11,278,279],"Conversational search","Query rewriting","HyDE","E-commerce",[8],[282,283,284,285,286,287,288,289,290,291],"conversational search query rewriting","coreference resolution search query","HyDE hypothetical document embeddings","multi-query expansion RAG","LLM filter extraction","B2B product search assistant","conversational product search","query rewriting latency","recall@k evaluation","standalone query generation",[293,296,299],{"name":294,"url":295},"Query expansion","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuery_expansion",{"name":297,"url":298},"Coreference","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCoreference",{"name":113,"url":114},[301,304,307,310,313,316,319,322,325,328,331],{"title":302,"url":303},"Gao et al.: Precise Zero-Shot Dense Retrieval without Relevance Labels, ACL 2023","https:\u002F\u002Faclanthology.org\u002F2023.acl-long.99\u002F",{"title":305,"url":306},"UTokyo-Hitotsubashi at TREC 2025 RAG Track: HyDE-Enhanced Sparse-Dense Retrieval Fusion with LLM Reranking","https:\u002F\u002Ftrec.nist.gov\u002Fpubs\u002Ftrec34\u002Fpapers\u002FUTokyo.rag.pdf",{"title":308,"url":309},"Hypothetical Documents or Knowledge Leakage? Rethinking LLM-based Query Expansion","https:\u002F\u002Faclanthology.org\u002F2025.findings-acl.980.pdf",{"title":311,"url":312},"ConvSearch-R1: Enhancing Query Reformulation for Conversational Search with Reasoning via Reinforcement Learning","https:\u002F\u002Faclanthology.org\u002F2025.emnlp-main.1349\u002F",{"title":314,"url":315},"CFDA and CLIP at TREC iKAT 2025: Query Reformulation and Rank Fusion","https:\u002F\u002Farxiv.org\u002Fabs\u002F2509.15588",{"title":317,"url":318},"MiniELM: A Lightweight and Adaptive Query Rewriting Framework for E-Commerce Search Optimization","https:\u002F\u002Faclanthology.org\u002F2025.findings-acl.363\u002F",{"title":320,"url":321},"Microsoft Learn: Rewrite queries with semantic ranker in Azure AI Search (preview)","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsemantic-how-to-query-rewrite",{"title":323,"url":324},"Microsoft Learn: Agentic retrieval overview in Azure AI Search","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fagentic-retrieval-overview",{"title":326,"url":327},"Microsoft Tech Community: Generative query rewriting and a new semantic ranker","https:\u002F\u002Ftechcommunity.microsoft.com\u002Fblog\u002Fazure-ai-services-blog\u002Fraising-the-bar-for-rag-excellence-query-rewriting-and-new-semantic-ranker\u002F4302729\u002F",{"title":329,"url":330},"Amazon Bedrock User Guide: Configure and customize queries and response generation","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fkb-test-config.html",{"title":332,"url":333},"Ragas documentation: List of available metrics","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002F","\u002Fimages\u002Fblog\u002Fconversational-search-query-rewriting\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fconversational-search-query-rewriting\u002Fog.jpg",[82,83,84],"Query rewriting for conversational search: context, HyDE and filters","How to rewrite follow-up questions in a B2B shop assistant: coreference, HyDE, multi-query expansion, filter extraction, latency and evaluation.","Conversational query rewriting: a speech bubble goes through a sewing machine and comes out as a neat note with a magnifier.",{"slug":341,"published":6,"minutes":90,"category":8,"tags":342,"tagPages":347,"keywords":349,"about":362,"sources":368,"cover":404,"og":405,"expertise":80,"locales":406,"lang":82,"title":407,"description":408,"coverAlt":409},"synthetic-test-data-rag-evals",[11,343,344,345,346],"Evaluation","Synthetic data","Retrieval","Testing",[8,348],"evaluation",[350,351,352,353,354,355,356,357,358,359,360,361],"synthetic test data RAG","RAG evaluation dataset","question generation from chunks","hard negatives retrieval evaluation","answerability filter","RAG test set generation","synthetic QA pairs","RAG eval data contamination","multilingual RAG evaluation German Hungarian","retrieval metrics recall ndcg","LLM judge human spot check","unanswerable questions RAG",[363,365,367],{"name":110,"url":364},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval_augmented_generation",{"name":344,"url":366},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSynthetic_data",{"name":36,"url":37},[369,372,375,378,381,384,387,390,393,396,399,401],{"title":370,"url":371},"Red Hat Developers: Synthetic data for RAG evaluation (Feb 23, 2026)","https:\u002F\u002Fdevelopers.redhat.com\u002Farticles\u002F2026\u002F02\u002F23\u002Fsynthetic-data-rag-evaluation-why-your-rag-system-needs-better-testing",{"title":373,"url":374},"Ragas docs: Testset Generation for RAG","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fgetstarted\u002Frag_testset_generation\u002F",{"title":376,"url":377},"Ragas docs: Testset generation concepts (query types, scenarios)","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Ftest_data_generation\u002Frag\u002F",{"title":379,"url":380},"NVIDIA Technical Blog: Evaluating and Enhancing RAG Pipeline Performance Using Synthetic Data","https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fevaluating-and-enhancing-rag-pipeline-performance-using-synthetic-data\u002F",{"title":382,"url":383},"DeepEval docs: Datasets and the Synthesizer","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fevaluation-datasets",{"title":385,"url":386},"Rajpurkar, Jia, Liang: Know What You Don't Know: Unanswerable Questions for SQuAD (ACL 2018)","https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.03822",{"title":388,"url":389},"Rahmani et al.: Towards Understanding Bias in Synthetic Data for Evaluation (CIKM 2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.10301",{"title":391,"url":392},"Cheng et al.: A Survey on Data Contamination for Large Language Models","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.14425",{"title":394,"url":395},"Xu et al.: Infini-gram mini: Exact n-gram Search at the Internet Scale (EMNLP 2025)","https:\u002F\u002Faclanthology.org\u002F2025.emnlp-main.1268\u002F",{"title":397,"url":398},"Panickssery, Bowman, Feng: LLM Evaluators Recognize and Favor Their Own Generations","https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.13076",{"title":400,"url":44},"Enevoldsen et al.: MMTEB, Massive Multilingual Text Embedding Benchmark (ICLR 2025)",{"title":402,"url":403},"Evidently AI: How to align an LLM judge with human labels (Nov 2025)","https:\u002F\u002Fwww.evidentlyai.com\u002Fblog\u002Fhow-to-align-llm-judge-with-human-labels","\u002Fimages\u002Fblog\u002Fsynthetic-test-data-rag-evals\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsynthetic-test-data-rag-evals\u002Fog.jpg",[82,83,84],"Generating synthetic test data for RAG evaluations","Question generation from chunks, hard negatives, answerability labels, German and Hungarian coverage, contamination and human spot checks.","Synthetic test data for RAG evals: a robot runs a machine that turns a book into a stack of question cards.",{"slug":411,"published":412,"minutes":7,"category":8,"tags":413,"tagPages":418,"keywords":420,"about":431,"sources":439,"cover":459,"og":460,"expertise":80,"locales":461,"lang":82,"title":462,"description":463,"coverAlt":464},"pdf-document-parsing-for-rag","2026-10-16",[11,414,415,416,417],"PDF parsing","OCR","Docling","Document AI",[8,419],"document-ai",[421,422,423,424,425,426,427,428,429,430],"pdf parsing for rag","best pdf parser for rag","docling vs marker","marker vs mineru","pdf to markdown for llm","extract tables from pdf for rag","ocr for rag pipeline","olmocr bench","scanned pdf rag","document parsing llm",[432,435,438],{"name":433,"url":434},"PDF","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPDF",{"name":436,"url":437},"Optical character recognition","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOptical_character_recognition",{"name":110,"url":111},[440,443,446,449,452,455,458],{"title":441,"url":442},"Docling: README, features and license (GitHub)","https:\u002F\u002Fgithub.com\u002Fdocling-project\u002Fdocling",{"title":444,"url":445},"Auer et al.: Docling: An Efficient Open-Source Toolkit for AI-driven Document Conversion (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.17887",{"title":447,"url":448},"Datalab: Marker README, olmOCR-bench results and license (GitHub)","https:\u002F\u002Fgithub.com\u002Fdatalab-to\u002Fmarker",{"title":450,"url":451},"OpenDataLab: MinerU README and license (GitHub)","https:\u002F\u002Fgithub.com\u002Fopendatalab\u002FMinerU",{"title":453,"url":454},"Poznanski et al.: olmOCR: Unlocking Trillions of Tokens in PDFs with Vision Language Models (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.18443",{"title":456,"url":457},"Claude Platform Docs: PDF support","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fpdf-support",{"title":120,"url":121},"\u002Fimages\u002Fblog\u002Fpdf-document-parsing-for-rag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpdf-document-parsing-for-rag\u002Fog.jpg",[82,83,84],"PDF parsing for RAG: layout pipelines, OCR and vision models compared","Why PDF parsing decides RAG quality, how Docling, Marker, MinerU and VLM OCR differ, and how to test a parser on your own documents.","PDF parsing for RAG: a document goes through a roller machine and comes out as separate table, picture and text cards.",{"slug":466,"published":412,"minutes":467,"category":8,"tags":468,"tagPages":472,"keywords":473,"about":483,"sources":493,"cover":514,"og":515,"expertise":80,"locales":516,"lang":82,"title":517,"description":518,"coverAlt":519},"multilingual-rag-german-hungarian",7,[11,469,10,470,471],"Multilingual","German","Hungarian",[8,16],[474,475,476,477,25,478,479,480,481,482],"multilingual rag","german rag embeddings","hungarian nlp search","cross-lingual retrieval","bge-m3 german","german compound words search","hungarian stemming postgres","multilingual-e5-large-instruct","qwen3 embedding multilingual",[484,487,490],{"name":485,"url":486},"Cross-language information retrieval","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCross-language_information_retrieval",{"name":488,"url":489},"Agglutinative language","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAgglutinative_language",{"name":491,"url":492},"Compound (linguistics)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCompound_(linguistics)",[494,496,499,502,505,508,511],{"title":495,"url":44},"Enevoldsen et al.: MMTEB: Massive Multilingual Text Embedding Benchmark (2025)",{"title":497,"url":498},"Chen et al.: M3-Embedding (BGE-M3): Multi-Linguality, Multi-Functionality, Multi-Granularity (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03216",{"title":500,"url":501},"Zhang et al.: Qwen3 Embedding: Advancing Text Embedding and Reranking Through Foundation Models (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.05176",{"title":503,"url":504},"Hugging Face: intfloat\u002Fmultilingual-e5-large-instruct model card","https:\u002F\u002Fhuggingface.co\u002Fintfloat\u002Fmultilingual-e5-large-instruct",{"title":506,"url":507},"Elasticsearch Reference: Hyphenation decompounder token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-hyp-decomp-tokenfilter",{"title":509,"url":510},"PostgreSQL 18 Documentation: Text search dictionaries","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Ftextsearch-dictionaries.html",{"title":512,"url":513},"Snowball: stemming algorithms by language","https:\u002F\u002Fsnowballstem.org\u002Falgorithms\u002F","\u002Fimages\u002Fblog\u002Fmultilingual-rag-german-hungarian\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmultilingual-rag-german-hungarian\u002Fog.jpg",[82,83,84],"Multilingual RAG for German and Hungarian: embeddings, compounds and cross-lingual search","How to build RAG over German and Hungarian content: multilingual embeddings, compound words, stemming, accents and per-language evals.","Multilingual RAG for German and Hungarian: a person carries a book across a small bridge between two bookshelves.",{"slug":521,"published":412,"minutes":522,"category":8,"tags":523,"tagPages":529,"keywords":531,"about":542,"sources":551,"cover":569,"og":570,"expertise":80,"locales":571,"lang":82,"title":572,"description":573,"coverAlt":574},"text-to-sql-llm-guardrails",8,[524,525,526,527,528],"Text-to-SQL","LLM security","PostgreSQL","Agents","Analytics",[530],"llm-security",[532,533,534,535,536,537,538,539,540,541],"text to sql llm","text-to-sql guardrails","llm sql agent security","natural language to sql production","read only database role llm","bird benchmark text to sql","spider 2.0 benchmark","sqlglot validate sql","row level security llm","chat with your database",[543,546,549],{"name":544,"url":545},"SQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSQL",{"name":547,"url":548},"Natural language interface to databases","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNatural-language_user_interface",{"name":526,"url":550},"https:\u002F\u002Fwww.postgresql.org\u002F",[552,555,558,560,563,566],{"title":553,"url":554},"BIRD-bench: leaderboard and dataset description","https:\u002F\u002Fbird-bench.github.io\u002F",{"title":556,"url":557},"Lei et al.: Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.07763",{"title":559,"url":183},"PostgreSQL 18 Documentation: Row Security Policies",{"title":561,"url":562},"PostgreSQL 18 Documentation: Client Connection Defaults (read-only and timeouts)","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fruntime-config-client.html",{"title":564,"url":565},"SQLGlot: SQL parser, transpiler and optimizer (GitHub)","https:\u002F\u002Fgithub.com\u002Ftobymao\u002Fsqlglot",{"title":567,"url":568},"OWASP Gen AI Security Project: LLM06:2025 Excessive Agency","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm062025-excessive-agency\u002F","\u002Fimages\u002Fblog\u002Ftext-to-sql-llm-guardrails\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ftext-to-sql-llm-guardrails\u002Fog.jpg",[82,83,84],"Text-to-SQL with LLMs: schema context, read-only roles and validation that holds","How accurate text-to-SQL really is, how to give the model schema context, and the database and code guardrails that keep generated SQL safe.","Text-to-SQL guardrails: a speech bubble enters a database cylinder through a barred window, a padlock on the door.",{"slug":576,"published":412,"minutes":577,"category":8,"tags":578,"tagPages":581,"keywords":582,"about":593,"sources":603,"cover":612,"og":613,"expertise":80,"locales":614,"lang":82,"title":615,"description":616,"coverAlt":617},"embedding-quantization-binary-matryoshka",5,[10,13,579,580,11],"Quantization","pgvector",[16,17,8],[583,584,585,586,587,588,589,590,591,592],"embedding quantization","binary quantization embeddings","int8 embeddings","matryoshka embeddings","reduce vector database memory","pgvector halfvec","pgvector binary_quantize","embedding dimensions reduction","rescoring binary embeddings","vector index memory cost",[594,597,600],{"name":595,"url":596},"Quantization (signal processing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuantization_(signal_processing)",{"name":598,"url":599},"Nearest neighbor search","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNearest_neighbor_search",{"name":601,"url":602},"Hamming distance","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHamming_distance",[604,607,610],{"title":605,"url":606},"Hugging Face: Binary and Scalar Embedding Quantization for Significantly Faster and Cheaper Retrieval (Mar 2024)","https:\u002F\u002Fhuggingface.co\u002Fblog\u002Fembedding-quantization",{"title":608,"url":609},"Kusupati et al.: Matryoshka Representation Learning (2022)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.13147",{"title":611,"url":186},"pgvector README: halfvec, bit, binary quantization and subvector indexing","\u002Fimages\u002Fblog\u002Fembedding-quantization-binary-matryoshka\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fembedding-quantization-binary-matryoshka\u002Fog.jpg",[82,83,84],"Embedding quantization: binary, int8 and Matryoshka vectors without losing retrieval quality","How binary and int8 quantization and Matryoshka truncation shrink vector indexes 4 to 32 times, what they cost in recall, and how rescoring wins it back.","Embedding quantization and Matryoshka: nesting dolls stand in a row from large to small, the smallest on a scale.",{"slug":619,"published":620,"minutes":621,"category":8,"tags":622,"tagPages":627,"keywords":629,"about":638,"sources":642,"cover":661,"og":662,"expertise":80,"locales":663,"lang":82,"title":664,"description":665,"coverAlt":666},"zep","2026-10-06",11,[623,624,625,626,11],"Agent memory","Knowledge graph","Temporal graph","Context engineering",[628,8],"context-engineering",[630,631,632,633,634,635,636,637],"zep ai","zep agent memory","graphiti knowledge graph","zep pricing","zep vs mem0","long-term memory for agents","temporal knowledge graph","zep cloud",[639],{"name":640,"url":641},"Zep","https:\u002F\u002Fwww.getzep.com\u002F",[643,646,649,652,655,658],{"title":644,"url":645},"Zep pricing: plans, credits and limits","https:\u002F\u002Fwww.getzep.com\u002Fpricing",{"title":647,"url":648},"Zep documentation","https:\u002F\u002Fhelp.getzep.com\u002F",{"title":650,"url":651},"Graphiti on GitHub","https:\u002F\u002Fgithub.com\u002Fgetzep\u002Fgraphiti",{"title":653,"url":654},"Graphiti product page","https:\u002F\u002Fwww.getzep.com\u002Fplatform\u002Fgraphiti\u002F",{"title":656,"url":657},"Announcing a new direction for Zep's open-source strategy","https:\u002F\u002Fwww.getzep.com\u002Fblog\u002Fannouncing-a-new-direction-for-zeps-open-source-strategy\u002F",{"title":659,"url":660},"Graphiti: temporal knowledge graphs for AI agents (arXiv)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.13956","\u002Fimages\u002Fblog\u002Fzep\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fzep\u002Fog.jpg",[82,83,84],"Zep review: agent memory on a temporal graph","Zep: a hosted agent-memory API on a temporal knowledge graph. Credits on writes, free retrieval, Flex from $125\u002Fmonth, Graphiti as the self-hostable part.","Zep review: a robot studies a wall chart of linked cards, each card with a tiny clock.",{"slug":668,"published":669,"minutes":670,"category":8,"tags":671,"tagPages":675,"keywords":676,"about":686,"sources":693,"cover":730,"og":731,"expertise":80,"locales":732,"lang":82,"title":733,"description":734,"coverAlt":735},"graphrag-knowledge-graph-rag","2026-10-02",13,[672,673,674,11],"GraphRAG","Knowledge graphs","LightRAG",[8],[672,677,678,679,680,681,682,683,684,685],"knowledge graph RAG","GraphRAG vs vector RAG","Microsoft GraphRAG explained","LightRAG vs GraphRAG","GraphRAG global vs local search","GraphRAG indexing cost","when to use GraphRAG","multi-hop RAG","LazyGraphRAG",[687,689,690],{"name":624,"url":688},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnowledge_graph",{"name":110,"url":111},{"name":691,"url":692},"Leiden algorithm","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLeiden_algorithm",[694,697,700,703,706,709,712,715,718,721,724,727],{"title":695,"url":696},"Edge et al.: From Local to Global: A Graph RAG Approach to Query-Focused Summarization (arXiv:2404.16130)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.16130",{"title":698,"url":699},"Microsoft GraphRAG documentation: overview","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002F",{"title":701,"url":702},"Microsoft GraphRAG documentation: default dataflow","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Findex\u002Fdefault_dataflow\u002F",{"title":704,"url":705},"Microsoft GraphRAG documentation: global search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fglobal_search\u002F",{"title":707,"url":708},"Microsoft GraphRAG documentation: local search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Flocal_search\u002F",{"title":710,"url":711},"Microsoft GraphRAG documentation: DRIFT search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fdrift_search\u002F",{"title":713,"url":714},"Microsoft GraphRAG documentation: getting started","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fget_started\u002F",{"title":716,"url":717},"Microsoft Research: LazyGraphRAG, setting a new standard for quality and cost (25 November 2024)","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Flazygraphrag-setting-a-new-standard-for-quality-and-cost\u002F",{"title":719,"url":720},"Guo et al.: LightRAG: Simple and Fast Retrieval-Augmented Generation (arXiv:2410.05779)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.05779",{"title":722,"url":723},"HKUDS\u002FLightRAG on GitHub","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FLightRAG",{"title":725,"url":726},"Gutiérrez et al.: HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models (arXiv:2405.14831)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14831",{"title":728,"url":729},"Xiang et al.: When to use Graphs in RAG: A Comprehensive Analysis for Graph Retrieval-Augmented Generation (arXiv:2506.05690)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.05690","\u002Fimages\u002Fblog\u002Fgraphrag-knowledge-graph-rag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgraphrag-knowledge-graph-rag\u002Fog.jpg",[82,83,84],"GraphRAG and knowledge-graph RAG: when a graph beats vector search","Microsoft GraphRAG and LightRAG: what indexing costs, and when a knowledge graph beats vector RAG for multi-hop, global questions and product catalogues.","Knowledge-graph RAG: a magnifier over a road junction on a town map, a loose paper pile to the side.",{"slug":737,"published":738,"updated":412,"minutes":90,"category":8,"tags":739,"tagPages":745,"keywords":746,"about":757,"sources":765,"cover":802,"og":803,"expertise":80,"locales":804,"lang":82,"title":805,"description":806,"coverAlt":807},"multimodal-rag-colpali","2026-10-01",[740,741,742,743,744],"ColPali","Multimodal RAG","Late interaction","Multi-vector embeddings","Visual document retrieval",[],[747,748,740,749,750,751,752,753,754,755,756],"multimodal RAG ColPali","multimodal RAG","visual document retrieval","ColQwen2","ColQwen3","late interaction MaxSim","multi-vector embeddings","ViDoRe benchmark","page image embeddings","multivector vector database",[758,759,762],{"name":110,"url":111},{"name":760,"url":761},"Vector database","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVector_database",{"name":763,"url":764},"Vision-language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVision-language_model",[766,769,772,775,778,781,784,787,790,793,796,799],{"title":767,"url":768},"ColPali: Efficient Document Retrieval with Vision Language Models (arXiv:2407.01449)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2407.01449",{"title":770,"url":771},"ViDoRe V2 benchmark (arXiv:2505.17166)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.17166",{"title":773,"url":774},"ViDoRe V3 benchmark (arXiv:2601.08620)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.08620",{"title":776,"url":777},"EVIE: storage and benchmark analysis for ColQwen-family models (arXiv:2610.11553)","https:\u002F\u002Farxiv.org\u002Fhtml\u002F2610.11553v1",{"title":779,"url":780},"Vespa: scaling ColPali to billions","https:\u002F\u002Fblog.vespa.ai\u002Fscaling-colpali-to-billions\u002F",{"title":782,"url":783},"Qdrant documentation: vectors, multivectors and the max_sim comparator","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fvectors\u002F",{"title":785,"url":786},"Qdrant: ColPali optimization with pooling and two-stage retrieval (2024)","https:\u002F\u002Fqdrant.tech\u002Fblog\u002Fcolpali-qdrant-optimization",{"title":788,"url":789},"Qdrant: turbo4 multivector search tutorial","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Ftutorials-search-engineering\u002Fturbo4-multivector-search\u002F",{"title":791,"url":792},"Sentence Transformers v6.0.0 release notes","https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fsentence-transformers\u002Freleases\u002Ftag\u002Fv6.0.0",{"title":794,"url":795},"illuin-tech\u002Fcolpali repository and model table","https:\u002F\u002Fgithub.com\u002Filluin-tech\u002Fcolpali",{"title":797,"url":798},"MUVERA: multi-vector retrieval via fixed dimensional encodings (NeurIPS 2024)","https:\u002F\u002Fproceedings.neurips.cc\u002Fpaper_files\u002Fpaper\u002F2024\u002Ffile\u002Fb71cfefae46909178603b5bc6c11d3ae-Paper-Conference.pdf",{"title":800,"url":801},"VectorChord documentation: indexing with MaxSim operators","https:\u002F\u002Fdocs.vectorchord.ai\u002Fvectorchord\u002Fusage\u002Findexing-with-maxsim-operators.html","\u002Fimages\u002Fblog\u002Fmultimodal-rag-colpali\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmultimodal-rag-colpali\u002Fog.jpg",[82,83,84],"Multimodal RAG with ColPali: page images, multi-vector costs, and when they win","Multimodal RAG with ColPali: page-image embeddings, MaxSim scoring, multi-vector storage costs, compression options and when they beat parsed text.","Multimodal RAG with ColPali: a page split into small patches, a few linked to a magnifying glass.",{"slug":809,"published":738,"updated":6,"minutes":522,"category":8,"tags":810,"tagPages":814,"keywords":816,"about":827,"sources":837,"cover":873,"og":874,"expertise":80,"locales":875,"lang":82,"title":876,"description":877,"coverAlt":878},"code-rag-repository-indexing",[11,811,812,10,813],"Code search","Tree-sitter","Coding agents",[8,16,815],"coding-agents",[817,818,819,820,821,822,823,824,825,826],"RAG over code","AST chunking","tree-sitter code chunking","repository map","code embeddings","semantic code search","codebase indexing","repo map tokens","incremental code index","CoIR benchmark",[828,829,832,834],{"name":110,"url":111},{"name":830,"url":831},"Abstract syntax tree","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAbstract_syntax_tree",{"name":812,"url":833},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTree-sitter_%28parser_generator%29",{"name":835,"url":836},"Merkle tree","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMerkle_tree",[838,841,844,847,850,853,856,859,862,864,867,870],{"title":839,"url":840},"cAST: AST-based chunking for code RAG (arXiv 2506.15655)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.15655",{"title":842,"url":843},"Aider docs: repository map","https:\u002F\u002Faider.chat\u002Fdocs\u002Frepomap.html",{"title":845,"url":846},"Aider blog: building a better repository map with tree-sitter (2023)","https:\u002F\u002Faider.chat\u002F2023\u002F10\u002F22\u002Frepomap.html",{"title":848,"url":849},"Anthropic Engineering: effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":851,"url":852},"Cursor blog: securely indexing large codebases (Jan 2026)","https:\u002F\u002Fcursor.com\u002Fblog\u002Fsecure-codebase-indexing",{"title":854,"url":855},"turbopuffer: Cursor customer story","https:\u002F\u002Fturbopuffer.com\u002Fcustomers\u002Fcursor",{"title":857,"url":858},"Kilo Code docs: codebase indexing","https:\u002F\u002Fkilo.ai\u002Fdocs\u002Fcustomize\u002Fcontext\u002Fcodebase-indexing",{"title":860,"url":861},"Serena on GitHub","https:\u002F\u002Fgithub.com\u002Foraios\u002Fserena",{"title":863,"url":62},"Voyage AI docs: pricing",{"title":865,"url":866},"Qwen blog: Qwen3-Embedding (Jun 2025)","https:\u002F\u002Fqwenlm.github.io\u002Fblog\u002Fqwen3-embedding\u002F",{"title":868,"url":869},"CoIR: a benchmark for code information retrieval (arXiv 2407.02883)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2407.02883",{"title":871,"url":872},"CocoIndex blog: indexing a codebase","https:\u002F\u002Fcocoindex.io\u002Fblogs\u002Findex-codebase-v1","\u002Fimages\u002Fblog\u002Fcode-rag-repository-indexing\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcode-rag-repository-indexing\u002Fog.jpg",[82,83,84],"RAG over code: AST chunking, repo maps and code embeddings that fit an agent","How coding agents find code: AST chunking with tree-sitter, repo maps, Merkle-tree index sync, code embedding models in 2026, and when grep beats an index.","RAG over code repositories: a branching code tree feeds a row of index cards.",{"slug":880,"published":881,"updated":738,"minutes":522,"category":8,"tags":882,"tagPages":886,"keywords":887,"about":898,"sources":906,"cover":941,"og":942,"expertise":80,"locales":943,"lang":82,"title":944,"description":945,"coverAlt":946},"reranking-models-compared","2026-09-30",[883,11,884,885,343],"Reranking","Search","Cross-encoders",[8,348],[888,889,890,891,892,893,894,895,896,897],"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",[899,902,905],{"name":900,"url":901},"Learning to rank","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLearning_to_rank",{"name":903,"url":904},"BERT (language model)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBERT_%28language_model%29",{"name":36,"url":37},[907,910,913,916,919,922,925,926,929,932,935,938],{"title":908,"url":909},"Sentence-BERT (arXiv 1908.10084)","https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.10084",{"title":911,"url":912},"Sentence Transformers: retrieve and re-rank","https:\u002F\u002Fsbert.net\u002Fexamples\u002Fsentence_transformer\u002Fapplications\u002Fretrieve_rerank\u002FREADME.html",{"title":914,"url":915},"BAAI\u002Fbge-reranker-v2-m3 model card","https:\u002F\u002Fhuggingface.co\u002FBAAI\u002Fbge-reranker-v2-m3",{"title":917,"url":918},"Cohere docs: reranking best practices","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Freranking-best-practices",{"title":920,"url":921},"Cohere pricing","https:\u002F\u002Fcohere.com\u002Fpricing",{"title":923,"url":924},"Voyage AI blog: rerank-3 (30 Sep 2026)","https:\u002F\u002Fblog.voyageai.com\u002F2026\u002F09\u002F30\u002Frerank-3\u002F",{"title":863,"url":62},{"title":927,"url":928},"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":930,"url":931},"ColBERTv2 (arXiv 2112.01488)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2112.01488",{"title":933,"url":934},"Elasticsearch docs: reciprocal rank fusion","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Felasticsearch\u002Frest-apis\u002Freciprocal-rank-fusion",{"title":936,"url":937},"Azure AI Search: semantic ranking overview","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsemantic-search-overview",{"title":939,"url":940},"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",[82,83,84],"Cross-encoder rerankers compared: Cohere, bge, Voyage, Jina and late interaction (2026)","Rerankers in October 2026: pointwise, listwise and late interaction, Cohere, Voyage, bge, Qwen3, Jina and mxbai, prices, self-hosting and choosing k.","Cross-encoder rerankers compared: a funnel narrows many cards to five, and one card is lifted to the front.",{"slug":948,"published":881,"updated":738,"minutes":522,"category":8,"tags":949,"tagPages":954,"keywords":956,"about":967,"sources":973,"cover":1009,"og":1010,"expertise":80,"locales":1011,"lang":82,"title":1012,"description":1013,"coverAlt":1014},"elasticsearch-opensearch-vector-search",[950,951,13,952,953],"Elasticsearch","OpenSearch","Hybrid search","Licensing",[17,955],"hybrid-search",[957,958,959,960,961,962,963,964,965,966],"vector search in Elasticsearch and OpenSearch","elasticsearch knn vector search","opensearch neural search","hybrid search rrf","elasticsearch bbq better binary quantization","opensearch diskann jvector","elasticsearch agpl license","filtered knn search","elasticsearch vs opensearch vector database","search engine as vector store",[968,970,972],{"name":950,"url":969},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElasticsearch",{"name":951,"url":971},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenSearch_%28software%29",{"name":598,"url":599},[974,977,980,983,986,988,991,994,997,1000,1003,1006],{"title":975,"url":976},"Elastic docs: kNN search","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\u002Fknn",{"title":978,"url":979},"Elastic docs: filtered kNN search","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\u002Fknn\u002Ffiltered-knn-search",{"title":981,"url":982},"Elastic docs: dense_vector field type","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Felasticsearch\u002Fmapping-reference\u002Fdense-vector",{"title":984,"url":985},"Elastic docs: BBQ","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Felasticsearch\u002Fmapping-reference\u002Fbbq",{"title":987,"url":934},"Elastic docs: reciprocal rank fusion",{"title":989,"url":990},"Elastic docs: GPU vector indexing","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\u002Fgpu-vector-indexing",{"title":992,"url":993},"Elastic blog: Elasticsearch is open source again (Aug 2024)","https:\u002F\u002Fwww.elastic.co\u002Fblog\u002Felasticsearch-is-open-source-again",{"title":995,"url":996},"OpenSearch docs: methods and engines","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fmappings\u002Fsupported-field-types\u002Fknn-methods-engines\u002F",{"title":998,"url":999},"OpenSearch docs: memory-optimized vectors","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fmappings\u002Fsupported-field-types\u002Fknn-memory-optimized\u002F",{"title":1001,"url":1002},"OpenSearch docs: reciprocal rank fusion","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fvector-search\u002Fai-search\u002Fhybrid-search\u002Frrf\u002F",{"title":1004,"url":1005},"OpenSearch docs: version history","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fversion-history\u002F",{"title":1007,"url":1008},"AWS Open Source blog: introducing OpenSearch (Apr 2021)","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fopensource\u002Fintroducing-opensearch\u002F","\u002Fimages\u002Fblog\u002Felasticsearch-opensearch-vector-search\u002Fcover.webp","\u002Fimages\u002Fblog\u002Felasticsearch-opensearch-vector-search\u002Fog.jpg",[82,83,84],"Vector search in Elasticsearch and OpenSearch: kNN, hybrid search and the license story","Vector search in Elasticsearch and OpenSearch: kNN and filters, BBQ and binary quantization, RRF hybrid search, GPU builds, and AGPL vs Apache licensing.","Elasticsearch and OpenSearch kNN: a cabinet with a text drawer and a vector drawer, searched by one magnifying glass.",{"slug":1016,"published":1017,"updated":738,"minutes":522,"category":8,"tags":1018,"tagPages":1021,"keywords":1022,"about":1032,"sources":1037,"cover":1070,"og":1071,"expertise":80,"locales":1072,"lang":82,"title":1073,"description":1074,"coverAlt":1075},"turbopuffer","2026-09-29",[1016,760,1019,1020,952],"Object storage","Pricing",[955],[1016,1023,1024,1025,1026,1027,1028,1029,1030,1031],"turbopuffer pricing","vector search on object storage","serverless vector database","turbopuffer vs pinecone","turbopuffer namespaces","spfresh vector index","hybrid search bm25 vector","per-query vector database pricing","object storage vector database",[1033,1034,1036],{"name":760,"url":761},{"name":1019,"url":1035},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObject_storage",{"name":598,"url":599},[1038,1041,1044,1047,1050,1053,1056,1059,1061,1064,1067],{"title":1039,"url":1040},"turbopuffer blog: turbopuffer (updated Mar 2026)","https:\u002F\u002Fturbopuffer.com\u002Fblog\u002Fturbopuffer",{"title":1042,"url":1043},"turbopuffer blog: ANN v3 (Jan 2026)","https:\u002F\u002Fturbopuffer.com\u002Fblog\u002Fann-v3",{"title":1045,"url":1046},"SPFresh (SOSP 2023)","https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F3600006.3613166",{"title":1048,"url":1049},"turbopuffer blog: native filtering","https:\u002F\u002Fturbopuffer.com\u002Fblog\u002Fnative-filtering",{"title":1051,"url":1052},"turbopuffer docs: hybrid search","https:\u002F\u002Fturbopuffer.com\u002Fdocs\u002Fhybrid",{"title":1054,"url":1055},"turbopuffer blog: native embedding (Sep 2026)","https:\u002F\u002Fturbopuffer.com\u002Fblog\u002Fnative-embedding",{"title":1057,"url":1058},"turbopuffer docs: architecture","https:\u002F\u002Fturbopuffer.com\u002Fdocs\u002Farchitecture",{"title":1023,"url":1060},"https:\u002F\u002Fturbopuffer.com\u002Fpricing",{"title":1062,"url":1063},"turbopuffer docs: limits","https:\u002F\u002Fturbopuffer.com\u002Fdocs\u002Flimits",{"title":1065,"url":1066},"turbopuffer v3 benchmarks","https:\u002F\u002Fturbopuffer.com\u002Fv3",{"title":1068,"url":1069},"Pinecone pricing","https:\u002F\u002Fwww.pinecone.io\u002Fpricing\u002F","\u002Fimages\u002Fblog\u002Fturbopuffer\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fturbopuffer\u002Fog.jpg",[82,83,84],"turbopuffer review: vector search built on object storage, and what it costs per query","turbopuffer reviewed: object storage as the source of truth, SPFresh and RaBitQ, hybrid search, per-GB pricing against Pinecone, and when it wins.","turbopuffer review: a large storage bucket below and a small cache tray above that pulls up a few cards.",{"slug":1077,"published":1017,"updated":412,"minutes":522,"category":8,"tags":1078,"tagPages":1081,"keywords":1082,"about":1093,"sources":1099,"cover":1136,"og":1137,"expertise":80,"locales":1138,"lang":82,"title":1139,"description":1140,"coverAlt":1141},"table-extraction-rag",[11,1079,1080,343,524],"Tables","Document parsing",[8,348],[1083,1084,1085,1086,1087,1088,1089,1090,1091,1092],"table extraction for RAG","tables in RAG pipelines","pdfplumber vs Camelot","Table Transformer PubTables-1M","Docling table mode TableFormer","Azure Document Intelligence tables","TEDS metric limitations","markdown vs HTML table for LLM","text-to-SQL for table questions","LlamaParse table extraction",[1094,1095,1098],{"name":110,"url":111},{"name":1096,"url":1097},"Table (information)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTable_%28information%29",{"name":433,"url":434},[1100,1103,1106,1109,1112,1115,1118,1121,1124,1127,1130,1133],{"title":1101,"url":1102},"Factorial study of parsers, chunkers and retrievers (arXiv 2609.31660)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2609.31660",{"title":1104,"url":1105},"pdfplumber on GitHub","https:\u002F\u002Fgithub.com\u002Fjsvine\u002Fpdfplumber",{"title":1107,"url":1108},"Camelot documentation","https:\u002F\u002Fcamelot-py.readthedocs.io\u002Fen\u002Flatest\u002F",{"title":1110,"url":1111},"Microsoft Table Transformer (archived)","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftable-transformer",{"title":1113,"url":1114},"PubTabNet and TEDS (arXiv 1911.10683)","https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.10683",{"title":1116,"url":1117},"Semantic evaluation of table extraction (arXiv 2603.18652)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.18652",{"title":1119,"url":1120},"TableFormer (arXiv 2203.01017)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.01017",{"title":1122,"url":1123},"Docling docs: advanced options","https:\u002F\u002Fdocling-project.github.io\u002Fdocling\u002Fusage\u002Fadvanced_options\u002F",{"title":1125,"url":1126},"Azure Document Intelligence: layout model","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fdocument-intelligence\u002Fprebuilt\u002Flayout",{"title":1128,"url":1129},"Table Meets LLM (WSDM 2024)","https:\u002F\u002Fzmy.io\u002Ffiles\u002Fwsdm24-SUC.pdf",{"title":1131,"url":1132},"TableRAG (arXiv 2410.04739)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.04739",{"title":1134,"url":1135},"Chain-of-Table (arXiv 2401.04398)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2401.04398","\u002Fimages\u002Fblog\u002Ftable-extraction-rag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ftable-extraction-rag\u002Fog.jpg",[82,83,84],"Table extraction for RAG: extraction layers, serialization and queries that hold","Tables in RAG: why chunking breaks them, pdfplumber, Camelot, Docling and cloud extractors, what TEDS misses, serialization, and routing questions to SQL.","Table extraction for RAG: a table on a page becomes separate row strips that each keep a header tab.",{"slug":1143,"published":1144,"updated":6,"minutes":522,"category":8,"tags":1145,"tagPages":1148,"keywords":1149,"about":1160,"sources":1166,"cover":1200,"og":1201,"expertise":80,"locales":1202,"lang":82,"title":1203,"description":1204,"coverAlt":1205},"embedding-fine-tuning-domain","2026-09-28",[10,1146,11,343,1147],"Fine-tuning","Sentence Transformers",[16,8,348],[1150,1151,1152,1153,1154,1155,1156,1157,1158,1159],"fine-tuning embedding models","domain adaptation embeddings","hard negative mining retrieval","MultipleNegativesRankingLoss","GISTEmbed vs MNRL","Matryoshka embedding dimensions","Qwen3-Embedding fine-tune","BGE-M3 vs EmbeddingGemma","embedding evaluation recall@k","catastrophic forgetting dense retrieval",[1161,1162,1165],{"name":33,"url":34},{"name":1163,"url":1164},"Fine-tuning (deep learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFine-tuning_%28deep_learning%29",{"name":36,"url":37},[1167,1170,1173,1176,1179,1182,1185,1186,1189,1192,1195,1197],{"title":1168,"url":1169},"Sentence Transformers: training overview","https:\u002F\u002Fsbert.net\u002Fdocs\u002Fsentence_transformer\u002Ftraining_overview.html",{"title":1171,"url":1172},"Sentence Transformers: loss overview","https:\u002F\u002Fsbert.net\u002Fdocs\u002Fsentence_transformer\u002Floss_overview.html",{"title":1174,"url":1175},"Sentence Transformers: hard negative mining","https:\u002F\u002Fsbert.net\u002Fdocs\u002Fpackage_reference\u002Futil\u002Fhard_negatives.html",{"title":1177,"url":1178},"RocketQA (arXiv 2010.08191)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2010.08191",{"title":1180,"url":1181},"InPars (arXiv 2202.05144)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.05144",{"title":1183,"url":1184},"Promptagator (arXiv 2209.11755)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2209.11755",{"title":865,"url":866},{"title":1187,"url":1188},"BAAI\u002Fbge-m3 model card","https:\u002F\u002Fhuggingface.co\u002FBAAI\u002Fbge-m3",{"title":1190,"url":1191},"Google: EmbeddingGemma docs (Oct 2026)","https:\u002F\u002Fai.google.dev\u002Fgemma\u002Fdocs\u002Fembeddinggemma",{"title":1193,"url":1194},"Sentence Transformers: Matryoshka embeddings","https:\u002F\u002Fsbert.net\u002Fexamples\u002Fsentence_transformer\u002Ftraining\u002Fmatryoshka\u002FREADME.html",{"title":1196,"url":44},"MMTEB (arXiv 2502.13595)",{"title":1198,"url":1199},"ANCE-Tele (arXiv 2210.17167)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.17167","\u002Fimages\u002Fblog\u002Fembedding-fine-tuning-domain\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fembedding-fine-tuning-domain\u002Fog.jpg",[82,83,84],"Fine-tuning embedding models for your domain: hard negatives, losses and evals","Fine-tuning embedding models for your domain: when it beats a reranker, hard negatives, sentence-transformers v6 losses, Matryoshka, evals and cost.","Fine-tuning embedding models: loose dots on the left become tight clusters on the right after training.",{"slug":1207,"published":1144,"updated":738,"minutes":522,"category":8,"tags":1208,"tagPages":1212,"keywords":1213,"about":1223,"sources":1229,"cover":1260,"og":1261,"expertise":80,"locales":1262,"lang":82,"title":1263,"description":1264,"coverAlt":1265},"splade-learned-sparse-retrieval",[1209,1210,1211,952,950],"SPLADE","Sparse retrieval","BM25",[955],[1214,1209,1215,1216,1217,1218,1219,1220,1221,1222],"learned sparse retrieval","SPLADE++ vs BM25","neural sparse search","Elasticsearch sparse_vector","ELSER","rank_features","OpenSearch neural sparse","learned sparse retrieval index size","sentence-transformers sparse encoder",[1224,1225,1228],{"name":113,"url":114},{"name":1226,"url":1227},"Inverted index","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInverted_index",{"name":903,"url":904},[1230,1233,1236,1239,1242,1245,1248,1251,1254,1257],{"title":1231,"url":1232},"naver\u002Fsplade on GitHub","https:\u002F\u002Fgithub.com\u002Fnaver\u002Fsplade",{"title":1234,"url":1235},"SPLADE++ (arXiv 2205.04733)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.04733",{"title":1237,"url":1238},"naver\u002Fsplade-v3 model card","https:\u002F\u002Fhuggingface.co\u002Fnaver\u002Fsplade-v3",{"title":1240,"url":1241},"Static pruning for learned sparse indexes (arXiv 2304.12702)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2304.12702",{"title":1243,"url":1244},"OpenSearch blog: faster semantic sparse retrieval in 2.12","https:\u002F\u002Fopensearch.org\u002Fblog\u002FA-deep-dive-into-faster-semantic-sparse-retrieval-in-os-2-12\u002F",{"title":1246,"url":1247},"OpenSearch docs: sparse encoding processor","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fingest-pipelines\u002Fprocessors\u002Fsparse-encoding\u002F",{"title":1249,"url":1250},"Elastic docs: sparse_vector field type","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Felasticsearch\u002Fmapping-reference\u002Fsparse-vector",{"title":1252,"url":1253},"Elastic docs: ELSER","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fexplore-analyze\u002Fmachine-learning\u002Fnlp\u002Fml-nlp-elser",{"title":1255,"url":1256},"Elastic Search Labs: ELSER v2, part 2","https:\u002F\u002Fwww.elastic.co\u002Fsearch-labs\u002Fblog\u002Fintroducing-elser-v2-part-2",{"title":1258,"url":1259},"Sentence Transformers: sparse encoder usage","https:\u002F\u002Fsbert.net\u002Fdocs\u002Fsparse_encoder\u002Fusage\u002Fusage.html","\u002Fimages\u002Fblog\u002Fsplade-learned-sparse-retrieval\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsplade-learned-sparse-retrieval\u002Fog.jpg",[82,83,84],"SPLADE and learned sparse retrieval in practice: BM25, index size, latency","Learned sparse retrieval in practice: how SPLADE expands terms, models and licenses, index size and latency, engine support and when it beats BM25.","SPLADE learned sparse retrieval: a word strip fans out into many thin bars, a few tall ones feeding an index box.",{"slug":1267,"published":1268,"updated":1269,"minutes":522,"category":8,"tags":1270,"tagPages":1273,"keywords":1274,"about":1285,"sources":1293,"cover":1328,"og":1329,"expertise":80,"locales":1330,"lang":82,"title":1331,"description":1332,"coverAlt":1333},"knowledge-graph-extraction-llm","2026-09-25","2026-10-12",[673,672,1271,11,1272],"Entity resolution","Neo4j",[8],[1275,1276,1277,1278,1279,1280,1281,1282,1283,1284],"knowledge graph extraction with LLMs","GraphRAG indexing","entity resolution knowledge graph","triple extraction prompt","ontology design for LLM extraction","entity deduplication embeddings","knowledge graph provenance","incremental knowledge graph updates","GraphRAG cost","Neo4j SimpleKGPipeline",[1286,1287,1290],{"name":624,"url":688},{"name":1288,"url":1289},"Record linkage","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRecord_linkage",{"name":1291,"url":1292},"Ontology (information science)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOntology_%28information_science%29",[1294,1297,1300,1302,1305,1308,1311,1314,1317,1320,1323,1325],{"title":1295,"url":1296},"Microsoft GraphRAG: default dataflow","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgraphrag\u002Fblob\u002Fmain\u002Fdocs\u002Findex\u002Fdefault_dataflow.md",{"title":1298,"url":1299},"Microsoft GraphRAG on GitHub","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgraphrag",{"title":1301,"url":717},"Microsoft Research: LazyGraphRAG (Nov 2024)",{"title":1303,"url":1304},"Microsoft Research: GraphRAG auto-tuning (Sep 2024)","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Fgraphrag-auto-tuning-provides-rapid-adaptation-to-new-domains\u002F",{"title":1306,"url":1307},"neo4j-graphrag-python on GitHub","https:\u002F\u002Fgithub.com\u002Fneo4j\u002Fneo4j-graphrag-python",{"title":1309,"url":1310},"Neo4j GraphRAG: knowledge graph builder guide","https:\u002F\u002Fneo4j.com\u002Fdocs\u002Fneo4j-graphrag-python\u002Fcurrent\u002Fuser_guide_kg_builder.html",{"title":1312,"url":1313},"Splink on GitHub","https:\u002F\u002Fgithub.com\u002Fmoj-analytical-services\u002Fsplink",{"title":1315,"url":1316},"Google LangExtract on GitHub","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Flangextract",{"title":1318,"url":1319},"KGGen (arXiv 2502.09956)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.09956",{"title":1321,"url":1322},"GraphEval (arXiv 2407.10793)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2407.10793",{"title":1324,"url":660},"Zep temporal knowledge graph (arXiv 2501.13956)",{"title":1326,"url":1327},"Kùzu on GitHub","https:\u002F\u002Fgithub.com\u002Fkuzudb\u002Fkuzu","\u002Fimages\u002Fblog\u002Fknowledge-graph-extraction-llm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fknowledge-graph-extraction-llm\u002Fog.jpg",[82,83,84],"Knowledge graph extraction with LLMs: ontology, entity resolution, provenance","Building a knowledge graph with LLMs: a minimal ontology, extraction prompts, entity resolution, provenance, incremental updates, evaluation and storage.","Knowledge graph extraction with LLMs: nodes leave a stack of pages and form a network where two circles merge into one.",{"slug":1335,"published":1268,"updated":6,"minutes":522,"category":8,"tags":1336,"tagPages":1340,"keywords":1341,"about":1352,"sources":1359,"cover":1393,"og":1394,"expertise":80,"locales":1395,"lang":82,"title":1396,"description":1397,"coverAlt":1398},"incremental-indexing-cdc",[11,1337,526,1338,1339],"Change data capture","Vector databases","Data freshness",[8],[1342,1343,1344,1345,1346,1347,1348,1349,1350,1351],"incremental indexing for RAG","change data capture RAG","Debezium Postgres logical decoding","re-embedding cost","blue\u002Fgreen index swap vector database","index staleness monitoring","delete propagation vector index","permission changes RAG index","Qdrant aliases","high water mark change detection",[1353,1355,1356],{"name":1337,"url":1354},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FChange_data_capture",{"name":110,"url":111},{"name":1357,"url":1358},"Blue–green deployment","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBlue%E2%80%93green_deployment",[1360,1363,1366,1369,1372,1375,1378,1381,1384,1386,1389,1392],{"title":1361,"url":1362},"PostgreSQL docs: logical decoding concepts","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Flogicaldecoding-explanation.html",{"title":1364,"url":1365},"Debezium docs: PostgreSQL connector","https:\u002F\u002Fdebezium.io\u002Fdocumentation\u002Freference\u002Fstable\u002Fconnectors\u002Fpostgresql.html",{"title":1367,"url":1368},"PostgreSQL docs: CREATE PUBLICATION","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fsql-createpublication.html",{"title":1370,"url":1371},"PostgreSQL docs: pg_replication_slots","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fview-pg-replication-slots.html",{"title":1373,"url":1374},"Azure AI Search: changed and deleted blobs","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsearch-howto-index-changed-deleted-blobs",{"title":1376,"url":1377},"Azure AI Search: scheduling indexers","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsearch-howto-schedule-indexers",{"title":1379,"url":1380},"Qdrant docs: collections and aliases","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fcollections\u002F",{"title":1382,"url":1383},"Elastic docs: aliases","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fmanage-data\u002Fdata-store\u002Faliases",{"title":1385,"url":186},"pgvector on GitHub",{"title":1387,"url":1388},"GDPR Article 17","https:\u002F\u002Fgdpr-info.eu\u002Fart-17-gdpr\u002F",{"title":1390,"url":1391},"OpenAI API pricing","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fpricing",{"title":863,"url":62},"\u002Fimages\u002Fblog\u002Fincremental-indexing-cdc\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fincremental-indexing-cdc\u002Fog.jpg",[82,83,84],"Keeping a RAG index fresh: incremental indexing, CDC and blue\u002Fgreen re-embedding","Keeping a RAG index current: staleness budgets, dirty tracking, CDC from Postgres with Debezium, deletes and permissions, blue\u002Fgreen swaps and costs.","Incremental indexing and CDC: a database streams changes into a cabinet, with a second cabinet and a switch beside it.",{"slug":1400,"published":1401,"updated":1402,"minutes":7,"category":8,"tags":1403,"tagPages":1405,"keywords":1406,"about":1413,"sources":1418,"cover":1443,"og":1444,"expertise":80,"locales":1445,"lang":82,"title":1446,"description":1447,"coverAlt":1448},"lancedb","2026-09-21","2026-10-07",[13,952,1404,11],"Embedded database",[17,955,8],[1400,1407,1408,1409,1410,960,1411,1412],"lancedb review","lance vector database","embedded vector database","lancedb vs qdrant","lancedb indexing","lance data format",[1414,1415],{"name":760,"url":761},{"name":1416,"url":1417},"Apache Arrow","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_Arrow",[1419,1422,1425,1428,1431,1434,1437,1440],{"title":1420,"url":1421},"LanceDB quickstart","https:\u002F\u002Fdocs.lancedb.com\u002Fquickstart",{"title":1423,"url":1424},"LanceDB vector indexes","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Fvector-index",{"title":1426,"url":1427},"LanceDB indexing guide","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Findex",{"title":1429,"url":1430},"LanceDB hybrid search","https:\u002F\u002Fdocs.lancedb.com\u002Fsearch\u002Fhybrid-search",{"title":1432,"url":1433},"LanceDB Enterprise","https:\u002F\u002Fdocs.lancedb.com\u002Fenterprise",{"title":1435,"url":1436},"LanceDB frequently asked questions","https:\u002F\u002Fdocs.lancedb.com\u002Ffaq\u002Ffaq-oss",{"title":1438,"url":1439},"LanceDB pricing","https:\u002F\u002Flancedb.com\u002Fpricing",{"title":1441,"url":1442},"LanceDB on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Flancedb\u002F","\u002Fimages\u002Fblog\u002Flancedb\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flancedb\u002Fog.jpg",[82,83,84],"LanceDB: vector search that starts as a library","LanceDB review: an Apache-2.0 embedded vector library with IVF and HNSW index choices, hybrid search with rank fusion, and what the Enterprise tier adds.","LanceDB vector search: shelves of sorted marbles pop up from an open book on a desk.",{"slug":580,"published":1401,"updated":738,"minutes":90,"category":8,"tags":1450,"tagPages":1454,"keywords":1455,"about":1462,"sources":1466,"cover":1481,"og":1482,"expertise":80,"locales":1483,"lang":82,"title":1484,"description":1485,"coverAlt":1486},[13,1451,1452,11,1453],"Postgres","HNSW","Quantisation",[17,8],[580,1456,1457,1458,1459,1460,1461],"pgvector vs qdrant","postgres vector search","hnsw index postgres","iterative index scans","binary quantization postgres","vector database postgres",[1463,1464],{"name":580,"url":186},{"name":526,"url":1465},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPostgreSQL",[1467,1469,1472,1475,1478],{"title":1468,"url":186},"pgvector README",{"title":1470,"url":1471},"pgvector changelog","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":1473,"url":1474},"PostgreSQL news: pgvector 0.8.2 released","https:\u002F\u002Fwww.postgresql.org\u002Fabout\u002Fnews\u002Fpgvector-082-released-3245\u002F",{"title":1476,"url":1477},"AWS: Scale pgvector with binary quantization","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fscale-pgvector-with-binary-quantization-on-amazon-aurora-postgresql\u002F",{"title":1479,"url":1480},"pgvector licence","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FLICENSE","\u002Fimages\u002Fblog\u002Fpgvector\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector\u002Fog.jpg",[82,83,84],"pgvector, reviewed: the vector database you do not have to run","pgvector 0.8.7: iterative scans for filtered search, HNSW and IVFFlat, binary quantisation at 100M vectors, and the CVE behind an index-build patch.","pgvector review: an elephant carries a small chest of drawers with sorted marbles on its back.",{"slug":1488,"published":1489,"updated":738,"minutes":90,"category":8,"tags":1490,"tagPages":1492,"keywords":1493,"about":1499,"sources":1503,"cover":1531,"og":1532,"expertise":80,"locales":1533,"lang":82,"title":1534,"description":1535,"coverAlt":1536},"mem0","2026-09-17",[623,1491,11,13],"Long-term memory",[8,17],[1488,1494,1495,1496,1497,635,1498],"mem0 review","agent memory layer","mem0 self-hosted","mem0 pricing","mem0 alternatives",[1500],{"name":1501,"url":1502},"Mem0","https:\u002F\u002Fmem0.ai",[1504,1507,1510,1513,1516,1519,1522,1525,1528],{"title":1505,"url":1506},"Mem0 documentation","https:\u002F\u002Fdocs.mem0.ai\u002Fintroduction",{"title":1508,"url":1509},"Mem0 quickstart","https:\u002F\u002Fdocs.mem0.ai\u002Fquickstart",{"title":1511,"url":1512},"How Mem0 works","https:\u002F\u002Fdocs.mem0.ai\u002Fcore-concepts\u002Fhow-it-works",{"title":1514,"url":1515},"Mem0 pricing","https:\u002F\u002Fmem0.ai\u002Fpricing",{"title":1517,"url":1518},"Mem0 on GitHub","https:\u002F\u002Fgithub.com\u002Fmem0ai\u002Fmem0",{"title":1520,"url":1521},"mem0ai on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fmem0ai\u002F",{"title":1523,"url":1524},"Mem0 research and benchmarks","https:\u002F\u002Fmem0.ai\u002Fresearch",{"title":1526,"url":1527},"Mem0 MCP server","https:\u002F\u002Fdocs.mem0.ai\u002Fplatform\u002Fmem0-mcp",{"title":1529,"url":1530},"Mem0 paper on arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.19413","\u002Fimages\u002Fblog\u002Fmem0\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmem0\u002Fog.jpg",[82,83,84],"Mem0: what an agent memory layer costs per turn","Mem0: facts extracted from every turn, the April 2026 benchmark table and its platform-only caveat, four cloud tiers, and what self-hosting leaves out.","Mem0 memory layer: a robot writes notes next to a coin parking meter, sticky notes trailing behind.",{"slug":1538,"published":1539,"updated":1540,"minutes":90,"category":8,"tags":1541,"tagPages":1544,"keywords":1545,"about":1554,"sources":1562,"cover":1581,"og":1582,"expertise":80,"locales":1583,"lang":82,"title":1584,"description":1585,"coverAlt":1586},"milvus-zilliz","2026-09-08","2026-09-20",[13,952,1542,1543,11],"BM25 full text","Distributed",[17,955,8],[1546,1547,1548,1549,1550,1551,1552,1553],"milvus","milvus vs qdrant","zilliz cloud pricing","vector database comparison","milvus hybrid search","apache milvus self-hosting","milvus 3.0","rag vector store",[1555,1558,1561],{"name":1556,"url":1557},"Milvus","https:\u002F\u002Fmilvus.io",{"name":1559,"url":1560},"Zilliz Cloud","https:\u002F\u002Fzilliz.com",{"name":110,"url":111},[1563,1566,1569,1572,1575,1578],{"title":1564,"url":1565},"Milvus architecture overview","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Farchitecture_overview.md",{"title":1567,"url":1568},"Milvus release notes","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Frelease_notes.md",{"title":1570,"url":1571},"Milvus releases on GitHub","https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus\u002Freleases",{"title":1573,"url":1574},"Milvus README: features and licence","https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus",{"title":1576,"url":1577},"Zilliz Cloud pricing","https:\u002F\u002Fzilliz.com\u002Fpricing",{"title":1579,"url":1580},"Zilliz Cloud list price","https:\u002F\u002Fzilliz.com\u002Fpricing\u002Fpricing-guide","\u002Fimages\u002Fblog\u002Fmilvus-zilliz\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmilvus-zilliz\u002Fog.jpg",[82,83,84],"Milvus review: the most complete vector database to operate","Milvus 3.0.2 is the most complete open-source vector database and the heaviest to run: architecture, hybrid search, costs, and where not to use it.","Milvus review: a warehouse with tall racks and a forklift, a worker with a wrench at a dial panel.",{"slug":1588,"published":1539,"updated":669,"minutes":90,"category":8,"tags":1589,"tagPages":1593,"keywords":1594,"about":1602,"sources":1606,"cover":1621,"og":1622,"expertise":80,"locales":1623,"lang":82,"title":1624,"description":1625,"coverAlt":1626},"graphrag",[624,11,1590,1591,1592],"Global search","Community summaries","Token cost",[8],[1588,1595,1596,1597,1598,1599,1600,1601],"microsoft graphrag","graphrag vs vector rag","graphrag indexing cost","graphrag query modes","graphrag lightRAG comparison","knowledge graph rag","graphrag dynamic community selection",[1603,1605],{"name":672,"url":1604},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgraphrag\u002F",{"name":110,"url":111},[1607,1609,1611,1613,1616,1618],{"title":1608,"url":1299},"GraphRAG on GitHub",{"title":1610,"url":699},"GraphRAG documentation",{"title":1612,"url":696},"From Local to Global: A Graph RAG Approach to Query-Focused Summarization",{"title":1614,"url":1615},"GraphRAG: Improving global search via dynamic community selection","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Fgraphrag-improving-global-search-via-dynamic-community-selection\u002F",{"title":1617,"url":717},"LazyGraphRAG: Setting a new standard for quality and cost",{"title":1619,"url":1620},"Graph RAG in 2026: What Actually Works in Production","https:\u002F\u002Fwww.paperclipped.de\u002Fen\u002Fblog\u002Fgraph-rag-production\u002F","\u002Fimages\u002Fblog\u002Fgraphrag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgraphrag\u002Fog.jpg",[82,83,84],"Microsoft GraphRAG: a knowledge-graph RAG priced up front","A review of Microsoft GraphRAG 3.2.0: MIT, maintenance mode, and an indexing bill that is decided before the first query runs.","Microsoft GraphRAG: a corkboard of pinned cards linked by strings, with a price tag on its corner.",{"slug":1628,"published":1629,"updated":1630,"minutes":90,"category":8,"tags":1631,"tagPages":1637,"keywords":1639,"about":1645,"sources":1649,"cover":1671,"og":1672,"expertise":80,"locales":1673,"lang":82,"title":1674,"description":1675,"coverAlt":1676},"firecrawl","2026-08-25","2026-09-04",[1632,1633,1634,1635,1636],"Web scraping","RAG ingestion","Crawling","MCP","AGPL",[1638],"mcp",[1628,1640,1641,1642,1643,1644],"firecrawl vs apify","firecrawl alternative","web scraping api for llm","firecrawl self-hosting","markdown scraper api",[1646],{"name":1647,"url":1648},"Firecrawl","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl",[1650,1653,1656,1659,1662,1665,1668],{"title":1651,"url":1652},"Firecrawl pricing","https:\u002F\u002Fwww.firecrawl.dev\u002Fpricing",{"title":1654,"url":1655},"Firecrawl crawl documentation","https:\u002F\u002Fdocs.firecrawl.dev\u002Ffeatures\u002Fcrawl",{"title":1657,"url":1658},"Firecrawl self-hosting guide","https:\u002F\u002Fdocs.firecrawl.dev\u002Fcontributing\u002Fself-host",{"title":1660,"url":1661},"Open source or Firecrawl Cloud","https:\u002F\u002Fdocs.firecrawl.dev\u002Fcontributing\u002Fopen-source-or-cloud",{"title":1663,"url":1664},"Firecrawl benchmarks","https:\u002F\u002Fwww.firecrawl.dev\u002Fbenchmarks",{"title":1666,"url":1667},"Apify pricing","https:\u002F\u002Fapify.com\u002Fpricing",{"title":1669,"url":1670},"Browserbase pricing","https:\u002F\u002Fwww.browserbase.com\u002Fpricing","\u002Fimages\u002Fblog\u002Ffirecrawl\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ffirecrawl\u002Fog.jpg",[82,83,84],"Firecrawl: a web crawling API reviewed for RAG pipelines","Firecrawl turns URLs into clean Markdown through one hosted API. What it costs, where crawl accounting breaks down, and when to run the AGPL core yourself.","Firecrawl review: a spider on a web spun across a browser window drops neat pages into a basket.",{"slug":1678,"published":1679,"updated":1489,"minutes":670,"category":8,"tags":1680,"tagPages":1684,"keywords":1685,"about":1696,"sources":1702,"cover":1741,"og":1742,"expertise":267,"locales":1743,"lang":82,"title":1744,"description":1745,"coverAlt":1746},"semantic-product-search-b2b","2026-08-21",[1681,952,1682,1683,951],"B2B search","Semantic search","Spryker",[955],[1686,1687,1688,1689,1690,1691,1692,1693,1694,1695],"semantic product search B2B","B2B ecommerce search","hybrid search BM25 vector","part number search ecommerce","Spryker search Elasticsearch","OpenSearch hybrid search RRF","multilingual product search German English Hungarian","zero results rate site search","LLM query understanding ecommerce","AI product search for B2B shops",[1697,1699,1700],{"name":1682,"url":1698},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSemantic_search",{"name":950,"url":969},{"name":951,"url":1701},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenSearch",[1703,1706,1709,1712,1715,1718,1721,1724,1727,1730,1733,1736,1738],{"title":1704,"url":1705},"Baymard Institute: E-commerce search query types","https:\u002F\u002Fbaymard.com\u002Fblog\u002Fecommerce-search-query-types",{"title":1707,"url":1708},"Elastic Search Labs: Hybrid search in Elasticsearch","https:\u002F\u002Fwww.elastic.co\u002Fsearch-labs\u002Fblog\u002Fhybrid-search-elasticsearch",{"title":1710,"url":1711},"Elasticsearch documentation: kNN query (pre-filters and post-filters)","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Fquery-languages\u002Fquery-dsl\u002Fquery-dsl-knn-query",{"title":1713,"url":1714},"Elasticsearch documentation: Semantic reranking","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Franking\u002Fsemantic-reranking",{"title":1716,"url":1717},"Elasticsearch documentation: Word delimiter graph token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-word-delimiter-graph-tokenfilter",{"title":1719,"url":1720},"Elasticsearch documentation: Synonym graph token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-synonym-graph-tokenfilter",{"title":1722,"url":1723},"OpenSearch documentation: Score ranker processor (RRF)","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fsearch-plugins\u002Fsearch-pipelines\u002Fscore-ranker-processor\u002F",{"title":1725,"url":1726},"OpenSearch documentation: Normalization processor","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fsearch-plugins\u002Fsearch-pipelines\u002Fnormalization-processor\u002F",{"title":1728,"url":1729},"Spryker documentation: Search feature overview","https:\u002F\u002Fdocs.spryker.com\u002Fdocs\u002Fpbc\u002Fall\u002Fsearch\u002Flatest\u002Fbase-shop\u002Fsearch-feature-overview\u002Fsearch-feature-overview",{"title":1731,"url":1732},"Spryker documentation: Migrate from OpenSearch 1.3 to 3.5","https:\u002F\u002Fdocs.spryker.com\u002Fdocs\u002Fpbc\u002Fall\u002Fsearch\u002Flatest\u002Fbase-shop\u002Finstall-and-upgrade\u002Fmigrate-from-opensearch-1.3-to-3.5.html",{"title":1734,"url":1735},"Instacart via ZenML: Rebuilding query understanding for e-commerce search with LLMs","https:\u002F\u002Fwww.zenml.io\u002Fllmops-database\u002Frebuilding-query-understanding-for-e-commerce-search-with-llms",{"title":1737,"url":498},"arXiv: M3-Embedding, multilingual, multi-functionality, multi-granularity text embeddings",{"title":1739,"url":1740},"Algolia documentation: Search analytics metrics","https:\u002F\u002Fwww.algolia.com\u002Fdoc\u002Fguides\u002Fsearch-analytics\u002Fconcepts\u002Fmetrics\u002F","\u002Fimages\u002Fblog\u002Fsemantic-product-search-b2b\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsemantic-product-search-b2b\u002Fog.jpg",[82,83,84],"Semantic product search for B2B shops: part numbers, hybrid retrieval and what to measure","Semantic search for B2B shops without breaking part-number search: hybrid BM25 and vectors, filters, DE\u002FEN\u002FHU, LLM query parsing, reranking and metrics.","Semantic product search for B2B shops: a magnifier hovers over a bin of screws on a hardware store shelf.",{"slug":1748,"published":1749,"updated":1750,"minutes":670,"category":8,"tags":1751,"tagPages":1756,"keywords":1757,"about":1768,"sources":1776,"cover":1816,"og":1817,"expertise":80,"locales":1818,"lang":82,"title":1819,"description":1820,"coverAlt":1821},"llm-hallucination-grounding-citations","2026-08-20","2026-09-01",[1752,11,1753,1754,1755],"Hallucinations","Citations","Grounding","Faithfulness",[8],[1758,1759,1760,1761,1762,1763,1764,1765,1766,1767],"reduce LLM hallucinations in production","how to reduce hallucinations in RAG","LLM citations API","Anthropic citations API","RAG faithfulness metric","LLM abstention I don't know","claim-level verification LLM","grounding LLM answers in sources","check grounding API","show sources in AI chatbot UI",[1769,1772,1773],{"name":1770,"url":1771},"Hallucination (artificial intelligence)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHallucination_(artificial_intelligence)",{"name":110,"url":111},{"name":1774,"url":1775},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[1777,1780,1783,1786,1789,1792,1795,1798,1801,1804,1807,1810,1813],{"title":1778,"url":1779},"Anthropic: Citations (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcitations",{"title":1781,"url":1782},"Anthropic: Search results (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fsearch-results",{"title":1784,"url":1785},"Anthropic: Reduce hallucinations (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Ftest-and-evaluate\u002Fstrengthen-guardrails\u002Freduce-hallucinations",{"title":1787,"url":1788},"Anthropic: Introducing Citations on the Anthropic API","https:\u002F\u002Fclaude.com\u002Fblog\u002Fintroducing-citations-api",{"title":1790,"url":1791},"Simon Willison: Anthropic's new Citations API (24 January 2025)","https:\u002F\u002Fsimonwillison.net\u002F2025\u002FJan\u002F24\u002Fanthropics-new-citations-api\u002F",{"title":1793,"url":1794},"OpenAI: Web search guide (url_citation annotations and display requirement)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-web-search",{"title":1796,"url":1797},"Cohere: Documents and citations","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fdocuments-and-citations",{"title":1799,"url":1800},"Google Cloud: Check grounding API","https:\u002F\u002Fdocs.cloud.google.com\u002Fgenerative-ai-app-builder\u002Fdocs\u002Fcheck-grounding",{"title":1802,"url":1803},"AWS: Amazon Bedrock Guardrails contextual grounding check","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fguardrails-contextual-grounding-check.html",{"title":1805,"url":1806},"Ragas: Faithfulness metric","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Ffaithfulness\u002F",{"title":1808,"url":1809},"Kalai, Nachum, Vempala, Zhang: Why Language Models Hallucinate (arXiv 2509.04664)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2509.04664",{"title":1811,"url":1812},"Magesh et al.: Hallucination-Free? Assessing the Reliability of Leading AI Legal Research Tools (arXiv 2405.20362)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.20362",{"title":1814,"url":1815},"Wallat, Heuss, de Rijke, Anand: Correctness is not Faithfulness in RAG Attributions (arXiv 2412.18004)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.18004","\u002Fimages\u002Fblog\u002Fllm-hallucination-grounding-citations\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-hallucination-grounding-citations\u002Fog.jpg",[82,83,84],"Reducing LLM hallucinations in production: grounding, citations and knowing when to say no","Cutting hallucinations in production RAG: citation APIs, abstention, claim-level checks, faithfulness metrics, source UI, and what still slips through.","Reducing LLM hallucinations: a hot air balloon is tied down by ropes anchored to a stack of books.",{"slug":1823,"published":1824,"updated":1825,"minutes":522,"category":8,"tags":1826,"tagPages":1829,"keywords":1830,"about":1838,"sources":1842,"cover":1859,"og":1860,"expertise":80,"locales":1861,"lang":82,"title":1862,"description":1863,"coverAlt":1864},"rag-2026-hybrid-agentic-long-context","2026-07-30","2026-09-22",[11,1827,1828,952,93],"Long context","Agentic search",[8,955],[1831,1832,1833,1834,97,1835,1836,1837],"RAG in 2026","long context vs RAG","agentic RAG","hybrid search","is RAG dead","agentic search vs vector search","RAG vs 1M token context window",[1839,1840,1841],{"name":110,"url":111},{"name":1774,"url":1775},{"name":113,"url":114},[1843,1845,1848,1851,1853,1856],{"title":1844,"url":121},"Anthropic: Introducing Contextual Retrieval",{"title":1846,"url":1847},"Chroma: Context Rot","https:\u002F\u002Fwww.trychroma.com\u002Fresearch\u002Fcontext-rot",{"title":1849,"url":1850},"Liu et al., Lost in the Middle (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":1852,"url":139},"Claude docs: Pricing",{"title":1854,"url":1855},"Claude docs: Models overview","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fmodels\u002Foverview",{"title":1857,"url":1858},"Awesome Agentic Patterns: Agentic search over vector embeddings","https:\u002F\u002Fgithub.com\u002Fnibzard\u002Fawesome-agentic-patterns\u002Fblob\u002Fmain\u002Fpatterns\u002Fagentic-search-over-vector-embeddings.md","\u002Fimages\u002Fblog\u002Frag-2026-hybrid-agentic-long-context\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-2026-hybrid-agentic-long-context\u002Fog.jpg",[82,83,84],"RAG in 2026: hybrid retrieval, agentic search, or just a 1M-token context?","RAG in 2026: when a cached 1M-token context beats retrieval, when hybrid search still wins, when agentic search fits, and what each costs per request.","RAG in 2026: a person chooses between paths to a library shelf, a robot with a flashlight and a long scroll.",{"slug":1866,"published":1867,"updated":1824,"minutes":90,"category":8,"tags":1868,"tagPages":1869,"keywords":1870,"about":1879,"sources":1883,"cover":1912,"og":1913,"expertise":80,"locales":1914,"lang":82,"title":1915,"description":1916,"coverAlt":1917},"rag-pipeline-chunking-hybrid-search-reranking","2026-07-24",[11,952,92,883,580],[8,955],[1871,1872,1873,1688,1874,1875,1876,1877,1878],"RAG pipeline","retrieval-augmented generation pipeline","chunking strategy for RAG","reciprocal rank fusion","cross-encoder reranking","pgvector hybrid search","RAG evaluation metrics","how to build a RAG pipeline",[1880,1881,1882],{"name":110,"url":111},{"name":113,"url":114},{"name":580,"url":186},[1884,1887,1890,1893,1894,1897,1900,1903,1904,1907,1908,1910],{"title":1885,"url":1886},"Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (2020)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.11401",{"title":1888,"url":1889},"Cormack, Clarke and Büttcher, Reciprocal Rank Fusion (SIGIR 2009)","https:\u002F\u002Fcormack.uwaterloo.ca\u002Fcormacksigir09-rrf.pdf",{"title":1891,"url":1892},"Malkov and Yashunin, HNSW graphs","https:\u002F\u002Farxiv.org\u002Fabs\u002F1603.09320",{"title":1468,"url":186},{"title":1895,"url":1896},"Elasticsearch: similarity settings","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Felasticsearch\u002Findex-settings\u002Fsimilarity",{"title":1898,"url":1899},"PostgreSQL: controlling text search","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Ftextsearch-controls.html",{"title":1901,"url":1902},"Chroma: Evaluating Chunking Strategies for Retrieval","https:\u002F\u002Fwww.trychroma.com\u002Fresearch\u002Fevaluating-chunking",{"title":1844,"url":121},{"title":1905,"url":1906},"Sentence Transformers: Cross-Encoders","https:\u002F\u002Fsbert.net\u002Fexamples\u002Fcross_encoder\u002Fapplications\u002FREADME.html",{"title":1849,"url":1850},{"title":1909,"url":1779},"Claude docs: Citations",{"title":1911,"url":1806},"RAGAS: Faithfulness","\u002Fimages\u002Fblog\u002Frag-pipeline-chunking-hybrid-search-reranking\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-pipeline-chunking-hybrid-search-reranking\u002Fog.jpg",[82,83,84],"A production RAG pipeline, step by step: chunking, hybrid search and reranking","RAG pipeline step by step: parsing, chunking, pgvector, BM25 and vectors fused with Reciprocal Rank Fusion, reranking, citations and retrieval evals.","RAG pipeline, step by step: a loaf is sliced, the slices go through a sieve and land in a neat row on a plate.",{"slug":1919,"published":1920,"minutes":90,"category":8,"tags":1921,"tagPages":1923,"keywords":1924,"about":1932,"sources":1939,"cover":1967,"og":1968,"expertise":80,"locales":1969,"lang":82,"title":1970,"description":1971,"coverAlt":1972},"chroma","2026-07-20",[13,10,11,952,1922],"Metadata filter",[17,16,8,955],[1925,1926,1927,1928,1929,1930,1931],"chroma vector database","chroma vs qdrant","chroma vs pgvector","hybrid search reciprocal rank fusion","self-hosted vector database","chroma cloud pricing","metadata filtering vector search",[1933,1936],{"name":1934,"url":1935},"Chroma","https:\u002F\u002Fgithub.com\u002Fchroma-core\u002Fchroma",{"name":1937,"url":1938},"Apache License 2.0","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",[1940,1943,1946,1949,1952,1955,1958,1961,1964],{"title":1941,"url":1942},"Chroma documentation: introduction","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Foverview\u002Fintroduction",{"title":1944,"url":1945},"Chroma architecture overview","https:\u002F\u002Fdocs.trychroma.com\u002Freference\u002Farchitecture\u002Foverview",{"title":1947,"url":1948},"Chroma: getting started with the SDK","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Foverview\u002Fgetting-started",{"title":1950,"url":1951},"Chroma: query and get","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Fquerying-collections\u002Fquery-and-get",{"title":1953,"url":1954},"Chroma: metadata filtering","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Fquerying-collections\u002Fmetadata-filtering",{"title":1956,"url":1957},"Chroma Cloud: Search API overview","https:\u002F\u002Fdocs.trychroma.com\u002Fcloud\u002Fsearch-api\u002Foverview",{"title":1959,"url":1960},"Chroma Cloud: hybrid search with RRF","https:\u002F\u002Fdocs.trychroma.com\u002Fcloud\u002Fsearch-api\u002Fhybrid-search",{"title":1962,"url":1963},"Chroma Cloud: pricing","https:\u002F\u002Fwww.trychroma.com\u002Fpricing",{"title":1965,"url":1966},"Chroma changelog","https:\u002F\u002Fwww.trychroma.com\u002Fchangelog","\u002Fimages\u002Fblog\u002Fchroma\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fchroma\u002Fog.jpg",[82,83,84],"Chroma: simple vector search with one catch","Chroma is an Apache-2.0 vector database for embedded, single-node or cloud use. Where it is pleasant, and where its best search is cloud-only.","Chroma vector search: a drawer cabinet sorts round marbles, with one cracked pebble on top.",{"slug":1974,"published":1975,"minutes":621,"category":8,"tags":1976,"tagPages":1978,"keywords":1979,"about":1988,"sources":1992,"cover":2016,"og":2017,"expertise":80,"locales":2018,"lang":82,"title":2019,"description":2020,"coverAlt":2021},"pinecone","2026-07-09",[13,10,11,1977,952],"Namespaces",[17,16,8,955],[1980,1981,1982,1983,1984,1985,1986,1987],"pinecone vector database","pinecone pricing","pinecone read units","pinecone namespaces","pinecone vs qdrant","pinecone vs pgvector","pinecone documents api","serverless vector database cost",[1989,1990,1991],{"name":760,"url":761},{"name":598,"url":599},{"name":113,"url":114},[1993,1996,1999,2002,2005,2007,2010,2013],{"title":1994,"url":1995},"Pinecone docs: Index data overview, indexes, namespaces and metadata","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Findexing-overview",{"title":1997,"url":1998},"Pinecone docs: Adopt the Documents API, API version 2026-07","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Fadopt-the-documents-api",{"title":2000,"url":2001},"Pinecone docs: Create an index, schemas, regions and metrics","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Fcreate-an-index",{"title":2003,"url":2004},"Pinecone docs: Understanding Pinecone cost, read units, write units and egress","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Forganizations\u002Fmanage-cost\u002Funderstanding-cost",{"title":2006,"url":1069},"Pinecone pricing: plans, limits and rates",{"title":2008,"url":2009},"Pinecone docs: Semantic search","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Fsearch\u002Fsemantic-search",{"title":2011,"url":2012},"Pinecone docs: Local development with Pinecone Local","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Foperations\u002Flocal-development",{"title":2014,"url":2015},"Pinecone docs: 2026 release notes","https:\u002F\u002Fdocs.pinecone.io\u002Frelease-notes\u002F2026","\u002Fimages\u002Fblog\u002Fpinecone\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpinecone\u002Fog.jpg",[82,83,84],"Pinecone: a review of the managed vector database","Pinecone review: read units scale with namespace size, schemas are fixed at creation, and when self-hosting is the better buy.","Pinecone review: a pine cone on a cloud holds marbles between its scales, a key hanging below.",{"slug":2023,"published":2024,"updated":738,"minutes":670,"category":8,"tags":2025,"tagPages":2027,"keywords":2028,"about":2038,"sources":2042,"cover":2088,"og":2089,"expertise":80,"locales":2090,"lang":82,"title":2091,"description":2092,"coverAlt":2093},"pgvector-vs-vector-databases","2026-06-15",[580,1338,11,952,2026],"EU hosting",[8,955],[2029,2030,2031,2032,2033,588,2034,2035,2036,2037],"pgvector vs vector database","pgvector vs Qdrant","pgvector vs Pinecone","best vector database 2026","pgvector HNSW iterative scan","OpenSearch vs Elasticsearch vector search","vector database EU hosting","hybrid search Postgres","Weaviate vs Milvus",[2039,2040,2041],{"name":760,"url":761},{"name":526,"url":1465},{"name":110,"url":111},[2043,2046,2048,2051,2052,2055,2058,2061,2064,2067,2070,2073,2075,2077,2080,2083,2085],{"title":2044,"url":2045},"pgvector README (index limits, HNSW defaults, iterative scans, filtering, halfvec)","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FREADME.md",{"title":2047,"url":1471},"pgvector CHANGELOG (0.4.0 to 0.8.7)",{"title":2049,"url":2050},"pgvectorscale: StreamingDiskANN, statistical binary quantization, filtered search","https:\u002F\u002Fgithub.com\u002Ftimescale\u002Fpgvectorscale",{"title":260,"url":261},{"title":2053,"url":2054},"Qdrant documentation: Hybrid queries","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fhybrid-queries\u002F",{"title":2056,"url":2057},"Qdrant documentation: Create a cluster (providers, free tier, Hybrid Cloud)","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fcloud\u002Fcreate-cluster\u002F",{"title":2059,"url":2060},"Weaviate documentation: Hybrid search","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconcepts\u002Fsearch\u002Fhybrid-search",{"title":2062,"url":2063},"Weaviate documentation: Vector index types","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconcepts\u002Fvector-index",{"title":2065,"url":2066},"Weaviate Cloud pricing and deployment options","https:\u002F\u002Fweaviate.io\u002Fpricing",{"title":2068,"url":2069},"Milvus documentation: Overview","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Foverview.md",{"title":2071,"url":2072},"Pinecone documentation: Database architecture","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Fget-started\u002Fdatabase-architecture",{"title":2074,"url":2001},"Pinecone documentation: Create an index (clouds, regions, sparse and hybrid)",{"title":2076,"url":996},"OpenSearch documentation: Methods and engines",{"title":2078,"url":2079},"OpenSearch documentation: Efficient k-NN filtering","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fvector-search\u002Ffilter-search-knn\u002Fefficient-knn-filtering\u002F",{"title":2081,"url":2082},"Elasticsearch documentation: Dense vector search","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\u002Fdense-vector",{"title":2084,"url":1711},"Elasticsearch documentation: kNN query (filter as pre-filter)",{"title":2086,"url":2087},"GitHub releases: Qdrant, Weaviate, Milvus, OpenSearch, pgvectorscale (versions as of 1 October 2026)","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Freleases","\u002Fimages\u002Fblog\u002Fpgvector-vs-vector-databases\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector-vs-vector-databases\u002Fog.jpg",[82,83,84],"pgvector or a vector database? How to choose vector storage in 2026","pgvector, Qdrant, Weaviate, Milvus, Pinecone, OpenSearch or Elasticsearch? A practical 2026 guide to filtering, hybrid search, scale, cost and EU hosting.","pgvector or a vector database: a person at a fork chooses between an elephant with drawers and a tall warehouse.",{"slug":2095,"published":2096,"updated":1402,"minutes":90,"category":8,"tags":2097,"tagPages":2098,"keywords":2099,"about":2107,"sources":2116,"cover":2139,"og":2140,"expertise":80,"locales":2141,"lang":82,"title":2142,"description":2143,"coverAlt":2144},"weaviate","2026-06-02",[13,952,1452,579,154],[17,955],[2100,2101,2102,2103,2104,2105,1549,2106],"weaviate vector database","weaviate vs qdrant","weaviate vs pinecone","weaviate vs pgvector","hnsw vs hfresh","weaviate cloud pricing","weaviate hybrid search",[2108,2111,2113],{"name":2109,"url":2110},"Weaviate","https:\u002F\u002Fgithub.com\u002Fweaviate\u002Fweaviate",{"name":2112,"url":599},"Hierarchical Navigable Small World",{"name":2114,"url":2115},"SPFresh","https:\u002F\u002Farxiv.org\u002Fpdf\u002F2410.14452",[2117,2119,2122,2125,2128,2131,2133,2136],{"title":2118,"url":2063},"Weaviate documentation: Vector indexing",{"title":2120,"url":2121},"Weaviate documentation: ANN benchmark","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fbenchmarks\u002Fann",{"title":2123,"url":2124},"Weaviate 1.39 release notes","https:\u002F\u002Fweaviate.io\u002Fblog\u002Fweaviate-1-39-release",{"title":2126,"url":2127},"Weaviate 1.38 release notes","https:\u002F\u002Fweaviate.io\u002Fblog\u002Fweaviate-1-38-release",{"title":2129,"url":2130},"Weaviate documentation: MCP server","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconfiguration\u002Fmcp-server",{"title":2132,"url":2066},"Weaviate Cloud pricing",{"title":2134,"url":2135},"weaviate\u002Fweaviate: LICENSE","https:\u002F\u002Fgithub.com\u002Fweaviate\u002Fweaviate\u002Fblob\u002Fmain\u002FLICENSE",{"title":2137,"url":2138},"weaviate\u002Fweaviate v1.40.0 release notes","https:\u002F\u002Fgithub.com\u002Fweaviate\u002Fweaviate\u002Freleases\u002Ftag\u002Fv1.40.0","\u002Fimages\u002Fblog\u002Fweaviate\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fweaviate\u002Fog.jpg",[82,83,84],"Weaviate: a vector database that has to win on search, not only on similarity","Weaviate: hybrid BM25 and vector search in one query, HNSW and disk-based HFresh, quantisation, a built-in MCP server, and what licence keys now cover.","Weaviate vector database: a magnet and a magnifier cross over a pile of marbles, a few clinging to the magnet.",{"slug":2146,"published":2147,"updated":2148,"minutes":90,"category":8,"tags":2149,"tagPages":2151,"keywords":2152,"about":2157,"sources":2161,"cover":2198,"og":2199,"expertise":80,"locales":2200,"lang":82,"title":2201,"description":2202,"coverAlt":2203},"qdrant","2026-05-26","2026-10-05",[13,1452,1453,952,2150],"Filtering",[17,955],[2146,2153,1549,2154,2155,2156,960,1553],"qdrant vs pinecone","hnsw index","filtered vector search","vector quantisation",[2158,2159,2160],{"name":760,"url":761},{"name":598,"url":599},{"name":110,"url":111},[2162,2165,2168,2170,2173,2176,2179,2182,2184,2186,2189,2192,2195],{"title":2163,"url":2164},"Qdrant documentation","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002F",{"title":2166,"url":2167},"Qdrant: points","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fmanage-data\u002Fpoints\u002F",{"title":2169,"url":1380},"Qdrant: collections",{"title":2171,"url":2172},"Qdrant: indexing","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fmanage-data\u002Findexing\u002F",{"title":2174,"url":2175},"Qdrant: quantisation","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fmanage-data\u002Fquantization\u002F",{"title":2177,"url":2178},"Qdrant: capacity planning","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fcapacity-planning\u002F",{"title":2180,"url":2181},"Qdrant: optimise performance","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fops-optimization\u002Foptimize\u002F",{"title":2183,"url":2054},"Qdrant: hybrid and multi-stage queries",{"title":2185,"url":261},"Qdrant: filtering",{"title":2187,"url":2188},"Qdrant: security and access control","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fsecurity\u002F",{"title":2190,"url":2191},"Qdrant pricing","https:\u002F\u002Fqdrant.tech\u002Fpricing\u002F",{"title":2193,"url":2194},"Qdrant on GitHub","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant",{"title":2196,"url":2197},"Qdrant vector search benchmarks","https:\u002F\u002Fqdrant.tech\u002Fbenchmarks\u002F","\u002Fimages\u002Fblog\u002Fqdrant\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fqdrant\u002Fog.jpg",[82,83,84],"Qdrant: a vector database built around filtering","A review of Qdrant: filterable HNSW, four quantisation methods, the memory tiers in v1.19 and the operations nobody publishes any more.","Qdrant vector database: a layered sieve sorts marbles into a bowl.",{"slug":2205,"published":2206,"minutes":621,"category":8,"tags":2207,"tagPages":2210,"keywords":2211,"about":2220,"sources":2224,"cover":2243,"og":2244,"expertise":80,"locales":2245,"lang":82,"title":2246,"description":2247,"coverAlt":2248},"unstructured","2026-05-21",[1080,1633,2208,92,2209],"PDF extraction","ETL",[],[2212,2213,2214,2215,2216,2217,2218,2219],"unstructured.io","unstructured library python","unstructured vs llamaparse","document parsing for rag","pdf partitioning hi_res","unstructured pricing","chunk by title","document ingestion pipeline",[2221],{"name":2222,"url":2223},"Unstructured","https:\u002F\u002Funstructured.io\u002F",[2225,2228,2231,2234,2237,2240],{"title":2226,"url":2227},"Unstructured documentation: pipelines overview","https:\u002F\u002Fdocs.unstructured.io\u002Fwelcome",{"title":2229,"url":2230},"Unstructured documentation: transform quickstart","https:\u002F\u002Fdocs.unstructured.io\u002Fapi-reference\u002Ftransform\u002Fquickstart\u002Foverview",{"title":2232,"url":2233},"Unstructured pricing: free pages, rate per page and plans","https:\u002F\u002Funstructured.io\u002Fpricing",{"title":2235,"url":2236},"Unstructured benchmarks: 1,000+ enterprise pages against other parsers","https:\u002F\u002Funstructured.io\u002Fbenchmarks",{"title":2238,"url":2239},"Unstructured library on GitHub","https:\u002F\u002Fgithub.com\u002FUnstructured-IO\u002Funstructured",{"title":2241,"url":2242},"Unstructured partition endpoint container","https:\u002F\u002Fgithub.com\u002FUnstructured-IO\u002Funstructured-api","\u002Fimages\u002Fblog\u002Funstructured\u002Fcover.webp","\u002Fimages\u002Fblog\u002Funstructured\u002Fog.jpg",[82,83,84],"Unstructured review: parsing documents for RAG","Unstructured parses PDFs, Word files and images into typed RAG elements: an Apache-2.0 library, and a platform at $0.015 a page after 10,000 free pages.","Unstructured review: hands sort a messy pile of papers and photos into three neat trays.",{"slug":2250,"published":2251,"updated":669,"minutes":274,"category":8,"tags":2252,"tagPages":2258,"keywords":2259,"about":2268,"sources":2274,"cover":2307,"og":2308,"expertise":80,"locales":2309,"lang":82,"title":2310,"description":2311,"coverAlt":2312},"rag-evaluation-metrics","2026-05-13",[2253,2254,2255,2256,2257],"RAG evaluation","Retrieval metrics","LLM-as-judge","Golden set","Ragas",[],[2253,2260,1877,2261,2262,2263,2264,2265,2266,2267],"how to evaluate RAG","recall@k MRR nDCG","faithfulness vs answer relevance","golden dataset for RAG","LLM as a judge calibration","Ragas vs DeepEval vs TruLens","RAG evals in CI","retrieval vs generation failure",[2269,2270,2271],{"name":110,"url":111},{"name":39,"url":40},{"name":2272,"url":2273},"Mean reciprocal rank","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMean_reciprocal_rank",[2275,2278,2281,2283,2285,2288,2291,2294,2297,2300,2302,2304],{"title":2276,"url":2277},"Es et al.: RAGAS, Automated Evaluation of Retrieval Augmented Generation (arXiv 2309.15217)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2309.15217",{"title":2279,"url":2280},"Zheng et al.: Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (arXiv 2306.05685)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.05685",{"title":2282,"url":333},"Ragas documentation: available metrics",{"title":2284,"url":1806},"Ragas documentation: faithfulness",{"title":2286,"url":2287},"Ragas documentation: context precision","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Fcontext_precision\u002F",{"title":2289,"url":2290},"Ragas documentation: context recall","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Fcontext_recall\u002F",{"title":2292,"url":2293},"DeepEval documentation: metrics introduction","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-introduction",{"title":2295,"url":2296},"TruLens","https:\u002F\u002Fwww.trulens.org\u002F",{"title":2298,"url":2299},"Arize Phoenix documentation","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix",{"title":2301,"url":40},"Wikipedia: Discounted cumulative gain",{"title":2303,"url":2273},"Wikipedia: Mean reciprocal rank",{"title":2305,"url":2306},"Wikipedia: Cohen's kappa","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCohen%27s_kappa","\u002Fimages\u002Fblog\u002Frag-evaluation-metrics\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-evaluation-metrics\u002Fog.jpg",[82,83,84],"Evaluating RAG: retrieval metrics, faithfulness and how to tell which half failed","Evaluating RAG: recall at k, MRR and nDCG vs faithfulness and answer relevance, a golden set from real queries, a calibrated LLM judge and CI evals.","RAG evaluation metrics: a fishing rod lifts a book from a pond while a scale weighs a speech bubble.",1793451238730]