Instructions to use PhoneBuddyAI/PhoneBuddy-4B-RealApp with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use PhoneBuddyAI/PhoneBuddy-4B-RealApp with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="PhoneBuddyAI/PhoneBuddy-4B-RealApp") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("PhoneBuddyAI/PhoneBuddy-4B-RealApp") model = AutoModelForMultimodalLM.from_pretrained("PhoneBuddyAI/PhoneBuddy-4B-RealApp") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.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(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use PhoneBuddyAI/PhoneBuddy-4B-RealApp with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "PhoneBuddyAI/PhoneBuddy-4B-RealApp" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "PhoneBuddyAI/PhoneBuddy-4B-RealApp", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/PhoneBuddyAI/PhoneBuddy-4B-RealApp
- SGLang
How to use PhoneBuddyAI/PhoneBuddy-4B-RealApp 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 "PhoneBuddyAI/PhoneBuddy-4B-RealApp" \ --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": "PhoneBuddyAI/PhoneBuddy-4B-RealApp", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "PhoneBuddyAI/PhoneBuddy-4B-RealApp" \ --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": "PhoneBuddyAI/PhoneBuddy-4B-RealApp", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use PhoneBuddyAI/PhoneBuddy-4B-RealApp with Docker Model Runner:
docker model run hf.co/PhoneBuddyAI/PhoneBuddy-4B-RealApp
PhoneBuddy-4B-RealApp
PhoneBuddy-4B-RealApp is the PhoneBuddy real-app-only RL ablation checkpoint without mockapps.
Project page: https://phonebuddyai.github.io/
GitHub: https://github.com/PhoneBuddyAI/phonebuddy
Model Details
- Model family: Qwen3.5 VL style checkpoint
model_type:qwen3_5- Processor:
Qwen3VLProcessor - Checkpoint role: real-app-only ablation, without mockapps
- Tool-call format: Qwen-style XML as defined in
chat_template.jinja
The model card and repository are initially published as private for validation.
Tool-Call Format
PhoneBuddy-4B-RealApp follows the Qwen-style XML tool-call format defined by the bundled chat_template.jinja, for example:
<tool_call>
<function=example_function_name>
<parameter=example_parameter_1>
value_1
</parameter>
</function>
</tool_call>
Use the tokenizer or processor chat template from this repository when constructing prompts with tools.
Loading Environment
These checkpoints use Qwen3.5 VL style model metadata:
model_type:qwen3_5- Architecture:
Qwen3_5ForConditionalGeneration - Processor:
Qwen3VLProcessor - Tokenizer metadata:
TokenizersBackend
Use the matching Qwen3.5 VL / PhoneBuddy training or inference environment that registers these classes. In a generic public Transformers environment, compatibility depends on whether that build includes qwen3_5 and the tokenizer backend used by this checkpoint.
A minimal processor load can be tested with:
from transformers import AutoProcessor
repo_id = "PhoneBuddyAI/PhoneBuddy-4B-RealApp"
processor = AutoProcessor.from_pretrained(repo_id, trust_remote_code=False)
Full config, tokenizer, and model loading should be done in an environment that supports the classes above. For example, public transformers==4.57.6 does not register model_type=qwen3_5, and AutoTokenizer does not import TokenizersBackend; in that environment those failures indicate version/class compatibility, not missing checkpoint files.
Intended Use
PhoneBuddy is designed for research on phone agents, multimodal tool use, and visual action reasoning. This checkpoint is intended for ablation comparisons against the main Real+Mock RL checkpoint.
- Downloads last month
- 15