Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
TF-IDF (1972), BM25 (Robertson, 1994) — a fundação que ainda manda em 2026. Term frequency saturation, IDF smoothing, parâmetros k1 e b do BM25. Por que BGE-M3 ainda combina com BM25 (hybrid).
Apache Lucene como motor (inverted index, segments, posting lists), refresh interval, translog, shard allocation, replicas, near-real-time search. ELK vs OpenSearch fork (Elastic license drama 2021).
OpenSearch (AWS, fork ES), Meilisearch (Rust, French startup, typo-tolerance), Typesense (faceted, fast). Comparativo: setup, latência, vector support, multi-tenant. Quando vale ES vs alternativa enxuta.
Estado da arte 2026: combinar BM25 (lexical) + dense vector (semantic) com Reciprocal Rank Fusion (RRF), depois rerank com cross-encoder (BGE-reranker, Cohere Rerank). Pipeline 3-stage que vence single-method.
Modelos de embedding em 2026: BGE-M3 (BAAI, multilingual + multi-granularity), e5 (Microsoft), Voyage AI, Cohere embed v3, OpenAI text-embedding-3. Dimensões (768 → 1024 → 1536), MRL (Matryoshka Representation Learning).
Operacional de semantic search em escala: indexing pipelines (Airflow, Prefect), shard strategy, hot/cold tier, freshness lag, blue-green reindex, snapshot & restore. Custo de embedding em massa (1B docs).
Qdrant (Rust, self-host friendly), Weaviate (modular), Pinecone (serverless, agora c/ namespaces), pgvector (Postgres extension, hybrid simples), LanceDB (embedded). HNSW vs IVF vs DiskANN. Quando cada um vence.
Sem métrica, você vai no feeling. MRR (Mean Reciprocal Rank), NDCG@10 (Normalized Discounted Cumulative Gain), Precision@K, Recall@K. Como construir golden dataset (clickstream + manual annotation), A/B testing de ranking.