Text Generation
Transformers
Safetensors
MLX
gpt_bigcode
code
granite
conversational
Eval Results (legacy)
text-generation-inference
Instructions to use mlx-community/granite-20b-code-instruct-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use mlx-community/granite-20b-code-instruct-4bit with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="mlx-community/granite-20b-code-instruct-4bit") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("mlx-community/granite-20b-code-instruct-4bit") model = AutoModelForCausalLM.from_pretrained("mlx-community/granite-20b-code-instruct-4bit") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.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(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - MLX
How to use mlx-community/granite-20b-code-instruct-4bit with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("mlx-community/granite-20b-code-instruct-4bit") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- LM Studio
- vLLM
How to use mlx-community/granite-20b-code-instruct-4bit with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "mlx-community/granite-20b-code-instruct-4bit" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mlx-community/granite-20b-code-instruct-4bit", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/mlx-community/granite-20b-code-instruct-4bit
- SGLang
How to use mlx-community/granite-20b-code-instruct-4bit 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 "mlx-community/granite-20b-code-instruct-4bit" \ --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": "mlx-community/granite-20b-code-instruct-4bit", "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 "mlx-community/granite-20b-code-instruct-4bit" \ --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": "mlx-community/granite-20b-code-instruct-4bit", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - MLX LM
How to use mlx-community/granite-20b-code-instruct-4bit with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "mlx-community/granite-20b-code-instruct-4bit"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "mlx-community/granite-20b-code-instruct-4bit" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mlx-community/granite-20b-code-instruct-4bit", "messages": [ {"role": "user", "content": "Hello"} ] }' - Docker Model Runner
How to use mlx-community/granite-20b-code-instruct-4bit with Docker Model Runner:
docker model run hf.co/mlx-community/granite-20b-code-instruct-4bit
| license: apache-2.0 | |
| library_name: transformers | |
| tags: | |
| - code | |
| - granite | |
| - mlx | |
| base_model: ibm-granite/granite-20b-code-base | |
| datasets: | |
| - bigcode/commitpackft | |
| - TIGER-Lab/MathInstruct | |
| - meta-math/MetaMathQA | |
| - glaiveai/glaive-code-assistant-v3 | |
| - glaive-function-calling-v2 | |
| - bugdaryan/sql-create-context-instruction | |
| - garage-bAInd/Open-Platypus | |
| - nvidia/HelpSteer | |
| metrics: | |
| - code_eval | |
| pipeline_tag: text-generation | |
| inference: true | |
| model-index: | |
| - name: granite-20b-code-instruct | |
| results: | |
| - task: | |
| type: text-generation | |
| dataset: | |
| name: HumanEvalSynthesis(Python) | |
| type: bigcode/humanevalpack | |
| metrics: | |
| - type: pass@1 | |
| value: 60.4 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 53.7 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 58.5 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 42.1 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 45.7 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 42.7 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 44.5 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 42.7 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 49.4 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 32.3 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 42.1 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 18.3 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 43.9 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 43.9 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 45.7 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 41.5 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 41.5 | |
| name: pass@1 | |
| - type: pass@1 | |
| value: 29.9 | |
| name: pass@1 | |
| # mlx-community/granite-20b-code-instruct-4bit | |
| The Model [mlx-community/granite-20b-code-instruct-4bit](https://huggingface.co/mlx-community/granite-20b-code-instruct-4bit) was converted to MLX format from [ibm-granite/granite-20b-code-instruct](https://huggingface.co/ibm-granite/granite-20b-code-instruct) using mlx-lm version **0.13.0**. | |
| ## Use with mlx | |
| ```bash | |
| pip install mlx-lm | |
| ``` | |
| ```python | |
| from mlx_lm import load, generate | |
| model, tokenizer = load("mlx-community/granite-20b-code-instruct-4bit") | |
| response = generate(model, tokenizer, prompt="hello", verbose=True) | |
| ``` | |