Traducere automată · Originalul în engleză
FunctionGemma 270M
Function Gemma 270M este un Gemma 3 derivat fin-tunted for structified tool and function calls. În loc de text liber-forma, emite un strict <start_function_call>call:NAME{...}<end_function_call> gramatica pe care SDK parses în tastat FunctionCall valori. La aproximativ 283 MB pe disc, este suficient de mic pentru a încărca alături de un ASR + TTS conducta de pe hardware-class și serviți ca ționar.
FunctionGemma sloturi în agenți de voce ori de câte ori v-ar apela un gazduit LLM pentru rutarea instrumentelor. Gramatica este strict prin construcție, astfel încât să obțineți înapoi parsed FunctionCall obiecte direct
Platforme
| Platformă | Format | Dimensiune | HuggingFace |
|---|---|---|---|
| Apple (macOS / iOS) | CoreML | ~283 MO | aufklater/FunctionGemma-270M-CoreML |
| Android (și Linux / Windows via Speech Core) | LiteRT-LM | ~283 MO | soniqo/FunctionGemma-270M-LiteRT-LM |
Gramatica
Modelul este instruit să emită un singur apel (sau o secvență de apeluri) înfășurat în două jetoane santinelă:
<start_function_call>call:set_timer{"minutes": 5, "label": "tea"}<end_function_call>
The SDK parses each call into a tasked FunctionCall(name:, arguments:) value. argumentations are decoded as JSON so you can map them right on a Swift Codable or a Kotlin @Serializable data class.
Swift (Apple, CoreML)
Pe platformele Apple FunctionGemma este expusă prin speech-swift ca FunctionGemma clasa. Încarcă modelul CoreML începând de la HuggingFace la prima utilizare și la prima utilizare a motorului neural 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)
La Android modelul este expus prin speech-android ca audio.soniqo.speech.llm.FunctionGemma.Este un adaptor cu rol de a aduce-ți propriul timp de funcționare: ați furnizat un LiteRtLmRuntime instance (the SDK ships a default one), și FunctionGemma se ocupă de șablonul și gramatica rapidă.
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"}
}
Citire în continuare
- Nucleul discursului Motorul C++ care gazduieste runtime-ul LiteRT-LM si bucla de apelare a functionalitatii pe Linux, Windows si Android.
- github. com/soniqo/speech-core bază orchestrare și lipici LiteRT-LM, inclusiv
VoicePipelineBucla de apel instrumental. - github.com/soniqo/speech-swift izare SDK cu
FunctionGemmaSwift - github.com/soniqo/speech-android bază Android SDK cu
audio.soniqo.speech.llm.FunctionGemma. - google/gemma-3-270m bază Gemma 3 270M model de bază pe HuggingFace.