The basic pipeline, raw data to LLM-ready, open source at every step
1
Parse
Turn PDFs, docx, HTML into clean text.
Apache Tika or
Unstructured.io.
2
Chunk
Split text into retrievable pieces. Hierarchical for structured docs (3 to 5x better F1), semantic for narrative text.
LangChain / LlamaIndex splitters.
3
Embed
Convert each chunk to a vector.
BGE-M3 (dense + sparse + multi-vector in one model) or
Qwen3-Embedding-8B (#1 open MTEB multilingual, 32K context).
4
Serve
Run the embedding model at scale.
TEI (Text Embeddings Interface) for auto-batched production serving, or raw
vLLM/SGLang DIY.
5
Store + retrieve
Index vectors for search.
Qdrant or
Milvus (43K+ stars, hybrid dense+sparse). Fuse with BM25 via Reciprocal Rank Fusion, then rerank with
BGE-reranker-v2.
6
Generate
Feed the top reranked chunks to the LLM. Self-hosted:
vLLM serving an open model (Qwen3-32B and similar).
What changed dramatically in just the past 12 months
Dense-only retrieval lost
Benchmarks (BEIR, MTEB, Anthropic's own contextual retrieval work) settled it: BM25 plus dense embeddings, fused with reciprocal rank fusion, beats either alone, and a cross-encoder reranker adds another 5 to 15 points of MRR on hard queries.
12 months ago: dense-only vector search was still the default pattern most tutorials taught. Now: hybrid search runs in 72% of production RAG systems, no longer an optional enhancement.
Agentic RAG went mainstream
The single biggest paradigm shift of the year: instead of a fixed retrieve-then-generate pipeline, the model now controls retrieval itself, deciding to ask for more evidence, rewrite its own query, or stop early (Self-RAG, FLARE patterns).
12 months ago: retrieval was a preprocessing step before generation. Now: retrieval is an action the agent takes mid-reasoning, not a fixed step in front of it.
GraphRAG hit production scale
Microsoft's GraphRAG (MIT-licensed) moved knowledge-graph-augmented retrieval from research papers into real, adopted production architecture.
12 months ago: GraphRAG was a research pattern. Now: it's a named, shipping option alongside standard vector RAG for teams that need entity/relationship reasoning, not just similarity search.
Open-source embeddings closed the gap
BGE-M3 and Qwen3-Embedding-8B now rival or beat proprietary embedding APIs on MTEB, trained on massive multilingual corpora, both freely self-hostable.
12 months ago: closed APIs (OpenAI, Cohere) were the safe default for embedding quality. Now: a self-hosted, open-weight model is a legitimate first choice, not a compromise.
Ties directly to real, current experience, not textbook knowledge
NewsRx's own stack (self-hosted vLLM serving Qwen3-32B, zero vendor API dependency) is the exact pattern this research confirms is genuinely current best practice in August 2026, not something to hedge as "a bit behind the frontier." Worth saying plainly if asked: "I'm not describing this from a course, I run this stack in production right now, and the open-source side of it has closed the gap with proprietary options enough that self-hosting is a real default choice today, not a budget compromise."
Retrospective: the Amgen build, then vs. now
What it took in 2023 to 2024
Amgen's first GxP-validated GenAI system for FDA NDA submissions (ICH-standard CTD content, RAG-grounded, feeding a Structured Content Authoring workflow into Veeva Vault) took a 16-person build: 6 Bain consultants, 3 data scientists, 3 business analysts, 3 medical specialist application writers, and me owning the ICH application process. That scale wasn't overkill, it reflected a real fact: Vault itself had no native agentic authoring capability at the time, so the RAG-to-SCA feedback loop had to be architected and governed from scratch, under GxP change control, by a large cross-functional team.
The build was custom because the platform hadn't caught up yet.
What's now shipping natively, Aug 2026
Veeva's own "Agentic Authoring" application, integrating natively with Vault RIM and Microsoft Word, proactively drafts submissible documents and monitors incoming data to initiate drafting when conditions are met. Clinical, Regulatory, and Medical AI Agents are slated for this same month. Veeva's own roadmap calls "RIM+AI" the new standard for 2026 to 2027, and a separate platform, Falcon, is shipping agentic labor for health-authority correspondence specifically.
What took a 16-person custom build in 2023 is a configurable vendor feature by 2026.
The actual insight, not just the fact (shows growth, not nostalgia)
If Amgen's system were built today, it likely wouldn't need a bespoke GenAI-to-SCA pipeline at all, it would configure and extend Veeva's native Agentic Authoring and Falcon agents instead. That's not a knock on the original build, the industry converging on the same architecture two years later is validation the design was right. What it really shows is a build-versus-buy line that moves as the platform matures: work that's genuinely custom-necessary one year becomes vendor commodity a couple of years later, and knowing when to stop building and start configuring is the actual strategist judgment call, not a technical one. Whether Workiva's own SCA tooling has kept pace with Veeva's native agentic push specifically is a real open question I'd want to ask in the room, not something to bluff an answer to.
Credibility aside, verified, not a guess: "I ran plasma flow calculations on a Cray-1A for DARPA in 1980, 160 megaflops, state of the art at the time. Apple's A17 Pro chip does over 5 teraflops, about 31,000 times faster, in something that fits in a pocket. That's the same curve as a bespoke 2023 GenAI pipeline against a 2026 native platform feature, just compressed into two years instead of forty-five."