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
```