Implementing Core RAG and Agent Features
Build the document ingestion pipeline, vector store indexing, retrieval with re-ranking, and agent tool integrations following the patterns learned throughout the track.
Implementation Order and Dependencies
Build your system bottom-up: start with the components that have no external dependencies, then layer on components that depend on them. For a RAG + agent system, the order is: (1) vector store schema, (2) ingestion pipeline, (3) retriever, (4) basic Q&A chain, (5) streaming endpoint, (6) agent with tools, (7) caching layer, (8) tracing instrumentation. Test each component in isolation before integrating it into the pipeline.
# Build order:
IMPL_ORDER = [
'pgvector_schema', # prerequisite for everything
'document_ingestion', # populate the vector store
'hybrid_retriever', # test retrieval in isolation
'qa_chain_basic', # integrate LLM with retrieval
'streaming_endpoint', # expose via API
'function_calling', # add agent tool calls
'semantic_cache', # reduce repeat API calls
'langsmith_tracing', # add after core works
'injection_filter', # harden before load testing
]Setting Up the Vector Store
Create the pgvector table with the right schema before ingesting documents. Include columns for the vector, the chunk text, all metadata fields, and an updated_at timestamp for selective re-indexing. Create a vector index (HNSW or IVFFlat) on the embedding column immediately — adding the index after millions of rows is much slower than adding it upfront on an empty table.
-- PostgreSQL schema with pgvector
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE document_chunks (
id BIGSERIAL PRIMARY KEY,
doc_id TEXT NOT NULL,
chunk_text TEXT NOT NULL,
embedding VECTOR(1536) NOT NULL,
source_file TEXT,
page_number INT,
section TEXT,
doc_type TEXT,
tenant_id TEXT NOT NULL, -- for data isolation
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_chunks_hnsw ON document_chunks
USING hnsw (embedding vector_cosine_ops)
WITH (m = 16, ef_construction = 64);
CREATE INDEX idx_chunks_tenant ON document_chunks(tenant_id);All lessons in this course
- Designing the Production Architecture
- Implementing Core RAG and Agent Features
- Hardening: Security, Caching, and Reliability
- Evaluation, Deployment, and Retrospective