Skip to content

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

  • PDF
  • Word documents (.docx)
  • Markdown (.md)
  • Plain text (.txt)

Max file size: 50 MB. Larger files should be split before upload.

Uploading

  1. Navigate to your project.
  2. Open the Documents tab → Upload.
  3. Drop the file. Ingestion runs as a background workflow.

Info

Processing takes 10–60 seconds depending on file size. Status: processingingested 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

  1. Parse — extract text from the source format
  2. Chunk — split into semantically meaningful pieces (~512 tokens each, with overlap)
  3. Embed — run each chunk through the embedding model (Cohere embed-v3 via Bedrock)
  4. Index — write to the project's Qdrant vector collection
  5. 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-v3 via AWS Bedrock
  • Vector store: Qdrant (per-project collection)
  • Retrieval: hybrid (dense + sparse) with reciprocal-rank fusion
  • Re-ranker: Cohere rerank-v3 on the top 30 candidates → final top-K

Enterprise tenants with BYOK configured can route embeddings to their own provider; default stays as above.