Spaces:
Running on Zero
Running on Zero
File size: 5,090 Bytes
e20e3d9 0cadcec e20e3d9 1e2c036 e20e3d9 d30bd8e e20e3d9 1e2c036 4a4024d 0cadcec 4a4024d 535bb9d 1e2c036 9e874de dd6cefc d30bd8e dd6cefc d30bd8e e20e3d9 0cadcec dd6cefc 4a4024d e20e3d9 0cadcec e20e3d9 0cadcec e20e3d9 0cadcec 1e2c036 0cadcec 1e2c036 dd6cefc 0cadcec e20e3d9 1e2c036 e20e3d9 1e2c036 e20e3d9 0cadcec e20e3d9 0cadcec e20e3d9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | # Development Status
Last updated: 2026-06-09
## Completed
- Project skeleton, README, AGENTS instructions, and Gradio app entrypoint.
- Mock MVP flow: upload/description, personality mode, object JSON, persona JSON, diary, object chat, share card, and trace saving.
- Archive-style Gradio UI with English-first / Chinese-second copy and six stable examples.
- Stable demo baseline:
- example buttons replay committed sample traces before falling back to live generation
- cached and live generation share the same UI output formatter
- manual upload/description path still saves new runtime traces
- Trace and dataset tooling:
- six public mock sample traces
- public trace JSONL export
- deterministic SFT preview JSONL
- initial-stage acceptance script
- Hugging Face Space created: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
- MiniCPM-V 2.6 optional vision backend wiring with mock fallback.
- Optional llama.cpp / llama-cpp-python text runtime wiring through `TEXT_MODEL_PATH`, with mock fallback.
- Space VLM validation tooling:
- `scripts/check_space_vlm.py`
- hidden `/vision_runtime_probe` API for non-secret MiniCPM-V diagnostics
- probe output support in Space VLM markdown and JSON reports
- failure-note updater for the latest Space VLM failure summary
- failed L4 validation report at `docs/SPACE_VLM_REPORT.md`
- optional `--trace-output-dir` evidence export for validation traces
- Hosted MiniCPM-V 2.6 ZeroGPU validation passed on 2026-06-08 for public mug, keyboard, and shoe images after adding an `HF_TOKEN` Space secret for gated model access.
- Public Space live vision target:
- hardware: `zero-a10g`
- `OBJECTVERSE_VISION_BACKEND=minicpm-v`
- `VISION_MODEL_ID=openbmb/MiniCPM-V-2_6`
- `OBJECTVERSE_TEXT_BACKEND=mock`
- text generation intentionally remains mock for this release
- Real VLM trace evidence from the hosted validation is available under `data/traces/space-vlm/`; text generation remained mock by design.
- ZeroGPU compatibility:
- optional `src/utils/zero_gpu.py`
- Gradio generation callback wrapped with `@zero_gpu(duration=180)`
- hidden `/zero_gpu_probe` API confirms ZeroGPU CUDA availability when run through direct `hf.space` URL
- Stable submission materials:
- Field Notes draft
- demo video script
- social post draft
- stable submission guide
- Well-Tuned evidence:
- 200-row synthetic curated v2 SFT dataset published at https://huggingface.co/datasets/qqyule/objectverse-diary-sft-curated
- Modal Qwen 1.5B LoRA v2 run completed with 120 steps, 180 train rows, and 20 eval rows
- LoRA v2 adapter published at https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora
- LoRA v2 GGUF runtime evidence:
- `scripts/check_llama_cpp_smoke.py`
- adapter merged into `Qwen/Qwen2.5-1.5B-Instruct`
- pinned `llama.cpp` commit: `8f83d6c271d194bde2d410145a0ce73bc42e85cd`
- published Q4_K_M GGUF: https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora/blob/main/objectverse-diary-qwen15b-lora-v2-q4_k_m.gguf
- local smoke passed with `llama-cpp text generation`, schema-valid persona/diary, non-empty chat, and no `text-fallback-to-mock`
- trace runtime no longer records literal `TEXT_MODEL_PATH`
- Local tests and initial acceptance currently pass.
## Not Completed
- Hosted Space text runtime validation with the published GGUF. The public Space still uses mock text until this passes.
- Real text model traces from the hosted non-mock text runtime.
- Published Field Notes URL, recorded demo video URL, social post URL, and final public submission.
## Current Runtime Defaults
Local development:
- `OBJECTVERSE_VISION_BACKEND=mock`
- `OBJECTVERSE_TEXT_BACKEND=mock`
Live Space:
- `OBJECTVERSE_VISION_BACKEND=minicpm-v`
- `VISION_MODEL_ID=openbmb/MiniCPM-V-2_6`
- `OBJECTVERSE_TEXT_BACKEND=mock`
- hardware: `zero-a10g`
- No commercial model API is used.
- GGUF files, tokens, credentials, and private images should not be committed.
## Next Recommended Gate
For live vision, keep the Space on ZeroGPU with MiniCPM-V and rerun hosted validation after dependency, Space variable, or deploy changes.
Next text model gate:
Download or mount the published GGUF on the target runtime, set:
```bash
OBJECTVERSE_TEXT_BACKEND=llama-cpp
TEXT_MODEL_PATH=/absolute/path/to/objectverse-diary-qwen15b-lora-v2-q4_k_m.gguf
```
Then rerun the local or Space smoke path before claiming live text runtime.
Live VLM validation gate:
```bash
.venv/bin/python -B scripts/check_space_vlm.py \
--configure-space \
--hardware zero-a10g \
--space-url https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary \
--output docs/SPACE_VLM_REPORT.md \
--json-output docs/SPACE_VLM_REPORT.json \
--trace-output-dir data/traces/space-vlm \
--timeout-seconds 1200
```
If rollback is needed, use:
```bash
.venv/bin/python -B scripts/check_space_vlm.py \
--space-url https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary \
--configure-space \
--hardware zero-a10g \
--skip-validation \
--rollback-to-mock
```
|