alt.freeweights.text / Recon2Reason-Reasoning-4B
From: BAAI <huggingface.co/BAAI>Newsgroups: alt.freeweights.textSubject:

Recon2Reason-Reasoning-4B

Date: 2026-11-15Commit: f8faf41Signed: 2DC28CC7B26A283B ✓

Image text to text model with 4.4B parameters. Safetensors weights, 8.89 GB in all. Published by BAAI under Apache-2.0.

4.4B params8.89GBRecon2Reason-Reasoning-4Bsafetensorspermissive
FactsParams4.4BSize8.89 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get BAAI/Recon2Reason-Reasoning-4B
# manifest sha256 3eb6922c52ca… · 8.89 GB · 19 files
$ fw verify ./Recon2Reason-Reasoning-4B BAAI/Recon2Reason-Reasoning-4B
From sourceHosted (signed)BAAI/Recon2Reason-Reasoning-4BLast check: 2026-11-15 03:38 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of Qwen3-VL-4B-Instruct.

Works with

Overview

Size
8.89 GB
Weights
8.88 GB (safetensors)
Parameters
4.4B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
19, each with a sha256
Publisher
BAAI
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

Base model: Qwen/Qwen3-VL-4B-Instruct

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 03:38 UTCpassed

Model card

From the publisher at commit f8faf41. Shown as plain text with links; images open at the publisher.

Recon2Reason Reasoning 4B#

Recon2Reason Reasoning 4B is a 4B-scale vision-language model specialized for spatial reasoning in indoor and embodied scenes. It is fine-tuned from Qwen3-VL-4B and improves reasoning about metric distance, relative position, object configuration, and spatial relations from visual inputs.

The checkpoint retains the standard Qwen3VLForConditionalGeneration architecture. No custom model code or trust_remote_code=True is required.

Highlights#

  • Standard Qwen3-VL Transformers interface
  • 4,437,815,808 parameters
  • BF16 weights in sharded Safetensors format
  • Single-image and multi-image visual inputs
  • Strong results on metric and qualitative spatial reasoning benchmarks

This repository contains the reasoning model only. The retrieval-augmented scene-reconstruction extension is released separately.

Model details#

PropertyValue
Model nameRecon2Reason Reasoning 4B
Model typeVision-language conditional generation model
ArchitectureQwen3VLForConditionalGeneration
Parameters4,437,815,808
Weight dtypeBF16
Weight formatSafetensors, 2 shards
Primary domainIndoor spatial reasoning
Base modelQwen3-VL-4B-Instruct
Tested Transformers version4.57.1
LicenseApache-2.0

Quick start#

pip install "transformers==4.57.1" "torch>=2.6" accelerate safetensors pillow
import torch
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration

model_id = "BAAI/Recon2Reason-Reasoning-4B"

processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3VLForConditionalGeneration.from_pretrained(
    model_id,
    dtype="auto",
    device_map="auto",
).eval()

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "path/to/scene.jpg"},
            {
                "type": "text",
                "text": "Which object is closest to the chair? ",
            },
        ],
    }
]

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

with torch.inference_mode():
    output_ids = model.generate(
        **inputs,
        max_new_tokens=512,
        do_sample=False,
    )

generated_ids = output_ids[:, inputs["input_ids"].shape[1]:]
answer = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
    clean_up_tokenization_spaces=False,
)[0]
print(answer)

The model uses the standard Qwen3-VL chat format. For benchmark reproduction, use greedy decoding (do_sample=False) unless a benchmark specifies otherwise.

Evaluation#

The checkpoint was evaluated in BF16 with PyTorch 2.8.0, Transformers 4.57.1, SDPA attention, and greedy decoding on NVIDIA RTX PRO 6000 Blackwell GPUs.

License#

The model is released under the Apache License 2.0, subject to final confirmation that all training data and upstream artifacts permit this distribution. See LICENSE.

Acknowledgements#

This work builds on Qwen3-VL. We thank the creators of the evaluation datasets and the open-source Transformers ecosystem.

Files

