Instructions to use bartowski/Phi-3.5-mini-instruct-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use bartowski/Phi-3.5-mini-instruct-GGUF with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="bartowski/Phi-3.5-mini-instruct-GGUF") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("bartowski/Phi-3.5-mini-instruct-GGUF", dtype="auto") - llama-cpp-python
How to use bartowski/Phi-3.5-mini-instruct-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="bartowski/Phi-3.5-mini-instruct-GGUF", filename="Phi-3.5-mini-instruct-IQ2_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use bartowski/Phi-3.5-mini-instruct-GGUF with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M # Run inference directly in the terminal: llama-cli -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M # Run inference directly in the terminal: llama-cli -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
Use Docker
docker model run hf.co/bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use bartowski/Phi-3.5-mini-instruct-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "bartowski/Phi-3.5-mini-instruct-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bartowski/Phi-3.5-mini-instruct-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
- SGLang
How to use bartowski/Phi-3.5-mini-instruct-GGUF 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 "bartowski/Phi-3.5-mini-instruct-GGUF" \ --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": "bartowski/Phi-3.5-mini-instruct-GGUF", "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 "bartowski/Phi-3.5-mini-instruct-GGUF" \ --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": "bartowski/Phi-3.5-mini-instruct-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use bartowski/Phi-3.5-mini-instruct-GGUF with Ollama:
ollama run hf.co/bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
- Unsloth Studio
How to use bartowski/Phi-3.5-mini-instruct-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for bartowski/Phi-3.5-mini-instruct-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for bartowski/Phi-3.5-mini-instruct-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for bartowski/Phi-3.5-mini-instruct-GGUF to start chatting
- Docker Model Runner
How to use bartowski/Phi-3.5-mini-instruct-GGUF with Docker Model Runner:
docker model run hf.co/bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
- Lemonade
How to use bartowski/Phi-3.5-mini-instruct-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.Phi-3.5-mini-instruct-GGUF-Q4_K_M
List all available models
lemonade list
GGUF Generation Script
Howdy, could you kindly share how this GGUF was made, i.e. scripts? Thanks
yeah sure, it's just the usual:
python3 convert_hf_to_gguf.py --outtype ${DTYPE} --outfile /models_out/${MODEL}-GGUF/${MODEL}-${DTYPE}.gguf /models/${MODEL}/
where DTYPE is one of f16, f32, bf16, and MODEL is the name of the model I'm using
Then I create my imatrix:
./llama-imatrix -m /models_out/${MODEL}-GGUF/${MODEL}-${DTYPE}.gguf -f /training_data/calibration_datav3.txt --output-file /models/${MODEL}-GGUF/${MODEL}.imatrix
Then I run:
./llama-quantize --imatrix /models/${MODEL}-GGUF/${MODEL}.imatrix /models/${MODEL}-GGUF/${MODEL}-${DTYPE}.gguf /models/${MODEL}-GGUF/${MODEL}-${QUANT}.gguf ${QUANT}
where QUANT is the quant type i'm making (Q4_K_M for example)
@bartowski How do you pick initial DTYPE? I know some models are originally provided as f32 or bf16, but I usually just go with f16 - and it seems to be working fine (f32 takes too much disk space, and I've read somewhere bf16 isn't yet fully supported in llama.cpp - and it might require newer GPU, too). Are there any use cases for starting with f32 or bf16, instead of f16 (with measurable quality difference in final quants like Q6_K)?
Oh sorry I missed this
Just go with f16 imo
I used to say f32 to guarantee quality (bf16 -> fp16 isn't lossless) but I've come around for a few reasons
1, llama.cpp does internal conversions to f16 at many points in the process so it doesn't super matter
2, values that are so small that fp16 can't represent them probably don't contribute much to the final output anyways and can pretty safely be squashed to 0
And besides, with quantization, the loss of bf16 vs fp16 is orders of magnitude less than converting to 8bit
Hi @bartowski , I try to use this script to convert my LoRA fine-tuned phi3.5-mini to GGUF, but it reports the following bug
llama_model_load: error loading model: check_tensor_dims: tensor 'token_embd.weight' not found
llama_load_model_from_file: failed to load model