Document ingestion (RAG)¶
Upload existing documents — design docs, internal specs, runbooks, customer-facing docs — to ground AI generation in your real product context. Uploaded documents are processed, chunked, embedded, and stored in a vector index that the AI retrieves from during PRD authoring, TRD authoring, and test generation.
Supported formats¶
- Word documents (
.docx) - Markdown (
.md) - Plain text (
.txt)
Max file size: 50 MB. Larger files should be split before upload.
Uploading¶
- Navigate to your project.
- Open the Documents tab → Upload.
- Drop the file. Ingestion runs as a background workflow.
Info
Processing takes 10–60 seconds depending on file size. Status: processing → ingested or failed. You can navigate away — status is preserved server-side.
You can also upload via the MCP server (mcp__dezycro__upload_document / upload_document_content) if you're scripting bulk ingestion.
What happens at ingestion time¶
- Parse — extract text from the source format
- Chunk — split into semantically meaningful pieces (~512 tokens each, with overlap)
- Embed — run each chunk through the embedding model (Cohere
embed-v3via Bedrock) - Index — write to the project's Qdrant vector collection
- Done — document available for retrieval
Embedding calls run on shared infrastructure and do not count against your token allowance — see What does NOT count.
How retrieved chunks are used¶
When the AI generates a PRD or test case, it issues a hybrid retrieval query (dense embeddings + sparse keyword) against your project's vector collection, retrieves the top-K most-relevant chunks, and includes them in the LLM prompt as grounding context.
This means generated content:
- Cites your actual product terminology, not generic patterns
- Reuses your existing user-flow patterns where they apply
- Identifies features, user journeys, and acceptance criteria already in your docs
- Provides accurate per-feature context without you having to paste anything
Managing ingested documents¶
The Documents tab shows:
| Field | Description |
|---|---|
| Name | Document filename |
| Status | processing / ingested / failed |
| Chunk count | Number of indexed chunks |
| Source type | How the doc was uploaded (UI / MCP / API) |
| Ingested at | Timestamp |
Importing as a PRD¶
Click Import as PRD on any ingested doc to load it into the PRD editor as an editable starting point. Useful when an existing spec is close to what you want.
Re-indexing¶
If you edit an ingested doc (re-upload the same filename), Dezycro deletes the old chunks and re-indexes the new content. Vector collection stays consistent.
Deleting¶
Delete from the Documents tab. Removes the doc + its chunks + any embeddings. Generated PRDs and tests that referenced it stay (the retrieval was at generation time; the output is independent of the source after generation).
Document-test traceability¶
Every test case generated from a PRD captures the source chunk references that grounded it. From the test case detail panel, expand Sources to see which document and which paragraph drove the test.
This is how you spot coverage gaps: if a critical paragraph in your spec has no test referencing it, that's a missing journey.
RAG model details¶
Default stack:
- Embeddings: Cohere
embed-v3via AWS Bedrock - Vector store: Qdrant (per-project collection)
- Retrieval: hybrid (dense + sparse) with reciprocal-rank fusion
- Re-ranker: Cohere
rerank-v3on the top 30 candidates → final top-K
Enterprise tenants with BYOK configured can route embeddings to their own provider; default stays as above.