Local RAG Factory
The workflow normalizes a local Markdown corpus, creates chunks, builds a hashed TF-IDF index, retrieves evidence, generates extractive answers with citations, and evaluates grounding. Its deterministic implementation makes retrieval behavior inspectable before an optional Ollama adapter is introduced.
Inputs
- Versioned Markdown corpus
- Questions with expected evidence
Outputs
- Normalized documents and chunks
- Vector index
- Ranked retrieval results
- Cited answers
- Grounded-accuracy report
Provenance to preserve
- Document SHA-256 values
- Chunk identifiers
- Retrieval scores
- Answer citations and evaluation result
Run this example locally
Build a local lexical retrieval index over the bundled text corpus, answer questions by retrieving source evidence, and check the answers against versioned known-answer tests. No hosted embedding or LLM service is required.
Install Go and Python 3.12 or newer.
git clone https://github.com/UFFeScience/akoflow-examples.git &&
cd akoflow-examples &&
git checkout --detach d890c3171e3661890305b763b8fc3ede48bb61b4 &&
cd generative-ai/local-rag &&
./prepare.sh &&
./run.sh
Run the block from the directory where you keep your repositories. If you already cloned the repository, enter this example's directory and run ./prepare.sh && ./run.sh.
Preparation downloads the Go module and any declared Python packages once. The workload then runs locally with offline input data. Every meaningful step is a separate process; independent activities run in parallel after their dependencies complete.
Read outputs/manifest.json for the generated artifacts, outputs/dag-validation.json for dependency waves, and outputs/stage-<activity>.json for each activity's observed result. A failed stage stops the run and prevents a successful final manifest.
Expected outputs: documents.json, chunks.json, index.json, retrieval.json, answers.json, evaluation.json.
Run the same activities in Desktop
Start your local AkôFlow daemon with Docker available and configure AKOFLOW_API_TOKEN in your shell. From this example's directory, run:
go run ../../tools/daemon-local -root ../.. -example generative-ai/local-rag
This command validates the daemon connection, builds the declared image, registers the local environment and workflow, and submits a real run. The daemon owns execution and file transfers. Open the printed run ID in Desktop to inspect each activity.
Execution evidence
Verified on local Docker: 6/6 activities completed. These captures belong to run local-rag-factory-local-0df2d611a0-run-20261020t182115.
Read the daemon execution record · Local output manifest
Each stage also ran through the standalone local command. Read the dependency and artifact validation.
ingest
After: workflow start.
chunk
After: ingest.
index
After: chunk.
retrieve
After: index.
answer
After: retrieve.
evaluate
After: answer.