Parti-Vision Base — Qwen3.5-9B

Discord License Base Whitepaper

Parti-Vision turns a hardware idea — a sentence, a short brief, even a sketch — into a complete build blueprint.

A hand-drawn desk lamp sketch turned into a finished product render

Tell it what to build — "a USB-powered desk lamp with touch dimming" — and it returns one JSON blueprint: parts list, pin-level wiring, ordered build steps, a costed sourcing table, and an appearance spec with a ready-to-use image-generation prompt. It's a standalone, all-in-one model. By caid-technologies.

Three steps: describe or sketch it, Parti-Vision designs it, get a build blueprint

Early research preview. For drafting and exploring ideas — not a replacement for real engineering, CAD, or safety review.

Does it actually work?

Valid blueprints on new realistic requests: stock Qwen 0%, Parti-Vision 61%, with guided decoding 97%

On brand-new realistic requests, 97% of outputs are valid, machine-checkable blueprints when served with guided decoding (61% with plain decoding; the stock base model: 0%). On held-out training-style prompts: 83% guided / 67% free.

What's "guided decoding"? A standard serving option (guided_json in vLLM, and equivalents in llama.cpp and most hosted APIs): the server blocks any token that would break the blueprint's JSON format, so the output always has the right structure. The model still makes every design decision — the parts, the wiring, the steps, the costs — guided decoding just guarantees the format.

Full methodology and every result — including the tests it doesn't pass yet — are in the technical whitepaper (PDF).

What you can give it

  • A plain-English request — one or two sentences.

  • A short document — a brief or notes, pasted into the message:

    <your request>
    
    --- ATTACHED DOCUMENT: brief.md ---
    <the document text>
    --- END DOCUMENT ---
    
  • A concept image — a hand-drawn sketch or product render, as a regular vision input.

Any combination works; prompt + brief + render is strongest.

PDFs and other files

The model reads text + images only, so put one small conversion layer in front of it — no native PDF/CAD/spreadsheet support is needed:

  • PDF → text (the recommended path). Extract the text (e.g. PyMuPDF / fitz) and drop it into the --- ATTACHED DOCUMENT --- markers above. Text is what actually steers the design.
  • PDF → image (optional). Render a page to a PNG and pass it on the vision path — useful for diagrams or a concept page, best used alongside the extracted text, not instead of it.
  • Keep it short. The model was trained on brief notes (~0.5–2k characters); cap long documents at a few thousand characters and send only the relevant section — a full 50-page report or datasheet mostly wastes context.
  • Scanned PDFs have no text layer — use the page image (vision path), or OCR first.
  • LaTeX / Markdown / plain text need no conversion — paste the source straight in as the document text.
  • CAD files / spreadsheets — export to text (a parts list, a bill of materials) or a rendered view, then attach the same way.

Try it

The model answers in JSON directly — no reasoning preamble to strip.

from unsloth import FastVisionModel

REPO = "caid-technologies/parti-vision"
model, tok = FastVisionModel.from_pretrained(REPO, load_in_4bit=False)
FastVisionModel.for_inference(model)

SYSTEM_PROMPT = (
    "You design maker/electronics products. Reply with one JSON object with exactly these "
    "10 keys: project, requirements, components, relationships, circuit, fabrication, "
    "instructions, appearance, image_generation_prompt, sourcing. Output only the JSON."
)
messages = [
    {"role": "system", "content": [{"type": "text", "text": SYSTEM_PROMPT}]},
    {"role": "user",   "content": [{"type": "text", "text": "Design a USB desk lamp with touch dimming."}]},
]
text = tok.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
inputs = tok(text=text, return_tensors="pt").to("cuda")
out = model.generate(**inputs, max_new_tokens=13000, do_sample=False, repetition_penalty=1.1)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

💡 Blueprints are long: keep max_new_tokens high and the repetition penalty on. To include an image, add {"type": "image", "image": your_image} to the user content and pass images= to the tokenizer.

🚀 Serving it for real? Use vLLM with guided_json constrained to the blueprint schema (guided decoding, explained above) — it takes valid-blueprint rates on unseen prompts from 61% to **97%**.

Good to know

  • English prompts, maker/electronics domain. Off-topic requests still get a blueprint, not a refusal.
  • Outputs are drafts, not verified engineering — roughly half have at least one design slip (a pin on the wrong net, costs slightly off, a misordered step). Re-validate in your app, and review before you solder.
  • Very long plans can get cut off at the token cap; contradictory or impossible requests can produce confidently wrong blueprints.

Learn more

  • 📄 Technical whitepaper (PDF) — models, dataset & pipeline, training config, evaluation methodology, and the complete honest scorecard.
  • 💬 Discord community — questions, builds, feedback.
  • 🔎 Output contract: one JSON object with exactly 10 top-level keys (project, requirements, components, relationships, circuit, fabrication, instructions, appearance, image_generation_prompt, sourcing); schema.json + validate.py in the repo re-check any output.
@misc{parti_vision_base,
  title  = {Parti-Vision Base: Qwen3.5-9B for multimodal hardware blueprint generation},
  author = {Caid Technologies},
  year   = {2026},
  howpublished = {\url{https://huggingface.co/caid-technologies}}
}

Built with Unsloth and 🤗 Transformers / PEFT / TRL.

Downloads last month
219
Safetensors
Model size
10B params
Tensor type
BF16
·
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for caid-technologies/parti-vision

Finetuned
Qwen/Qwen3.5-9B
Finetuned
(530)
this model
Quantizations
1 model