FunctionGemma: Ausführen & Finetunen
Lerne, wie man FunctionGemma lokal auf deinem Gerät und Handy ausführt und finetunt.
FunctionGemma ist ein neues 270M-Parameter-Modell von Google, das für Funktionsaufrufe und Feinabstimmung entwickelt wurde. Basierend auf Gemma 3 270M und speziell für textbasierte Tool-Aufrufe trainiert, macht seine geringe Größe es ideal, es auf Ihrem eigenen Telefon bereitzustellen.
Sie können das Modell in voller Genauigkeit ausführen auf 550MB RAM (CPU) und Sie können es jetzt feinabstimmen lokal mit Unsloth ausführen. Danke an Google DeepMind für die Zusammenarbeit mit Unsloth für Day-Zero-Support!
Ausführungs-TutorialFeinabstimmung von FunctionGemma
FunctionGemma GGUF zum Ausführen: unsloth/functiongemma-270m-it-GGUF
Kostenlose Notebooks:
Feinabstimmen auf überlegen/denken vor Tool-Aufrufen mit unserem FunctionGemma-Notebook
Machen Sie mehrstufige Tool-Aufrufe in einem kostenlosen Multi-Turn-Tool-Calling-Notebook
Feinabstimmen auf mobile Aktionen aktivieren (Kalender, Timer setzen) in unserem Mobile Actions-Notebook
⚙️ Gebrauchsanleitung
Google empfiehlt diese Einstellungen für die Inferenz:
top_k = 64top_p = 0.95temperature = 1.0maximale Kontextlänge =
32,768
Das Chat-Template-Format findet sich, wenn wir das Folgende verwenden:
def get_today_date():
""" Liefert das heutige Datum """
return {"today_date": "18. Dezember 2025"}
tokenizer.apply_chat_template(
[
{"role" : "user", "content" : "was ist das heutige Datum?"},
],
tools = [get_today_date], add_generation_prompt = True, tokenize = False,
)FunctionGemma Chat-Template-Format:
FunctionGemma erfordert die System- oder Entwicklernachricht als Sie sind ein Modell, das Funktionsaufrufe mit den folgenden Funktionen durchführen kann Unsloth-Versionen haben dies vorinstalliert, falls Sie vergessen, eine zu übergeben. Bitte verwenden Sie unsloth/functiongemma-270m-it
🖥️ FunctionGemma ausführen
Siehe unten für eine lokale Desktop-Anleitung oder Sie können unseren Phone Deployment Guide ansehen.
Llama.cpp Tutorial (GGUF):
Anleitung zum Ausführen in llama.cpp (Hinweis: Wir verwenden 4-Bit, um die meisten Geräte passend zu machen):
Holen Sie sich die neueste llama.cpp auf GitHub hier. Sie können auch den unten stehenden Build-Anweisungen folgen. Ändern Sie -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn Sie keine GPU haben oder nur CPU-Inferenz wünschen.
Sie können direkt von Hugging Face ziehen. Da das Modell so klein ist, verwenden wir die unquantisierte Vollpräzisions-BF16-Variante.
Laden Sie das Modell herunter über (nach Installation von pip install huggingface_hub hf_transfer ). Sie können wählen BF16 oder andere quantisierte Versionen (obwohl es nicht empfohlen wird, unter 4-Bit zu gehen) aufgrund der geringen Modellgröße.
Führen Sie dann das Modell im Konversationsmodus aus:
📱 Bereitstellung auf dem Telefon
Sie können FunctionGemma aufgrund seiner geringen Größe auch auf Ihrem Telefon ausführen und bereitstellen. Wir haben mit PyTorch zusammengearbeitet, um einen schlanken Workflow mit quantization-aware Training (QAT) zu erstellen, um 70 % Genauigkeit wiederherzustellen und sie dann direkt auf Edge-Geräte zu deployen.
FunctionGemma lokal bereitstellen auf Pixel 8 und iPhone 15 Pro um Inference-Geschwindigkeiten von ~50 Tokens/s zu erreichen
Erhalten Sie Datenschutz zuerst, sofortige Antworten und Offline-Fähigkeiten
Verwenden Sie unser kostenloses Colab-Notebook um Qwen3 0.6B feinzuabstimmen und für die Telefonbereitstellung zu exportieren - ändern Sie es einfach zu Gemma3 und folgen Sie den Gemma 3 Executorch-Dokumenten.
Sehen Sie sich unsere iOS- und Android-Tutorials zur Bereitstellung auf Ihrem Telefon an:
🦥 Feinabstimmung von FunctionGemma
Google stellte fest, dass FunctionGemma dazu gedacht ist, feinabgestimmt zu werden für Ihre spezifische Funktion-Abrufaufgabe, einschließlich Mehrfach-Turn-Anwendungsfälle. Unsloth unterstützt jetzt die Feinabstimmung von FunctionGemma. Wir haben 2 Feinabstimmun g s-Notebooks erstellt, die zeigen, wie Sie das Modell über vollständige Feinabstimmung oder LoRA kostenlos über ein Colab-Notebook trainieren können:
Im Reason before Tool Calling Feinabstimmungs-Notebook, werden wir es feinabstimmen, "denken/überlegen" vor Funktionsaufrufen. Ketten-der-Gedanken-Reasoning wird zunehmend wichtig, um die Tool-Nutzungsfähigkeiten zu verbessern.
FunctionGemma ist ein kleines Modell, das auf Funktionsaufrufe spezialisiert ist. Es verwendet seine eigene spezielle Chat-Vorlage. Wenn Werkzeugdefinitionen und eine Benutzeraufforderung bereitgestellt werden, erzeugt es eine strukturierte Ausgabe. Diese Ausgabe können wir dann parsen, um das Werkzeug auszuführen, die Ergebnisse abzurufen und sie zur Erstellung der endgültigen Antwort zu verwenden.
Entwickler-Prompt
<start_of_turn>developer
Sie können Funktionsaufrufe mit den folgenden Funktionen durchführen:
Funktionsdeklaration
<start_function_declaration>declaration:get_weather{
description: "Hole Wetter für Stadt",
parameters: { city: STRING }
}
<end_function_declaration>
<end_of_turn>
Benutzer-Turn
<start_of_turn>user
Wie ist das Wetter in Paris?
<end_of_turn>
Funktionsaufruf
<start_of_turn>model
<start_function_call>call:get_weather{
city: "paris"
}
<end_function_call>
Funktionsantwort
<start_function_response>response:get_weather{temperature:26}
<end_function_response>
Assistenten-Abschluss
Das Wetter in Paris ist 26 Grad Celsius.
<end_of_turn>
Hier implementieren wir eine vereinfachte Version unter Verwendung eines einzelnen Denkblocks (anstatt verflochtenes Reasoning) via <think></think>. Folglich sieht unsere Modellinteraktion so aus:
Denken + Funktionsaufruf
<start_of_turn>model
<think>
Der Nutzer möchte das Wetter für Paris. Ich habe das get_weather-Tool. Ich sollte es mit dem city-Argument aufrufen.
</think>
<start_function_call>call:get_weather{
city: "paris"
}
<end_function_call>
🪗Feinabstimmung von FunctionGemma für Mobile Actions
Wir haben auch ein Notebook erstellt, das zeigt, wie Sie FunctionGemma mobile Aktionen ausführen lassen können. Im Mobile Actions Feinabstimmungs-Notebook, haben wir ebenfalls Evaluation aktiviert und zeigen, wie das Feinabstimmen für On-Device-Aktionen gut funktioniert, wie im abnehmenden Evaluationsverlust zu sehen ist:

Zum Beispiel gegeben eine Aufforderung Bitte setzen Sie eine Erinnerung für ein "Team Sync Meeting" diesen Freitag, den 6. Juni 2025, um 14:00 Uhr.
Wir haben das Modell so finetuned, dass es Folgendes ausgeben kann:
🏃♂️Mehrstufige Tool-Aufrufe mit FunctionGemma
Wir haben auch ein Notebook erstellt, das zeigt, wie Sie FunctionGemma mehrstufige Tool-Aufrufe durchführen lassen können. Im Multi-Turn-Tool-Calling-Notebook, zeigen wir, wie FunctionGemma in der Lage ist, Werkzeuge in einer langen Nachrichtenfolge aufzurufen, zum Beispiel siehe unten:

Sie müssen zuerst Ihre Werkzeuge wie unten angeben:
Wir erstellen dann ein Mapping für alle Werkzeuge:
Wir benötigen auch etwas Code zur Werkzeugaufruf- und Parsing-Logik:
Und jetzt können wir das Modell aufrufen!
Probieren Sie die 3 Notebooks aus, die wir für FunctionGemma erstellt haben:
Zuletzt aktualisiert
War das hilfreich?

