Text Generation
Safetensors
English
gemma3_text
function-calling
tool-use
mobile-actions
gemma
unsloth
conversational
Instructions to use dousery/functiongemma-mobile-actions with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Local Apps Settings
- Unsloth Studio
How to use dousery/functiongemma-mobile-actions 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 dousery/functiongemma-mobile-actions 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 dousery/functiongemma-mobile-actions to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for dousery/functiongemma-mobile-actions to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="dousery/functiongemma-mobile-actions", max_seq_length=2048, )
| license: apache-2.0 | |
| base_model: unsloth/functiongemma-270m-it | |
| tags: | |
| - function-calling | |
| - tool-use | |
| - mobile-actions | |
| - gemma | |
| - unsloth | |
| datasets: | |
| - google/mobile-actions | |
| language: | |
| - en | |
| pipeline_tag: text-generation | |
| ## Model Card | |
| This model is fine-tuned version of [google/functiongemma-270m-it](https://huggingface.co/google/functiongemma-270m-it) model for mobile action function calling tasks. | |
| ## Intended Use | |
| Handles function-calling style mobile actions such as creating calendar events, sending emails, adding contacts, showing maps, managing Wi‑Fi, and toggling the flashlight, based on the `google/mobile-actions` dataset. | |
| ## Model Details | |
| - **Base Model**: [google/functiongemma-270m-it](https://huggingface.co/google/functiongemma-270m-it) | |
| - **Fine-tuning**: SFT with LoRA | |
| - **Dataset**: [google/mobile-actions](https://huggingface.co/datasets/google/mobile-actions) | |
| - **Params**: ~270M (base) + LoRA merged into final weights | |
| ## Quick Start | |
| ```bash | |
| pip install torch transformers datasets accelerate huggingface_hub | |
| ``` | |
| ```python | |
| import torch | |
| from datasets import load_dataset | |
| from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer | |
| model_id = "dousery/functiongemma-mobile-actions" | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_id, | |
| torch_dtype=torch.float16 if device == "cuda" else torch.float32, | |
| device_map="auto" if device == "cuda" else None, | |
| trust_remote_code=True, | |
| ).eval() | |
| tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) | |
| if device == "cpu": | |
| model = model.to(device) | |
| dataset = load_dataset("google/mobile-actions", split="train") | |
| text = tokenizer.apply_chat_template( | |
| dataset[0]["messages"][:2], | |
| tools=dataset[0]["tools"], | |
| tokenize=False, | |
| add_generation_prompt=True, | |
| ).removeprefix("<bos>") | |
| inputs = tokenizer(text, return_tensors="pt").to(device) | |
| with torch.no_grad(): | |
| _ = model.generate( | |
| **inputs, | |
| max_new_tokens=256, | |
| streamer=TextStreamer(tokenizer, skip_prompt=True), | |
| top_p=0.95, | |
| top_k=64, | |
| temperature=1.0, | |
| ) | |
| ``` | |
| ## Training Summary | |
| - **Frameworks**: Unsloth + TRL, PyTorch 2.9.1, Transformers 4.57.3 | |
| - **Steps**: 100 (SFT with LoRA, then merged) | |
| - **Effective Batch Size**: 8 (bs=4, grad accum=2) | |
| - **LR / Scheduler**: 2e-4, linear | |
| - **LoRA**: r=16, alpha=16, dropout=0, ~3.8M trainable params | |
| - **Seq Len**: 4096 | |
| - **Hardware**: NVIDIA H100 80GB on Modal | |
| - **Final Train Loss**: 0.2408 | **Eval Loss**: ~0.0129 | |
| ## Limitations | |
| - Trained for only 100 steps; niche mobile-action domain. | |
| - Datetime formats can drift slightly. | |
| - Best on GPU for speed; CPU works but slower. | |
| ## Citation | |
| ```bibtex | |
| @misc{functiongemma-mobile-actions, | |
| title={FunctionGemma Mobile Actions - Merged for Mobile Function Calling}, | |
| author={dousery}, | |
| year={2025}, | |
| howpublished={\url{https://huggingface.co/dousery/functiongemma-mobile-actions}} | |
| } | |
| ``` | |
| ## License | |
| Apache-2.0 (inherits base model license). | |