Memory-Quilt / README.md
Abhishek
docs: update article link to published blog post
4f70601
|
Raw
History Blame Contribute Delete
4.51 kB
metadata
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

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:

./scripts/bootstrap_venv.sh

If you are in a fully offline environment and only want the venv created (without installing deps), run:

HERMES_OFFLINE=1 ./scripts/bootstrap_venv.sh

Launch the app locally:

./run_local.sh

Check sponsor-model alignment:

python scripts/check_sponsor_model_policy.py

Run the offline headless smoke test:

bash scripts/offline_smoke.sh

Materialize the current trace bundle locally:

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:

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

.venv/bin/python -m pytest -q