Instructions to use ornith-ai/Ornith-1.0-35B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ornith-ai/Ornith-1.0-35B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ornith-ai/Ornith-1.0-35B") 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)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("ornith-ai/Ornith-1.0-35B") model = AutoModelForMultimodalLM.from_pretrained("ornith-ai/Ornith-1.0-35B", 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=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ornith-ai/Ornith-1.0-35B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ornith-ai/Ornith-1.0-35B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ornith-ai/Ornith-1.0-35B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ornith-ai/Ornith-1.0-35B
- SGLang
How to use ornith-ai/Ornith-1.0-35B 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 "ornith-ai/Ornith-1.0-35B" \ --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": "ornith-ai/Ornith-1.0-35B", "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 "ornith-ai/Ornith-1.0-35B" \ --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": "ornith-ai/Ornith-1.0-35B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ornith-ai/Ornith-1.0-35B with Docker Model Runner:
docker model run hf.co/ornith-ai/Ornith-1.0-35B
Two critical checkpoint errors prevent quantization (MTP config mismatch + wrong tensor naming)
The checkpoint has two issues that make it unusable with mlx-lm / oMLX:
1. MTP declared in config but weights missing
config.json sets mtp_num_hidden_layers: 1 but the checkpoint contains no mtp.* tensors.
This causes oQ quantization to fail with:
"Native MTP is enabled for this model but the converted weights are missing the mtp.* tensors."
2. Non-standard tensor naming
Checkpoint uses:
model.language_model.layers.X.mlp.experts.X.*
mlx-lm expects:
language_model.model.layers.X.mlp.experts.X.*
This causes oQ quantization to fail with:
"Received 30720 parameters not in model: language_model.model.layers.0.mlp.experts.0.down_proj.weight, ..."
Both issues need to be fixed in the checkpoint before this model can be quantized or used with any MLX runtime.
Hi.
The second one is not just the naming issue β it actually requires to stack expert MLP weights into fused per-layer tensors.
I've managed to come up with oQ5 as an experiment.
Feel free to try it out and request more quants (see my Qwen3.6-35B-A3B collection as an example).
- I have the similar issue. This model is Missing mtp.pre_fc_norm_hidden.weight means the actual MTP tensor set is incomplete or absent.
I would copy the tensors from baseline Qwen3.6-35B-A3B, but acceptance rate may be worse than native Qwen3.6 because the MTP head was trained against Qwen3.6βs trunk hidden-state distribution.