Included Services
Qdrant
Vector database for semantic search
PostgreSQL
Relational database for structured data
Meilisearch
Fast typo-tolerant full-text search
Skills Provided
Qdrant Memory
Capabilities:- Store document embeddings
- Semantic similarity search
- Metadata filtering
- Hybrid search with filters
- Multi-collection management
PostgreSQL Query
Capabilities:- Store document metadata
- Track document versions
- User permissions and access control
- Full ACID transactions
- Complex relational queries
Meilisearch Index
Capabilities:- Lightning-fast full-text search
- Typo-tolerant search
- Faceted filtering
- Highlighting and snippets
- Instant search as-you-type
- Ranking customization
Use Cases
RAG (Retrieval-Augmented Generation)
Build a complete RAG system:-
Ingest documents
- Upload PDFs, markdown, etc.
- Store metadata in PostgreSQL
- Index full text in Meilisearch
-
Chunk and embed
- Split documents into chunks
- Generate embeddings with Ollama
- Store vectors in Qdrant
-
Search
- Full-text search with Meilisearch
- Semantic search with Qdrant
- Combine results for hybrid search
-
Generate answers
- Retrieve relevant chunks
- Pass to LLM for generation
- Cite sources from PostgreSQL
Document Management System
Build an intelligent DMS:Knowledge Graph
Connect documents with relationships:Wiki / Documentation Site
Build a searchable wiki:- Store pages in PostgreSQL
- Index content in Meilisearch
- Generate embeddings for “related pages”
- Use Qdrant for semantic “see also” suggestions
Example RAG Pipeline
Complete document processing pipeline:Configuration
Environment Variables
Collection Patterns
Recommended structures: Qdrant Collections:documents- Document chunk embeddingsquestions- FAQ embeddingscode_snippets- Code example embeddings
documents- Document metadatadocument_chunks- Chunk text and pointersusers- User accountspermissions- Access control
documents- Full document contentusers- User searchtags- Tag autocomplete
Memory Requirements
- Qdrant: ~512 MB base + vector data
- PostgreSQL: ~256 MB base + table data
- Meilisearch: ~512 MB base + index data
Performance Tips
Qdrant
- Use appropriate vector dimensions (1536 for OpenAI, 384 for small models)
- Create payload indexes on filtered fields
- Batch operations when ingesting large datasets
PostgreSQL
- Create indexes on frequently queried columns
- Use
JSONBfor flexible metadata storage - Enable connection pooling (pgBouncer)
Meilisearch
- Configure
searchableAttributesto only necessary fields - Use
filterableAttributesfor faceted search - Set appropriate ranking rules for your use case
Hybrid Search Strategy
Combine all three for best results:Next Steps
Local AI Pack
Add Ollama for generating embeddings
Research Agent Pack
Add web scraping and search