Image-Text-to-Text
MLX
Safetensors
English
phi4mm
apple-silicon
vision-language-model
multimodal
phi-4
quantized
8bit
siglip
document-understanding
chart-understanding
ocr
conversational
Eval Results (legacy)
Instructions to use Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit 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("Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit") config = load_config("Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit") # 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 Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit 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 "Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit"
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 Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit
Run Hermes
hermes
- OpenClaw new
How to use Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit"
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 "Ferox-AI/Phi-4-multimodal-instruct-mlx-8bit" \ --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"
| { | |
| "model_type": "phi4mm", | |
| "hidden_size": 3072, | |
| "intermediate_size": 8192, | |
| "num_hidden_layers": 32, | |
| "num_attention_heads": 24, | |
| "num_key_value_heads": 8, | |
| "vocab_size": 200064, | |
| "rms_norm_eps": 1e-05, | |
| "max_position_embeddings": 131072, | |
| "original_max_position_embeddings": 4096, | |
| "rope_theta": 10000.0, | |
| "rope_scaling": { | |
| "long_factor": [ | |
| 1, | |
| 1.118320672, | |
| 1.250641126, | |
| 1.398617824, | |
| 1.564103225, | |
| 1.74916897, | |
| 1.956131817, | |
| 2.187582649, | |
| 2.446418898, | |
| 2.735880826, | |
| 3.059592084, | |
| 3.421605075, | |
| 3.826451687, | |
| 4.279200023, | |
| 4.785517845, | |
| 5.351743533, | |
| 5.984965424, | |
| 6.693110555, | |
| 7.485043894, | |
| 8.370679318, | |
| 9.36110372, | |
| 10.4687158, | |
| 11.70738129, | |
| 13.09260651, | |
| 14.64173252, | |
| 16.37415215, | |
| 18.31155283, | |
| 20.47818807, | |
| 22.90118105, | |
| 25.61086418, | |
| 28.64115884, | |
| 32.03, | |
| 32.1, | |
| 32.13, | |
| 32.23, | |
| 32.6, | |
| 32.61, | |
| 32.64, | |
| 32.66, | |
| 32.7, | |
| 32.71, | |
| 32.93, | |
| 32.97, | |
| 33.28, | |
| 33.49, | |
| 33.5, | |
| 44.16, | |
| 47.77 | |
| ], | |
| "short_factor": [ | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0, | |
| 1.0 | |
| ], | |
| "type": "longrope" | |
| }, | |
| "partial_rotary_factor": 0.75, | |
| "tie_word_embeddings": true, | |
| "hidden_act": "silu", | |
| "bos_token_id": 199999, | |
| "eos_token_id": 199999, | |
| "pad_token_id": 199999, | |
| "image_token_id": 200010, | |
| "vision_config": { | |
| "hidden_size": 1152, | |
| "intermediate_size": 4304, | |
| "num_hidden_layers": 27, | |
| "num_attention_heads": 16, | |
| "head_dim": 72, | |
| "image_size": 448, | |
| "patch_size": 14, | |
| "num_channels": 3, | |
| "num_patches": 1024, | |
| "hidden_act": "gelu_pytorch_tanh", | |
| "layer_norm_eps": 1e-06, | |
| "feature_layer": -2 | |
| }, | |
| "crop_size": 448, | |
| "max_num_crops": 8, | |
| "static_crop_dim": 9, | |
| "vision_projection_input_size": 1152, | |
| "quantization": { | |
| "group_size": 64, | |
| "bits": 8 | |
| } | |
| } |