RAG Pipeline
Production-ready RAG pipeline with vector DB and LLM integration
- Category
- rag
- Version
- 1.2.0
- Deployment formats
- Docker Compose, Helm (Kubernetes), Terraform (local Docker), Terraform (AWS)
- Maintainer
- AI Solutions Camp
- Tags
- RAG, Vector DB, LLM, Embeddings, ChromaDB, OpenAI
Overview
A complete Retrieval-Augmented Generation pipeline with vector database, embedding service, and LLM integration. Perfect for building knowledge bases, Q&A systems, and document search applications.
Requirements
- Docker and Docker Compose installed
- 4GB RAM minimum (8GB recommended)
- First run downloads ~500MB of model data
Quick start
Quick Start (Docker)
- Save the Docker Compose file:
mkdir rag-pipeline && cd rag-pipeline
# Copy the docker-compose.yml content from above
- Start the services:
docker-compose up -d
- Wait for models to download (first run takes a few minutes)
- Test ChromaDB:
curl http://localhost:8000/api/v1/heartbeat
- Test Embeddings:
curl http://localhost:8080/embed \
-X POST \
-H "Content-Type: application/json" \
-d '{"inputs": "Hello world"}'Environment variables
IS_PERSISTENT– Enable persistent storage for ChromaDBMODEL_ID– Hugging Face model for embeddingsANONYMIZED_TELEMETRY– Disable telemetry
docker-compose.yml
version: "3.8"
services:
# Vector Database for storing embeddings
chromadb:
image: chromadb/chroma:latest
container_name: chromadb
ports:
- "8000:8000"
volumes:
- chroma_data:/chroma/chroma
environment:
- IS_PERSISTENT=TRUE
- ANONYMIZED_TELEMETRY=FALSE
restart: unless-stopped
# Text Embedding Service (Hugging Face)
embeddings:
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5
container_name: embeddings
ports:
- "8080:80"
environment:
- MODEL_ID=BAAI/bge-small-en-v1.5
volumes:
- embedding_models:/data
restart: unless-stopped
volumes:
chroma_data:
embedding_models: