Image-Text-to-Text
MLX
Safetensors
gemma4_unified
apple-silicon
multimodal
text-classification
image-classification
typed-decision
conversational
4-bit precision
Instructions to use Ruiruiz30/Jev-Omni-MLX-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Ruiruiz30/Jev-Omni-MLX-4bit with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("Ruiruiz30/Jev-Omni-MLX-4bit") config = load_config("Ruiruiz30/Jev-Omni-MLX-4bit") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use Ruiruiz30/Jev-Omni-MLX-4bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Ruiruiz30/Jev-Omni-MLX-4bit"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Ruiruiz30/Jev-Omni-MLX-4bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use Ruiruiz30/Jev-Omni-MLX-4bit with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Ruiruiz30/Jev-Omni-MLX-4bit"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Ruiruiz30/Jev-Omni-MLX-4bit
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Ruiruiz30/Jev-Omni-MLX-4bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Ruiruiz30/Jev-Omni-MLX-4bit"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Ruiruiz30/Jev-Omni-MLX-4bit" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
File size: 4,666 Bytes
490d375 33c5267 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | <svg xmlns="http://www.w3.org/2000/svg" width="920" height="470" viewBox="0 0 920 470" preserveAspectRatio="xMinYMin meet" overflow="hidden">
<title>JevBench calibration for Jev-Omni-MLX-4bit</title>
<rect width="100%" height="100%" rx="18" fill="#0b1220"/>
<style>
text { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #e5e7eb; }
.muted { fill: #9ca3af; } .grid { stroke: #263449; stroke-width: 1; }
.axis { stroke: #64748b; stroke-width: 1.2; } .value { font-weight: 700; }
</style>
<text x="54" y="45" font-size="24" font-weight="700">JevBench calibration</text>
<text x="54" y="70" font-size="14" class="muted">10 confidence bins · temperature T=1.11517 · lower ECE is better</text>
<line x1="92" y1="375.0" x2="812" y2="375.0" class="grid"/>
<line x1="92.0" y1="105" x2="92.0" y2="375" class="grid"/>
<text x="92.0" y="398" text-anchor="middle" font-size="12" class="muted">0%</text>
<text x="78" y="380.0" text-anchor="end" font-size="12" class="muted">0%</text>
<line x1="92" y1="321.0" x2="812" y2="321.0" class="grid"/>
<line x1="236.0" y1="105" x2="236.0" y2="375" class="grid"/>
<text x="236.0" y="398" text-anchor="middle" font-size="12" class="muted">20%</text>
<text x="78" y="326.0" text-anchor="end" font-size="12" class="muted">20%</text>
<line x1="92" y1="267.0" x2="812" y2="267.0" class="grid"/>
<line x1="380.0" y1="105" x2="380.0" y2="375" class="grid"/>
<text x="380.0" y="398" text-anchor="middle" font-size="12" class="muted">40%</text>
<text x="78" y="272.0" text-anchor="end" font-size="12" class="muted">40%</text>
<line x1="92" y1="213.0" x2="812" y2="213.0" class="grid"/>
<line x1="524.0" y1="105" x2="524.0" y2="375" class="grid"/>
<text x="524.0" y="398" text-anchor="middle" font-size="12" class="muted">60%</text>
<text x="78" y="218.0" text-anchor="end" font-size="12" class="muted">60%</text>
<line x1="92" y1="159.0" x2="812" y2="159.0" class="grid"/>
<line x1="668.0" y1="105" x2="668.0" y2="375" class="grid"/>
<text x="668.0" y="398" text-anchor="middle" font-size="12" class="muted">80%</text>
<text x="78" y="164.0" text-anchor="end" font-size="12" class="muted">80%</text>
<line x1="92" y1="105.0" x2="812" y2="105.0" class="grid"/>
<line x1="812.0" y1="105" x2="812.0" y2="375" class="grid"/>
<text x="812.0" y="398" text-anchor="middle" font-size="12" class="muted">100%</text>
<text x="78" y="110.0" text-anchor="end" font-size="12" class="muted">100%</text>
<line x1="92" y1="375" x2="812" y2="105" stroke="#94a3b8" stroke-dasharray="6 5"/>
<line x1="92" y1="105" x2="92" y2="375" class="axis"/><line x1="92" y1="375" x2="812" y2="375" class="axis"/>
<polyline points="343.4,307.5 402.8,285.0 484.9,154.1 554.4,172.5 624.2,165.0 702.3,187.2 798.6,111.8" fill="none" stroke="#fbbf24" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="343.4" cy="307.5" r="5" fill="#fbbf24" stroke="#0b1220" stroke-width="2"/>
<circle cx="402.8" cy="285.0" r="5" fill="#fbbf24" stroke="#0b1220" stroke-width="2"/>
<circle cx="484.9" cy="154.1" r="5" fill="#fbbf24" stroke="#0b1220" stroke-width="2"/>
<circle cx="554.4" cy="172.5" r="5" fill="#fbbf24" stroke="#0b1220" stroke-width="2"/>
<circle cx="624.2" cy="165.0" r="5" fill="#fbbf24" stroke="#0b1220" stroke-width="2"/>
<circle cx="702.3" cy="187.2" r="5" fill="#fbbf24" stroke="#0b1220" stroke-width="2"/>
<circle cx="798.6" cy="111.8" r="5" fill="#fbbf24" stroke="#0b1220" stroke-width="2"/>
<polyline points="351.2,273.8 416.0,259.3 487.1,150.0 570.6,182.1 636.6,195.0 709.1,140.2 796.6,112.2" fill="none" stroke="#4ade80" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="351.2" cy="273.8" r="5" fill="#4ade80" stroke="#0b1220" stroke-width="2"/>
<circle cx="416.0" cy="259.3" r="5" fill="#4ade80" stroke="#0b1220" stroke-width="2"/>
<circle cx="487.1" cy="150.0" r="5" fill="#4ade80" stroke="#0b1220" stroke-width="2"/>
<circle cx="570.6" cy="182.1" r="5" fill="#4ade80" stroke="#0b1220" stroke-width="2"/>
<circle cx="636.6" cy="195.0" r="5" fill="#4ade80" stroke="#0b1220" stroke-width="2"/>
<circle cx="709.1" cy="140.2" r="5" fill="#4ade80" stroke="#0b1220" stroke-width="2"/>
<circle cx="796.6" cy="112.2" r="5" fill="#4ade80" stroke="#0b1220" stroke-width="2"/>
<rect x="625" y="112" width="170" height="58" rx="10" fill="#111c2e" stroke="#263449"/>
<circle cx="645" cy="132" r="5" fill="#fbbf24"/><text x="658" y="137" font-size="13">Raw</text>
<circle cx="645" cy="154" r="5" fill="#4ade80"/><text x="658" y="159" font-size="13">Temperature scaled</text>
<text x="92" y="430" font-size="12" class="muted">Dashed line: perfect calibration · all 231 public decisions.</text>
</svg> |