Maskinoversættelse · Engelsk original
FunctionGemma 270M
Function Gemma 270M Gemma 3 derivat fine- tuned for struktureret værktøj og funktion opkald. I stedet for free- form tekst, det udsender en streng <start_function_call>call:NAME{...}<end_function_call> grammatik, at SDK parses i indtastet FunctionCall værdier. På omkring 283 MB på disk, er det lille nok til at indlæse sammen med en ASR + TTS pipeline på phone- class hardware og tjene som "router", der gør en brugers udtale i et værktøj invocation.
FunctionGemma slots i voice agenter, hvor du ellers ville kalde en hosted LLM for værktøj routing. grammatik er streng af konstruktion, så du får tilbage parsed FunctionCall objekter direkte - ingen JSON reparation, ingen schema- tilstand, der beder om.
Platforme
| Platform | Format | Størrelse | HuggingFace |
|---|---|---|---|
| Apple (macOS / iOS) | CoreML | ~ 283 MB | aufklarer / FunctionGemma-270M-CoreML |
| Android (og Linux / Windows via tale Core) | LiteRT- LM | ~ 283 MB | soniqo/FunctionGemma-270M-LiteRT-LM |
Grammar
Modellen er trænet til at udsende et enkelt opkald (eller en sekvens af opkald) indpakket i to sentinel tokens:
<start_function_call>call:set_timer{"minutes": 5, "label": "tea"}<end_function_call>
SDK parser hvert opkald ind i en indtastet FunctionCall(name:, arguments:) værdi. Argumenter er dekodet som JSON, så du kan kortlægge dem direkte på en Swift Codable eller en Kotlin @Serializable dataklasse.
Swift (Apple, CoreML)
På Apple platforme FunctionGemma er udsat gennem speech-swift som FunctionGemma klasse. Det indlæser CoreML model fra HuggingFace ved første brug og kører på Neural Engine.
import FunctionGemma
let model = try await FunctionGemma.fromPretrained()
let tools = """
- set_timer(minutes: Int, label: String)
- get_weather(city: String)
"""
let calls = try model.callFunctions(
tools: tools,
userMessage: "Set a 5 minute tea timer"
)
for call in calls {
print(call.name) // "set_timer"
print(call.arguments) // ["minutes": 5, "label": "tea"]
}
Kotlin (Android, LiteRT- LM)
På Android er modellen udsat gennem speech-android som audio.soniqo.speech.llm.FunctionGemmaDet er en Bring- your- own-runtime adapter: du giver en LiteRtLmRuntime tilfælde (SDK skibe en standard én), og FunctionGemma håndterer den hurtige skabelon og grammatik parsing.
import audio.soniqo.speech.llm.FunctionGemma
import audio.soniqo.speech.llm.LiteRtLmRuntime
val runtime = LiteRtLmRuntime.fromPretrained(context)
val model = FunctionGemma(runtime)
val tools = """
- set_timer(minutes: Int, label: String)
- get_weather(city: String)
""".trimIndent()
val calls = model.callFunctions(
tools = tools,
userMessage = "Set a 5 minute tea timer",
)
for (call in calls) {
println(call.name) // "set_timer"
println(call.arguments) // {"minutes": 5, "label": "tea"}
}
Yderligere læsning
- Talekerner - C++ motor, der er vært for LiteRT- LM runtime og funktion-calling loop på Linux, Windows og Android.
- github.com /soniqo/speech-core - orkesterkerne og LiteRT- LM lim, herunder
VoicePipelineværktøj-call loop. - github.com /soniqo/speech-swift - Apple SDK med
FunctionGemmaSwift klasse. - github.com /soniqo/speech-android - Android SDK med
audio.soniqo.speech.llm.FunctionGemma. - google / gemma-3-270m - opstrøms Gemma 3 270M basismodel på HuggingFace.