Memory-Quilt / README.md
Abhishek
docs: update article link to published blog post
4f70601
|
Raw
History Blame Contribute Delete
4.51 kB
---
title: Memory Quilt
emoji: πŸ–ΌοΈ
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
app_port: 7860
tags: ["track:backyard", "sponsor:openbmb", "achievement:offgrid", "achievement:offbrand", "achievement:fieldnotes", "achievement:llama"]
---
# all4-p5-memory-quilt
> Whimsical local AI app weaving daily memories into generative art.
## πŸ“ Read our Article
Check out our detailed article about this project here: [Memory Quilt: Weaving Family Stories into Digital Art](https://huggingface.co/blog/abhishekkataria16/memory-quilt)
## About this Project
**Idea:** A whimsical local AI application that weaves daily memories into personalized generative art "quilts."
**Tech:** Features an offline-first pipeline leveraging Mellm-2-12B, MiniCPM5-1B, and FLUX.1-schnell for image generation. It runs entirely on local checkpoints, ensuring privacy while turning text prompts into beautiful quilt visuals.
P5 FLUX memory quilt demo repo.
This repository ships an offline-first, synthetic memory-to-quilt pipeline with model-only generation when a local checkpoint is mounted:
- a demo pack under `data/demo_packs/p5_memory_quilt/`
- a sponsor-model registry and policy gate under `configs/`
- local FLUX / LLM checkpoints for quilt generation and prompt rewriting
- a Gradio app entrypoint in `app.py`
- a headless smoke script that writes verification trace artifacts and model metadata
- a local GGUF smoke hook for llama-cpp verification when a model cache is available
- a trace-sharing helper that materializes a Hugging Face dataset bundle locally first
- clear failures when required local models are missing
## Quick start
Bootstrap a local virtual environment:
```bash
./scripts/bootstrap_venv.sh
```
If you are in a fully offline environment and only want the venv created (without installing deps), run:
```bash
HERMES_OFFLINE=1 ./scripts/bootstrap_venv.sh
```
Launch the app locally:
```bash
./run_local.sh
```
Check sponsor-model alignment:
```bash
python scripts/check_sponsor_model_policy.py
```
Run the offline headless smoke test:
```bash
bash scripts/offline_smoke.sh
```
Materialize the current trace bundle locally:
```bash
python scripts/share_traces_to_hf_dataset.py data/artifacts/p5_memory_quilt/traces
```
Run the local GGUF smoke when you have a llama-cpp model cache mounted:
```bash
LLAMA_CHAMPION_MODEL=/path/to/model.gguf python scripts/llama_champion_smoke.py
```
The smoke run writes artifacts to:
`artifacts/verification/<date>/`
Expected outputs include:
- `p5_smoke_quilt.png`
- `p5_smoke_tile.png`
- `p5_smoke_log.json`
- `p5_smoke.log`
- trace files under `data/artifacts/p5_memory_quilt/traces/`
Materialized share bundles land under:
`artifacts/verification/<date>/sharing_is_caring/all4-p5-memory-quilt/`
## Badge artifacts
- `FIELD_NOTES.md` β€” compact project notes and execution reflections
- `assets/theme.css` β€” parchment-toned off-brand UI styling for the Gradio app
- `scripts/headless_smoke.py` β€” offline headless smoke that writes quilt, tile, log, and trace artifacts
- `scripts/llama_champion_smoke.py` β€” local llama-cpp GGUF smoke script
- `scripts/share_traces_to_hf_dataset.py` β€” materialize/share traces as a dataset bundle
- `scripts/offline_smoke.sh` β€” convenience wrapper for the headless smoke
- `tests/test_trace_artifacts.py` β€” verifies trace artifact emission
- `tests/test_share_traces.py` β€” verifies dataset materialization from traces
- `tests/test_llama_champion_smoke.py` β€” verifies the GGUF smoke path when enabled
- `tests/test_offline_smoke.py` β€” verifies the offline smoke wrapper
- `tests/test_off_brand_theme.py` β€” verifies the theme wiring in the app launch path
## Repo notes
- The shipped demo path is offline-first and does not require external API calls.
- The sponsor policy is pinned to:
- `jetbrains/Mellm-2-12B-Instruct`
- `openbmb/MiniCPM5-1B`
- `black-forest-labs/FLUX.1-schnell`
- Demo assets are repository-authored synthetic files and do not contain real user data.
- Optional local model caches can live in `models/`.
- The trace bundle is canonicalized through `src/app_kit/tracing.py` so later scripts can consume the JSON consistently.
## Submission assets
Fill these in before publishing the final demo package:
- Demo video URL: TBD
- Hugging Face Space URL: TBD
- Public post URL: TBD
- Reviewer notes: see `FIELD_NOTES.md`
- Verification report: `../hackathon-research/verification_report.md`
## Tests
```bash
.venv/bin/python -m pytest -q
```