QEV SDK 0.2.1: packaged playground and typed decisions
Browse filesAudited English release with exact runtime/weight provenance, source-specific data licenses and published limitations.
- .gitattributes +1 -0
- README.md +13 -4
- checksums.json +6 -5
- docs/PLAYGROUND.md +12 -7
- publication.json +4 -4
- reproducibility/pyproject.toml +1 -1
- reproducibility/uv.lock +1 -1
- runtime/qev-0.2.1-py3-none-any.whl +3 -0
.gitattributes
CHANGED
|
@@ -35,3 +35,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
release-comparison/accuracy.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
runtime/qev-0.2.0-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
release-comparison/accuracy.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
runtime/qev-0.2.0-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
runtime/qev-0.2.1-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -4,9 +4,9 @@ base_model: Qwen/Qwen3.5-2B
|
|
| 4 |
base_model_relation: adapter
|
| 5 |
library_name: pytorch
|
| 6 |
language:
|
| 7 |
-
-
|
| 8 |
-
- ko
|
| 9 |
tags:
|
|
|
|
| 10 |
- multimodal
|
| 11 |
- dynamic-classification
|
| 12 |
- qwen3_5
|
|
@@ -24,6 +24,8 @@ inference: false
|
|
| 24 |
|
| 25 |
# QEV
|
| 26 |
|
|
|
|
|
|
|
| 27 |
**Your evidence. Your criteria. A decision with probabilities.**
|
| 28 |
|
| 29 |
QEV is an open multimodal decision model inspired by
|
|
@@ -35,12 +37,19 @@ Receive probabilities and a structured answer in one batched backbone forward.
|
|
| 35 |
|
| 36 |
[Training data](https://huggingface.co/datasets/ken-jo/qev-data)
|
| 37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
## At a glance
|
| 39 |
|
| 40 |
| | QEV 0.1.1 |
|
| 41 |
| --- | --- |
|
| 42 |
| Evidence | Text, one photo, or text and a photo together |
|
| 43 |
| Decision types | `choice`, ordered `score`, and true/false `noul` |
|
|
|
|
| 44 |
| Request limits | 1-4 questions; 2-16 choice/score candidates; 2,048 processed tokens |
|
| 45 |
| Inference | One batched backbone forward; zero generated answer tokens |
|
| 46 |
| Base model | Qwen3.5-2B, with its vision encoder frozen |
|
|
@@ -48,7 +57,7 @@ Receive probabilities and a structured answer in one batched backbone forward.
|
|
| 48 |
| Precision | BF16 backbone and FP32 readouts on CUDA |
|
| 49 |
| License | Apache-2.0 for code and adaptation; source-specific dataset licenses |
|
| 50 |
|
| 51 |
-
Model version **0.1.1**, final Qwen-based research snapshot; Python SDK **0.2.
|
| 52 |
Workflow Recovery v13. This release changes the public identity and packaging, not the
|
| 53 |
learned weights, candidate encoding, calibration or inference mathematics.
|
| 54 |
QEV is independently maintained. Its design draws on LAYA's typed decision interface;
|
|
@@ -101,7 +110,7 @@ Use Python 3.12 and the custom QEV runtime from the
|
|
| 101 |
adaptation and decision heads; its Qwen backbone is downloaded separately.
|
| 102 |
|
| 103 |
```sh
|
| 104 |
-
python -m pip install https://huggingface.co/ken-jo/qev/resolve/main/runtime/qev-0.2.
|
| 105 |
qev playground
|
| 106 |
```
|
| 107 |
|
|
|
|
| 4 |
base_model_relation: adapter
|
| 5 |
library_name: pytorch
|
| 6 |
language:
|
| 7 |
+
- multilingual
|
|
|
|
| 8 |
tags:
|
| 9 |
+
- multilingual
|
| 10 |
- multimodal
|
| 11 |
- dynamic-classification
|
| 12 |
- qwen3_5
|
|
|
|
| 24 |
|
| 25 |
# QEV
|
| 26 |
|
| 27 |
+
[](#language-support)
|
| 28 |
+
|
| 29 |
**Your evidence. Your criteria. A decision with probabilities.**
|
| 30 |
|
| 31 |
QEV is an open multimodal decision model inspired by
|
|
|
|
| 37 |
|
| 38 |
[Training data](https://huggingface.co/datasets/ken-jo/qev-data)
|
| 39 |
|
| 40 |
+
## Language support
|
| 41 |
+
|
| 42 |
+
**Multilingual inputs** use Qwen3.5-2B's multilingual text backbone. The interface and
|
| 43 |
+
documentation are in English. QEV's published task and calibration evaluations are
|
| 44 |
+
English-focused; equivalent accuracy across languages has not been established.
|
| 45 |
+
|
| 46 |
## At a glance
|
| 47 |
|
| 48 |
| | QEV 0.1.1 |
|
| 49 |
| --- | --- |
|
| 50 |
| Evidence | Text, one photo, or text and a photo together |
|
| 51 |
| Decision types | `choice`, ordered `score`, and true/false `noul` |
|
| 52 |
+
| Languages | Multilingual inputs; reported evaluations focus on English |
|
| 53 |
| Request limits | 1-4 questions; 2-16 choice/score candidates; 2,048 processed tokens |
|
| 54 |
| Inference | One batched backbone forward; zero generated answer tokens |
|
| 55 |
| Base model | Qwen3.5-2B, with its vision encoder frozen |
|
|
|
|
| 57 |
| Precision | BF16 backbone and FP32 readouts on CUDA |
|
| 58 |
| License | Apache-2.0 for code and adaptation; source-specific dataset licenses |
|
| 59 |
|
| 60 |
+
Model version **0.1.1**, final Qwen-based research snapshot; Python SDK **0.2.1**. Previously developed as Veyra
|
| 61 |
Workflow Recovery v13. This release changes the public identity and packaging, not the
|
| 62 |
learned weights, candidate encoding, calibration or inference mathematics.
|
| 63 |
QEV is independently maintained. Its design draws on LAYA's typed decision interface;
|
|
|
|
| 110 |
adaptation and decision heads; its Qwen backbone is downloaded separately.
|
| 111 |
|
| 112 |
```sh
|
| 113 |
+
python -m pip install https://huggingface.co/ken-jo/qev/resolve/main/runtime/qev-0.2.1-py3-none-any.whl
|
| 114 |
qev playground
|
| 115 |
```
|
| 116 |
|
checksums.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
"docs/COMPACT_MODEL.md": "9b6f56cf01d8194ffac0f040ba51f71cb89c889e2722d453b8f6418dd5896760",
|
| 8 |
"docs/LAYA_COMPARISON.md": "801fd57c856ac682492ff9927a086f7b0c3854d6ed551407f4edc7352d3c1bdd",
|
| 9 |
"docs/MODEL_SIZE.md": "d0b4d6fdea9e8502d90a7ea88f040f9d9f9ae5806aca4080f0aa7a7d6f071f54",
|
| 10 |
-
"docs/PLAYGROUND.md": "
|
| 11 |
"evidence/checkpoints/veyra-backbone-recovery-v13/head.safetensors": "84b57aeeb987f73416ac0f796150957d1c5beb1ed373733053e46438f77a8fee",
|
| 12 |
"evidence/checkpoints/veyra-backbone-recovery-v13/manifest.json": "d83f9910196c6e801658ca3816c3d2bd4a849ba3da6ff059a0edf7c6028e898d",
|
| 13 |
"evidence/checkpoints/veyra-cohort-policy-v12/head.safetensors": "86ce942f8ef036f2279422a3a2665248b98adcb0effa91bafdf15d9c14c6c83e",
|
|
@@ -188,8 +188,8 @@
|
|
| 188 |
"load_qev.py": "d220abbcd88a47ebd74b5309e9135394149379b2d8026bacf49cca71fda56de7",
|
| 189 |
"manifest.json": "d83f9910196c6e801658ca3816c3d2bd4a849ba3da6ff059a0edf7c6028e898d",
|
| 190 |
"NOTICE": "4ed44977e49e772fc8d3e971f417fe14a7490d418d07c759e2cba0dfc52ed544",
|
| 191 |
-
"publication.json": "
|
| 192 |
-
"README.md": "
|
| 193 |
"release-comparison/accuracy.png": "7da48ddd235642cd9e37807024abc85954d960419f3b5de52aa753f930eb9a45",
|
| 194 |
"release-comparison/accuracy.svg": "84b4daceaecd169f8c937fda91c5589bf69f51ddc3e7f5c41d1b09de0eeee8c3",
|
| 195 |
"release-comparison/comparison.json": "c5d3be2ba8cb68872c5d53fb4fad9f7954a56f8e79a9ff7fc66ce6fcc639f3dd",
|
|
@@ -200,10 +200,11 @@
|
|
| 200 |
"release-comparison/README.md": "e38a2067ba681fe63544d155cd42075a5d39faf3ed7b8d2f4a29ac7ef87962bd",
|
| 201 |
"release-protocol.json": "d0e6c454fc10cfa080523cfcc66706dfe73cb32524f4ce74bf87a5d4edde6776",
|
| 202 |
"release-readiness.json": "5e2ed88d29b13229affb8487217f16e611f13201371f41d3604b0eb77f46edc8",
|
| 203 |
-
"reproducibility/pyproject.toml": "
|
| 204 |
-
"reproducibility/uv.lock": "
|
| 205 |
"ROADMAP.md": "e75b8884c5555cba092dde0ac25bfb0448ff5964d8bae75067b8c854b1fe35a6",
|
| 206 |
"runtime/qev-0.1.1-py3-none-any.whl": "f1f4c54175ce213e98399cc8a3db91298e25aa1450f2306195614c80c87da8a2",
|
| 207 |
"runtime/qev-0.2.0-py3-none-any.whl": "33ca132521cf9ec7f5bc9405816cd65e9c4626853cfb21a82da7a4549ebbe576",
|
|
|
|
| 208 |
"sample_request.json": "db4c34b18ec8b1d0bcd2af48fd2b8be5636b67d2194d26492fc2f647f52b7cb1"
|
| 209 |
}
|
|
|
|
| 7 |
"docs/COMPACT_MODEL.md": "9b6f56cf01d8194ffac0f040ba51f71cb89c889e2722d453b8f6418dd5896760",
|
| 8 |
"docs/LAYA_COMPARISON.md": "801fd57c856ac682492ff9927a086f7b0c3854d6ed551407f4edc7352d3c1bdd",
|
| 9 |
"docs/MODEL_SIZE.md": "d0b4d6fdea9e8502d90a7ea88f040f9d9f9ae5806aca4080f0aa7a7d6f071f54",
|
| 10 |
+
"docs/PLAYGROUND.md": "68ecd6b468f47c2dd5d51be6b46444229c0ee2843d86d0592320fbd43aae805d",
|
| 11 |
"evidence/checkpoints/veyra-backbone-recovery-v13/head.safetensors": "84b57aeeb987f73416ac0f796150957d1c5beb1ed373733053e46438f77a8fee",
|
| 12 |
"evidence/checkpoints/veyra-backbone-recovery-v13/manifest.json": "d83f9910196c6e801658ca3816c3d2bd4a849ba3da6ff059a0edf7c6028e898d",
|
| 13 |
"evidence/checkpoints/veyra-cohort-policy-v12/head.safetensors": "86ce942f8ef036f2279422a3a2665248b98adcb0effa91bafdf15d9c14c6c83e",
|
|
|
|
| 188 |
"load_qev.py": "d220abbcd88a47ebd74b5309e9135394149379b2d8026bacf49cca71fda56de7",
|
| 189 |
"manifest.json": "d83f9910196c6e801658ca3816c3d2bd4a849ba3da6ff059a0edf7c6028e898d",
|
| 190 |
"NOTICE": "4ed44977e49e772fc8d3e971f417fe14a7490d418d07c759e2cba0dfc52ed544",
|
| 191 |
+
"publication.json": "b1452a1e57cbc6cdfcc6a7095552cb6c6f25b734eb1e96e442c260218bca60c9",
|
| 192 |
+
"README.md": "97ca455a2014bde4aefe8380cb65a9f690ad09f2dbd91c25580f988ab443037f",
|
| 193 |
"release-comparison/accuracy.png": "7da48ddd235642cd9e37807024abc85954d960419f3b5de52aa753f930eb9a45",
|
| 194 |
"release-comparison/accuracy.svg": "84b4daceaecd169f8c937fda91c5589bf69f51ddc3e7f5c41d1b09de0eeee8c3",
|
| 195 |
"release-comparison/comparison.json": "c5d3be2ba8cb68872c5d53fb4fad9f7954a56f8e79a9ff7fc66ce6fcc639f3dd",
|
|
|
|
| 200 |
"release-comparison/README.md": "e38a2067ba681fe63544d155cd42075a5d39faf3ed7b8d2f4a29ac7ef87962bd",
|
| 201 |
"release-protocol.json": "d0e6c454fc10cfa080523cfcc66706dfe73cb32524f4ce74bf87a5d4edde6776",
|
| 202 |
"release-readiness.json": "5e2ed88d29b13229affb8487217f16e611f13201371f41d3604b0eb77f46edc8",
|
| 203 |
+
"reproducibility/pyproject.toml": "9fba89be37918ab4e5f4467f76dd21bc41958fabeb39c58fb69fe8f89530cf69",
|
| 204 |
+
"reproducibility/uv.lock": "be827c1bf1121fbd20a27df748970124f5fb4bbd941993b1b0d10fe36ee10d6d",
|
| 205 |
"ROADMAP.md": "e75b8884c5555cba092dde0ac25bfb0448ff5964d8bae75067b8c854b1fe35a6",
|
| 206 |
"runtime/qev-0.1.1-py3-none-any.whl": "f1f4c54175ce213e98399cc8a3db91298e25aa1450f2306195614c80c87da8a2",
|
| 207 |
"runtime/qev-0.2.0-py3-none-any.whl": "33ca132521cf9ec7f5bc9405816cd65e9c4626853cfb21a82da7a4549ebbe576",
|
| 208 |
+
"runtime/qev-0.2.1-py3-none-any.whl": "d5270e05a748d9e965c8e2a2a7e54fae83abad6c4da4e76127d7c503a2543c81",
|
| 209 |
"sample_request.json": "db4c34b18ec8b1d0bcd2af48fd2b8be5636b67d2194d26492fc2f647f52b7cb1"
|
| 210 |
}
|
docs/PLAYGROUND.md
CHANGED
|
@@ -8,14 +8,14 @@ license notices and the SDK. You do not need to clone the repository to use the
|
|
| 8 |
Python 3.12 is required. The public runtime wheel is available with the model:
|
| 9 |
|
| 10 |
```sh
|
| 11 |
-
python -m pip install https://huggingface.co/ken-jo/qev/resolve/main/runtime/qev-0.2.
|
| 12 |
qev playground
|
| 13 |
```
|
| 14 |
|
| 15 |
Or use uv's isolated tool environment:
|
| 16 |
|
| 17 |
```sh
|
| 18 |
-
uvx --python 3.12 --from https://huggingface.co/ken-jo/qev/resolve/main/runtime/qev-0.2.
|
| 19 |
```
|
| 20 |
|
| 21 |
From a source checkout:
|
|
@@ -81,10 +81,15 @@ approximately ten minutes and are swept every five minutes. Analytics is disable
|
|
| 81 |
Sample photographs overlap development data and are examples, not independent benchmarks.
|
| 82 |
The packaged implementation and asset notices live in `src/qev/playground/`.
|
| 83 |
|
| 84 |
-
##
|
| 85 |
|
| 86 |
-
`apps/hf_space/app.py`
|
| 87 |
-
|
| 88 |
-
|
| 89 |
|
| 90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
Python 3.12 is required. The public runtime wheel is available with the model:
|
| 9 |
|
| 10 |
```sh
|
| 11 |
+
python -m pip install https://huggingface.co/ken-jo/qev/resolve/main/runtime/qev-0.2.1-py3-none-any.whl
|
| 12 |
qev playground
|
| 13 |
```
|
| 14 |
|
| 15 |
Or use uv's isolated tool environment:
|
| 16 |
|
| 17 |
```sh
|
| 18 |
+
uvx --python 3.12 --from https://huggingface.co/ken-jo/qev/resolve/main/runtime/qev-0.2.1-py3-none-any.whl qev playground
|
| 19 |
```
|
| 20 |
|
| 21 |
From a source checkout:
|
|
|
|
| 81 |
Sample photographs overlap development data and are examples, not independent benchmarks.
|
| 82 |
The packaged implementation and asset notices live in `src/qev/playground/`.
|
| 83 |
|
| 84 |
+
## Windows launcher and earlier experiments
|
| 85 |
|
| 86 |
+
`apps/hf_space/app.py` and `apps/playground/start.ps1` launch the same packaged English
|
| 87 |
+
interface. The Windows helper uses port 8765 by default for existing local bookmarks;
|
| 88 |
+
`qev playground` uses port 7860 by default. Both accept an explicit port.
|
| 89 |
|
| 90 |
+
The earlier Korean server is retained for experimental API reproducibility. It is not
|
| 91 |
+
the supported playground. The 2048 game has been removed from the playground; its
|
| 92 |
+
recorded evaluation results remain in the research reports. See the
|
| 93 |
+
[Windows launcher instructions](../apps/playground/README.md).
|
| 94 |
+
|
| 95 |
+
[GitHub: ken-jo/qev](https://github.com/ken-jo/qev)
|
publication.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
| 1 |
{
|
| 2 |
"project": "qev",
|
| 3 |
-
"version": "0.2.
|
| 4 |
"model_version": "0.1.1",
|
| 5 |
-
"runtime_wheel_file": "runtime/qev-0.2.
|
| 6 |
"source_repository": "https://github.com/ken-jo/qev",
|
| 7 |
"backbone": "Qwen/Qwen3.5-2B",
|
| 8 |
"base_revision": "15852e8c16360a2fea060d615a32b45270f8a8fc",
|
| 9 |
"weights_sha256": "84b57aeeb987f73416ac0f796150957d1c5beb1ed373733053e46438f77a8fee",
|
| 10 |
"manifest_sha256": "d83f9910196c6e801658ca3816c3d2bd4a849ba3da6ff059a0edf7c6028e898d",
|
| 11 |
-
"runtime_wheel_sha256": "
|
| 12 |
"preserved_runtime_modules": 38,
|
| 13 |
-
"original_prepared_checksums_sha256": "
|
| 14 |
"original_acceptance_preserved": true,
|
| 15 |
"weights_calibration_and_runtime_inference_unchanged": true,
|
| 16 |
"separate_publication_verification": "release/verification.json in the source repository"
|
|
|
|
| 1 |
{
|
| 2 |
"project": "qev",
|
| 3 |
+
"version": "0.2.1",
|
| 4 |
"model_version": "0.1.1",
|
| 5 |
+
"runtime_wheel_file": "runtime/qev-0.2.1-py3-none-any.whl",
|
| 6 |
"source_repository": "https://github.com/ken-jo/qev",
|
| 7 |
"backbone": "Qwen/Qwen3.5-2B",
|
| 8 |
"base_revision": "15852e8c16360a2fea060d615a32b45270f8a8fc",
|
| 9 |
"weights_sha256": "84b57aeeb987f73416ac0f796150957d1c5beb1ed373733053e46438f77a8fee",
|
| 10 |
"manifest_sha256": "d83f9910196c6e801658ca3816c3d2bd4a849ba3da6ff059a0edf7c6028e898d",
|
| 11 |
+
"runtime_wheel_sha256": "d5270e05a748d9e965c8e2a2a7e54fae83abad6c4da4e76127d7c503a2543c81",
|
| 12 |
"preserved_runtime_modules": 38,
|
| 13 |
+
"original_prepared_checksums_sha256": "5769d4f6637e4a6a95fd09d829818d7c16f4ed01003d9c8cf0b5ceb6826cb066",
|
| 14 |
"original_acceptance_preserved": true,
|
| 15 |
"weights_calibration_and_runtime_inference_unchanged": true,
|
| 16 |
"separate_publication_verification": "release/verification.json in the source repository"
|
reproducibility/pyproject.toml
CHANGED
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
| 4 |
|
| 5 |
[project]
|
| 6 |
name = "qev"
|
| 7 |
-
version = "0.2.
|
| 8 |
description = "LAYA-inspired typed decisions over text and images with Qwen3.5-2B"
|
| 9 |
readme = "README.md"
|
| 10 |
requires-python = ">=3.12,<3.13"
|
|
|
|
| 4 |
|
| 5 |
[project]
|
| 6 |
name = "qev"
|
| 7 |
+
version = "0.2.1"
|
| 8 |
description = "LAYA-inspired typed decisions over text and images with Qwen3.5-2B"
|
| 9 |
readme = "README.md"
|
| 10 |
requires-python = ">=3.12,<3.13"
|
reproducibility/uv.lock
CHANGED
|
@@ -783,7 +783,7 @@ wheels = [
|
|
| 783 |
|
| 784 |
[[package]]
|
| 785 |
name = "qev"
|
| 786 |
-
version = "0.2.
|
| 787 |
source = { editable = "." }
|
| 788 |
dependencies = [
|
| 789 |
{ name = "accelerate" },
|
|
|
|
| 783 |
|
| 784 |
[[package]]
|
| 785 |
name = "qev"
|
| 786 |
+
version = "0.2.1"
|
| 787 |
source = { editable = "." }
|
| 788 |
dependencies = [
|
| 789 |
{ name = "accelerate" },
|
runtime/qev-0.2.1-py3-none-any.whl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d5270e05a748d9e965c8e2a2a7e54fae83abad6c4da4e76127d7c503a2543c81
|
| 3 |
+
size 185847
|