Configuration
Supported File Types
For structured data (CSV, JSON, XML), use database destinations (PostgreSQL, MongoDB) instead.
Vault Secrets
Qdrant connection
Embedding API
The embedding secret is server-level (ai.embedding.secretName, default oss/embedding) and is seeded automatically by docker/vault-init.sh. Each Vault secret is self-describing — the resolver reads provider, endpoint, model, apiKey, and (optionally) version from inside. See AI Configuration for the full picture.
Common embedding configurations:
For Anthropic-only deployments, the bundled TEI sidecar serves
bge-m3 and vault-init.sh seeds the embedding secret to point at it — no OpenAI key required.
Chunking Strategies
Documents are split into chunks before embedding. Each chunk becomes a separate Qdrant point with the document’s metadata pluschunk_index, filename, and source_pipeline fields.
chunkSize(default 500): maximum characters per chunkchunkOverlap(default 50): characters of overlap between consecutive chunks
Metadata
Static metadata is attached to every chunk in the Qdrant payload, enabling filtered semantic search:text— the chunk textchunk_index— position of the chunk in the documentfilename— original uploaded filenamesource_pipeline— pipeline name
How It Works
- Upload — an unstructured file (PDF, text) is uploaded via
POST /api/v1/pipeline/upload - Extract — text is extracted from the document (PDFBox for PDFs, UTF-8 for text files)
- Chunk — text is split into chunks using the configured strategy
- Embed — each chunk is sent to the embedding API to generate a vector
- Upsert — vectors are upserted into the Qdrant collection with metadata payload
- Notify — a pipeline notification is published on completion
Running Qdrant
Qdrant ships as a bundled opt-in Compose service. Enable it with one line in.env:
COMPOSE_PROFILES=qdrant,kafka). The install.sh installer can also enable Qdrant at install time — it writes the profile and seeds the oss/qdrant secret for you. For the bundled container, use the compose service name as the host in the secret (host="qdrant", gRPC port 6334).
To use an existing external or Qdrant Cloud instance instead, skip the profile and point the oss/qdrant secret’s host/port/apiKey at it — the secret fields are the same either way. You can also run Qdrant standalone:
