Konekäännös · Englanninkielinen alkuperäinen
FunctionGemma 270M
Function Gemma 270M on Gemma 3johdannainen hienosäädetty strukturoituja työkaluja ja funktiopuheluja varten. Vapaan tekstin sijasta se lähettää tiukan <start_function_call>call:NAME{...}<end_function_call> gummarin, jonka SDK -osakkeet ovat tyypiltään FunctionCall -arvot. Noin 283 MB:n levykkeellä ollessa se on riittävän pieni lataamaan ASR + TTS puhelimen luokan laitteistolla ja toimii käyttäjänä.
FunctionGemma lähtö ääniagenteille missä tahansa, missä muutoin kutsuisit isännöidyksi LLM työkalureititykseksi. Kielioppi on rakenteeltaan tiukka, joten saat takaisin jäsennellyksi FunctionCall kohteet suoraan .
Alustat
| Alusta | Muoto | Koko | HuggingFace |
|---|---|---|---|
| Apple (macOS / iOS) | CoreML | ~283 MB | aufklarer/FunctionGemma-270M-CoreML |
| Android (ja Linux / Windows puheydintä käyttäen) | LiteRT-LM | ~283 MB | soniqo/FunctionGemma-270M-LiteRT-LM |
Kielioppi
Malli on koulutettu lähettämään yksi puhelu (tai puhelusarja), joka on kääritty kahteen sentinelliin:
<start_function_call>call:set_timer{"minutes": 5, "label": "tea"}<end_function_call>
SDK määrittää jokaisen puhelun tyypiksi FunctionCall(name:, arguments:) arvo. Argumentit poistetaan koodauksena JSON:na, joten voit kartoittaa ne suoraan Swift Codable tai Kotlin @Serializable -tietoluokkaan.
Swift (Apple, CoreML)
Apple-alustoilla FunctionGemma altistuu speech-swift FunctionGemma -luokassa. Se kuormittaa CoreML -mallia HuggingFace -mallista ja toimii 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)
Android -malli altistuu speech-android audio.soniqo.speech.llm.FunctionGemma. Se on tuo-oma-adapteri: annat LiteRtLmRuntime -esimerkki (SDK -alukset oletuksena), ja FunctionGemma käsittelee nopean mallin ja kieliopin vertailun.
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"}
}
Lue lisää
- Puhelinydin ... C++ moottori, jossa on LiteRT-LM-ajoaika ja funktiokutsusilmukka Linux, Windows ja Android.
- github.com/soniqo/speech-core ... orkesteriydin ja LiteRT-LM-liima, mukaan lukien
VoicePipelinetyökalun puhelusilmukka. - github.com/soniqo/speech-swift ... Apple SDK
FunctionGemmaSwift - github.com/soniqo/speech-android ... Android SDK
audio.soniqo.speech.llm.FunctionGemma. - google/gemma-3-270m .. Gemma 3 270M perusmalli HuggingFace.