rag-architect

Designs RAG systems with chunking, embeddings, hybrid search, reranking, and retrieval evaluation.

Updated Mar 9, 2026
One-click install
npx skills add https://github.com/ArMaTeC/Redball --skill rag-architect-armatec
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rag-architect
Source: https://github.com/ArMaTeC/Redball/tree/main/.devin/skills/rag-architect
Command: npx skills add https://github.com/ArMaTeC/Redball --skill rag-architect-armatec

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building retrieval-augmented generation systems involves many interdependent decisions—chunking strategy, embedding model, vector database, hybrid search, reranking, and evaluation—and poor choices in any one area silently degrade answer quality. This Skill provides a structured architecture workflow with implementation patterns and measurable checkpoints for each stage. ## Core Features & Use Cases - End-to-End RAG Design: Five-step workflow covering requirements analysis, vector store design, chunking strategy, retrieval pipeline, and evaluation with validation checkpoints. - Production Implementation Patterns: Working code for chunking (semantic, markdown-aware, late chunking), embedding (OpenAI, Cohere, Voyage, BGE), hybrid search with reciprocal rank fusion, and Cohere/cross-encoder reranking. - Retrieval Evaluation: Metrics implementation (precision@k, recall@k, MRR, NDCG) plus RAGAS and TruLens integration for faithfulness and relevance scoring. - Use Case: A team building a multi-tenant documentation assistant uses this Skill to select Qdrant, implement tenant-filtered hybrid search with BM25, rerank top results, and validate context_precision >= 0.7 before LLM integration. ## Quick Start Design a RAG pipeline for my technical documentation that uses hybrid search, reranking, and evaluation metrics before connecting it to an LLM.

Frequently Asked Questions about rag-architect

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a RAG system with vector search?

Start by chunking documents with a recursive character splitter, generate embeddings with a model like text-embedding-3-small, and index them in a vector database such as Qdrant or pgvector. Then add hybrid search combining vector and BM25 results, rerank the top candidates, and evaluate retrieval quality before connecting an LLM.

What chunk size should I use for RAG documents?

Chunk size depends on document type: 200-400 tokens for FAQ content, 400-600 for technical docs, and 600-800 for legal text, with 10-20% overlap. Never use the default 512 blindly—evaluate candidate sizes against retrieval metrics on your own domain data first.

Which embedding model is best for semantic search?

OpenAI text-embedding-3-small offers the best cost-to-quality balance for general English retrieval, while Cohere embed-multilingual-v3 covers 100+ languages and Voyage-code-2 specializes in code. For self-hosted deployments, BGE-large-en-v1.5 provides strong open-source quality.

How do I combine vector search with keyword search?

Use hybrid search with reciprocal rank fusion: run dense vector search and BM25 keyword search independently, then merge results by summing weighted RRF scores (typically 0.6 vector, 0.4 keyword). Databases like Weaviate and Pinecone support hybrid queries natively.

How do I measure RAG retrieval quality?

Track precision@k, recall@k, MRR, and NDCG against a labeled test set of question-document pairs. Use the RAGAS framework for generation-side metrics like faithfulness and context recall, targeting context_precision >= 0.7 and context_recall >= 0.6 before LLM integration.

When should I use reranking in a retrieval pipeline?

Apply reranking after initial retrieval when precision matters: retrieve 30-50 candidates with fast vector search, then rerank with Cohere rerank-english-v3.0 or a cross-encoder model down to the top 5. This typically improves precision by 10-20% at the cost of 50-100ms latency.