Instructions to use mlx-community/Meta-Llama-3-8B-Instruct-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use mlx-community/Meta-Llama-3-8B-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/Meta-Llama-3-8B-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
- MLX LM
How to use mlx-community/Meta-Llama-3-8B-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/Meta-Llama-3-8B-Instruct-4bit"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "mlx-community/Meta-Llama-3-8B-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/Meta-Llama-3-8B-Instruct-4bit", "messages": [ {"role": "user", "content": "Hello"} ] }'
Fix eos_token in tokenizer_config.json
eos_token was set to "<|eot_id|>" when it should be "<|end_of_text|>"
This caused bugs like generation never ending because it never hits the eos_token.
Instruct models don't have this issue.
It's only the base models.
I have the same issue.
when setting the max_tokens to 1024 the model doesn't stop generating.
Please give me a reproducible example :)
hi,
As suggested in the model card, but with max_tokens=1024-
'''
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/Meta-Llama-3-8B-Instruct-4bit")
response = generate(model, tokenizer, prompt="hello", verbose=True, max_tokens=1024)
'''
The model does not stop generating text, as shown in the next discussion: huggingface.co/mlx-community/Meta-Llama-3-8B-Instruct-4bit/discussions/3
Hey @prince-canuma
Here's the sample code:
from mlx_lm import load, generate
from markdown import markdown
from IPython.display import Markdown, display
model, tokenizer = load("mlx-community/Meta-Llama-3-8B-Instruct-4bit")
response = generate(model, tokenizer,
prompt="What is 5 plus 5?",
verbose=True,
max_tokens=400)
And attached is the response it's giving me.
Can you run the same command using the terminal and share the results?
python -m mlx_lm.generate --model ... --prompt "..."
Should setting eos_token to "<|end_of_text|>" in configuration files do the trick? It doesn't work for me unfortunately.
