Instructions to use juspay/xor with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use juspay/xor with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="juspay/xor") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("juspay/xor") model = AutoModelForMultimodalLM.from_pretrained("juspay/xor", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use juspay/xor with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "juspay/xor" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "juspay/xor", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/juspay/xor
- SGLang
How to use juspay/xor with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "juspay/xor" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "juspay/xor", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "juspay/xor" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "juspay/xor", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use juspay/xor with Docker Model Runner:
docker model run hf.co/juspay/xor
Xor 1.1
Xor 1.1 (xor-1.1) is a post-trained version of Qwen/Qwen3.6-35B-A3B for typed decision tasks. It is served through a TypeSafe-compatible /v1/systemone API.
Changes from Xor 1.0
- New post-trained weights (LoRA rank 16, merged into BF16 base weights)
choiceandscorequestions accept 2 to 255 candidates (previously 26)- Video input in addition to images; remote media URLs are rejected, only data URLs are accepted
- Per-question-type calibration temperatures:
noul1.4,choice1.1,score1.0 - Validated on one GPU (TP1) with a pinned, patched SGLang runtime
Revisions
| Revision | Release |
|---|---|
main |
Latest release (currently Xor 1.1) |
v1.1 |
Xor 1.1, immutable |
xor-v1 |
Xor 1.0, immutable |
Pin a revision for reproducible results:
hf download juspay/xor --revision v1.1 --local-dir xor-1.1
Base model
| Field | Value |
|---|---|
| Base checkpoint | Qwen/Qwen3.6-35B-A3B |
| Base revision | 995ad96eacd98c81ed38be0c5b274b04031597b0 |
| Architecture | Mixture-of-experts causal language model |
| Total parameters | 35 billion |
| Activated parameters | Approximately 3 billion per token |
| Released precision | BF16 |
| Base license | Apache License 2.0 |
| Packaging | Fully merged weights; no adapter loading or merging is required |
Interface
The server accepts a state and a map of typed questions:
noul: binary probabilitychoice: categorical decision and full probability distributionscore: expected ordinal score and full probability distribution
Requests may include an images array with up to eight image data URLs, or one video data URL. Typed questions can classify information from the supplied media and text. Send one kind of media per request: the API accepts images and a video together, but the model does not reliably tell them apart.
The complete request body must not exceed 8 MB, which leaves roughly 6 MB of media after base64 encoding. Larger requests are rejected with HTTP 422.
The serving layer performs deterministic single-token candidate readout, forward and reverse option-order evaluation, probability calibration, and schema conversion. The serving layer is part of the released inference configuration and must be used for reproducible results.
Quick start
Download the release, verify and extract the serving bundle, and start Xor on one GPU:
hf download juspay/xor --revision v1.1 --local-dir xor-1.1
(cd xor-1.1/serving && sha256sum -c xor-1.1-serving.tar.gz.sha256)
mkdir -p xor-1.1-runtime
tar -xzf xor-1.1/serving/xor-1.1-serving.tar.gz -C xor-1.1-runtime --strip-components=1
cd xor-1.1-runtime
cp .env.example .env
sed -i "s|^MODEL_DIR=.*|MODEL_DIR=$(cd ../xor-1.1 && pwd)|" .env
./run.sh
run.sh verifies every model file against checksums.sha256 before starting. When the smoke test succeeds, the API is available at http://127.0.0.1:30002/v1/systemone.
curl -sS -X POST http://127.0.0.1:30002/v1/systemone \
-H 'Content-Type: application/json' \
--data @examples/request.json
curl -sS -X POST http://127.0.0.1:30002/v1/systemone \
-H 'Content-Type: application/json' \
--data @examples/image-request.json
The setup requires Linux x86-64, the Hugging Face CLI, Docker Engine with Docker Compose v2, the NVIDIA Container Toolkit, and approximately 120 GB of free disk space.
Public JEVBench self-run
Xor 1.1 was evaluated locally on the public tiers of JEVBench using harness commit 1bcc55eb6c8cffde2306b3db03ede39b61c6152a, the existing typesafe adapter, and one request at a time.
The run used the released serving bundle unmodified on 1 x NVIDIA H200 (143 GB), tensor parallelism 1, data parallelism 1, with request caching disabled.
| Tier | Attempted | Valid | Correct | Accuracy | p50 | p95 |
|---|---|---|---|---|---|---|
| Easy | 48 | 48 | 48 | 1.0000 | 0.0739 s | 0.0772 s |
| Original | 72 | 72 | 70 | 0.9722 | 0.0742 s | 0.0780 s |
| Hard public | 111 | 111 | 89 | 0.8018 | 0.0781 s | 0.1378 s |
| All public | 231 | 231 | 207 | 0.8961 | 0.0753 s | 0.1207 s |
Across all 231 public decisions: macro accuracy 0.9056, Brier mean 0.1704, ECE 0.0559. Operational success, coverage, schema validity, and strict schema validity were 1.0000.
These are self-run public-tier results, not an official JEVBench rank. Latency is hardware-specific and was measured locally without network overhead.
Validated runtime
| Setting | Value |
|---|---|
| SGLang image | prakhar1611/xor-sglang@sha256:94c48d2a6cc98dc456cf93f723707ea7dd81dddfe1061e823b348d68bbe8158f |
| Upstream SGLang base | lmsysorg/sglang@sha256:6bcaa47db52f78ce0d67863b8b2431221b79bc23204a80cad757fa819d00e921 |
| Tensor parallelism | 1 |
| Data parallelism | 1 |
| Validated GPU | 1 x NVIDIA H200, 143 GB |
| Maximum prefill tokens | 250,000 |
| Static memory fraction | 0.85 |
The runtime image adds a small fix to SGLang's candidate-logprob result handling that prevents a scheduler crash when scoring and plain generation requests share a batch. Dockerfile.sglang-logprob-fix in the serving bundle reproduces it from the upstream image.
Operational notes
The model files occupy approximately 66 GB. Each data-parallel worker loads a complete model replica. Alternative hardware and parallelism settings must be validated independently before publishing performance results.
Artifact hashes, the base revision, adapter and merge metadata, the runtime image, and known provenance gaps are recorded in RELEASE_PROVENANCE.json and checksums.sha256.
The service does not require an API key when bound to localhost. Remote deployments must add authentication, TLS, rate limits, and request-size limits at the ingress layer.
- Downloads last month
- 1,446
Model tree for juspay/xor
Base model
Qwen/Qwen3.6-35B-A3B