Instructions to use apple/FastVLM-0.5B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use apple/FastVLM-0.5B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="apple/FastVLM-0.5B", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("apple/FastVLM-0.5B", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use apple/FastVLM-0.5B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "apple/FastVLM-0.5B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "apple/FastVLM-0.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/apple/FastVLM-0.5B
- SGLang
How to use apple/FastVLM-0.5B 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 "apple/FastVLM-0.5B" \ --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": "apple/FastVLM-0.5B", "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 "apple/FastVLM-0.5B" \ --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": "apple/FastVLM-0.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use apple/FastVLM-0.5B with Docker Model Runner:
docker model run hf.co/apple/FastVLM-0.5B
Create custom processor for easier inference
#11
by pcuenq HF Staff - opened
This improves the custom transformers processor to handle all the input pre-processing logic, achieving the following benefits:
- Inference with transformers is much simpler, as it can be done in exactly the same way as in native transformers models (except for the use of
trust_remote_codeto download the processor from the Hub). See the updates to the README for an example snippet. The user does not have to prepare the inputs manually. - Fixes #10.
- Unlocks downstream use cases like conversion to MLX.
- Could potentially help with #4 (not tested yet).
Notes:
- I created a chat template that only applies to the processor, but preserves the existing chat template configured in the tokenizer. This may be confusing for some users, my recommendation would be to use the same definition for both, unless the tokenizer template is used elsewhere. If backwards compatibility is not a concern, I can update this PR to use the same.
- I can open PRs to the other FastVLM models if this one is accepted.
Hello, thank you for this improvement! Could You also fix the forward method to be compatible with the new preprocessor?
When calling forward() I get:
TypeError: LlavaQwen2ForCausalLM.forward() got an unexpected keyword argument 'pixel_values'
are you guys talking to me?