Skip to main content

RAG systems built for production

Retrieval-augmented generation with grounding signals, citation handling, and the architecture decisions that determine whether RAG actually works at scale.

Where it fits in our builds

Where an ungrounded answer is a liability

Patient triage is the shape of system where RAG earns its keep: deterministic red-flag rules fire first, then the model answers grounded in retrieved clinical guidance, with sources attached. The same retrieval discipline carries finance and legal products.

  • Hybrid retrieval with re-ranking before generation.
  • Citations and confidence signals on every answer.
  • Eval harnesses that catch silent quality drops.
Two bars comparing the cost of the two triage errors. Routing a case too high costs time and money. Routing a case too low is irreversible, and the bar is five times longer. Below them, the four things that asymmetry buys: never-miss rules, thresholds tuned to recall, a human above a defined line, and routine review of missed cases.

Why we picked this stack

RAG is the dominant pattern for production LLM applications today, but most implementations break because of poor retrieval, not poor LLMs. We've shipped RAG across commerce, operations and healthcare, including HIPAA-architected clinical retrieval. Our focus is retrieval quality, grounding, and evals, not embedding everything and hoping the model figures it out.

What we build with it

Vector database architectures

Pinecone, Weaviate, pgvector (Postgres), Qdrant. Chosen per project based on scale, cost, and hybrid search needs.

Embedding pipelines

OpenAI embeddings, Voyage AI, sentence-transformers. Domain-specific selection, batching, and cost optimization.

Retrieval orchestration

Hybrid search (vector + keyword), re-ranking, multi-step retrieval, and query rewriting.

Citation and grounding layers

Source attribution, confidence scoring, and hallucination detection patterns.

Document ingestion pipelines

PDF/HTML/markdown chunking strategies, metadata extraction, versioning, and deletion handling.

RAG evaluation harnesses

Ground truth datasets, eval frameworks (Ragas, custom), and regression testing.

Who owns which half of a RAG answer

Ingestion, indexing, retrieval and grounding are listed above as capabilities. In practice they belong to different people, and the handoffs are where grounding is lost.

Role-scoped data flow across three lanes and four stages. Data engineering owns the document pipeline that parses, chunks and dedupes at ingest, and the versioned embeddings at index. AI engineering owns the vector store with filters and hybrid search, retrieval tuning that favours recall over fluency, and the eval harness that distinguishes answerable questions from answered ones. Product appears only at the final grounding stage, returning a cited answer or no answer at all.
The empty cells are the point. Product never touches retrieval, and nothing reaches a user until the eval harness can say whether the question was answerable at all.

Versions and libraries we use

  • 01PineconeHosted, scales well, good for >10M vectors.
  • 02WeaviateHybrid search out of the box, good for medium scale.
  • 03pgvectorPostgres-native. Best when you already have Postgres and <10M vectors.
  • 04QdrantSelf-host friendly, good performance/cost ratio.
  • 05OpenAI text-embedding-3-small/largeDefault embedding choice.
  • 06Voyage AIHigher quality for specialized domains (code, finance, legal).
  • 07Cohere RerankRe-ranking layer for hybrid search quality.
  • 08LangChain, LlamaIndexUsed selectively; we lean toward custom orchestration.
  • 09Ragas, TrulensRAG-specific eval frameworks.

RAG engineering on your roadmap

A senior team that owns retrieval work alongside yours, thinking in retrieval quality, grounding and evals rather than embeddings alone.

Explore ongoing product engineering

The tech stack is the starting point, not the pitch

We pick tools because they ship, not because they trend. Every technology we list is one we have deployed to production, debugged under load, and would choose again for the right problem.

Code detail on a screen

Frequently asked questions

Straight answers on vector databases, re-ranking, and retrieval quality.

  • It depends on scale and what you already run. pgvector when you have Postgres and under ~10M vectors; Pinecone for large hosted workloads; Weaviate for built-in hybrid search; Qdrant when self-hosting matters. We choose per project, not by default.

Building a RAG system? Schedule a meeting.

No account managers. No discovery theatre. A direct conversation about your retrieval architecture and what it takes to make RAG actually work in production.