Terjemahan mesin · Versi asli bahasa Inggris
FunctionGemma 270M
Function Gemma 270M adalah Gemma 3 fine- turunan disetel untuk perangkat terstruktur dan panggilan fungsi. Alih-alih teks free- form, ia memancarkan sebuah strict <start_function_call>call:NAME{...}<end_function_call> tata bahasa yang digunakan oleh SDK FunctionCall nilai. Kira-kira 283 MB pada disk, itu cukup kecil untuk dimuat bersama ASR + TTS baris pipa di telepon-kelas perangkat keras dan berfungsi sebagai "router" yang mengubah pernyataan pengguna menjadi faktur alat.
FunctionGemma slot menjadi agen suara di mana pun Anda akan dinyatakan panggilan host LLM untuk alat routing. Tata bahasa ketat dengan konstruksi, sehingga Anda mendapatkan kembali parsed FunctionCall objek langsung - tidak ada perbaikan JSON, tidak ada skema-mode mendorong.
Platform
| Platform | Format | Ukuran | HuggingFace |
|---|---|---|---|
| Apple (macOS / iOS) | CoreML | ~ 283 MB | aufklarer / FunctionGemma-270M-CoreML |
| Android (dan Linux / Windows melalui Speech Core) | LiteRT- LM | ~ 283 MB | soniqo/FunctionGemma-270M-LiteRT-LM |
Grammar
Model ini dilatih untuk memancarkan satu panggilan (atau urutan panggilan) yang dibungkus dalam dua token sentinel:
<start_function_call>call:set_timer{"minutes": 5, "label": "tea"}<end_function_call>
SDK parses setiap panggilan ke typed FunctionCall(name:, arguments:) nilai. Argumen diterjemahkan sebagai JSON sehingga Anda dapat memetakan mereka langsung ke Swift Codable atau Kotlin @Serializable kelas data.
Swift (Apple, CoreML)
Pada platform Apple FunctionGemma terkena melalui speech-swift sebagai FunctionGemma Ini memuat model CoreML dari HuggingFace pada penggunaan pertama dan berjalan pada 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)
Pada Android, model tersebut diekspos melalui speech-android sebagai audio.soniqo.speech.llm.FunctionGemmaIni adalah bring- Anda sendiri-runtime adaptor: Anda menyediakan LiteRtLmRuntime instance (kapal SDK baku), dan FunctionGemma menangani parsing template prompt dan tata bahasa.
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"}
}
Membaca Lebih Jauh
- Pidato Inti — C++ mesin yang host LiteRT-LM waktu jalan dan fungsi- memanggil loop pada Linux, Windows dan Android.
- gitub.com /soniqo/speech-core - Orchestration core dan LiteRT- LM lem, termasuk
VoicePipelinetool- call loop. - gitub.com /soniqo/speech-swift - Apel SDK dengan
FunctionGemmaKelas Swift. - gitub.com /soniqo/speech-android - Android SDK dengan
audio.soniqo.speech.llm.FunctionGemma. - google / gemma-3-270m - upstream Gemma 3 270Model dasar M pada HuggingFace.