19 files · 8.89 GBWeights 8.88 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 19 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
LICENSE11.4 KBc71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4
README.md3.52 KB2e992a1bc2051bef1596283b9f00aa4298e784fef913a822f43564ba58267034
SHA256SUMS1.50 KB7cb615f814a4ec24afcdddb76f51f50c300ff0153379cc2ead83d03849b0d645
added_tokens.json821 B87b4cf8a2f644db18b72a0a72b20c2f028cc83737c2a7fd068eef31eb77065d0
chat_template.jinja5.29 KB3636d0f0bd6bef02654cdffdc447b79cb2cef8ab02cc75267345946291a489e4
config.json1.62 KBcbc47621e35c7a9e65aa888432bcc6ffd38e0cab6d751d2fa21ed2ed2b06ddcf
generation_config.json242 Be52f1f58e05d51d138f106aaa8a0c2501c15d1104b68b0cdcb5acc118ecc5bc0
merges.txt1.67 MB8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model-00001-of-00002.safetensors4.99 GBe0dbd6e21bd4e8a3dac445d2a7e29715a18a0adf37488e382ac105be0b5f0fbc
model-00002-of-00002.safetensors3.89 GB596f2f877e2f5bd1b8c9a32f8c7b25f892baecbe9a394383d48490ce0abea67a
model.safetensors.index.json64.8 KBc321e968083cc64dbdc77b9cc17842396cf376399f4ff4bca6b0a001fd22afef
preprocessor_config.json777 B8b2f11a694a5740977cf09939228b41275ac5265ea68efd2e6aaaeba0b08c1c3
special_tokens_map.json413 B11048d3e5f34f5dde51ff4e18192be4b56af738c3ebcda7df28c8614d2a6ad05
tokenizer.json11.4 MBe922683c962fc465c1e557e7dcddc1dac08640f691b1ff89e3728ee32c02a3d2
tokenizer_config.json6.12 KBde72c53dda88c4ff1fef783efe7f66a63ca28a5d9f6e132482b5f29a724a099b
verify_release.py3.14 KB5fbfc2b1f10be3612c349e35ad57da5d02ab8fe500931a2bf35976e8201f63be
video_preprocessor_config.json815 Bc8c7e8b2836a658c8d7e4b0f4114909020498f2c7e60d2c4e9cf53fdc429ce10
vocab.json2.78 MBca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
f8faf41a1d pinned now2026-11-15 03:38 UTC19 files · 8.89 GB

Use it

$ fw get BAAI/Recon2Reason-Reasoning-4B
# manifest sha256 3eb6922c52ca… · 8.89 GB · 19 files
$ fw verify ./Recon2Reason-Reasoning-4B BAAI/Recon2Reason-Reasoning-4B
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/BAAI/Recon2Reason-Reasoning-4B.json --dir ./Recon2Reason-Reasoning-4B $ python3 fw.py verify ./Recon2Reason-Reasoning-4B ./BAAI__Recon2Reason-Reasoning-4B.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download BAAI/Recon2Reason-Reasoning-4B --revision f8faf41a1d5fe392f2d1ee31884f79398da59c99 --local-dir ./Recon2Reason-Reasoning-4B
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("BAAI/Recon2Reason-Reasoning-4B", revision="f8faf41a1d5fe392f2d1ee31884f79398da59c99") model = AutoModelForImageTextToText.from_pretrained("BAAI/Recon2Reason-Reasoning-4B", revision="f8faf41a1d5fe392f2d1ee31884f79398da59c99", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve BAAI/Recon2Reason-Reasoning-4B --revision f8faf41a1d5fe392f2d1ee31884f79398da59c99

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
LICENSE
Text sha256
c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: BAAI <huggingface.co/BAAI>Newsgroups: alt.freeweights.textSubject: Recon2Reason-Reasoning-4BDate: 2026-11-15Commit: f8faf41Signed: 2DC28CC7B26A283B ✓
Upstream
BAAI/Recon2Reason-Reasoning-4B
Pinned commit
f8faf41a1d5fe392f2d1ee31884f79398da59c99
Manifest
Recon2Reason-Reasoning-4B.json · .minisig
Manifest sha256
3eb6922c52ca721cf0ceb7fb732ba0025b83fb1b00e5bb98449c81cc03fa1407
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:38 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/BAAI/Recon2Reason-Reasoning-4B.json $ curl -O https://freeweights.allternit.com/manifests/BAAI/Recon2Reason-Reasoning-4B.json.minisig $ minisign -Vm Recon2Reason-Reasoning-4B.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

Qwen/Qwen3-VL-4B-Instruct · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download BAAI/Recon2Reason-Reasoning-4B
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Recon2Reason-Reasoning-4B.json. Provenance. Takedown history: none.
From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B