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ä.

Funktio-kutsuminen, On-Device

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

AlustaMuoto KokoHuggingFace
Apple (macOS / iOS)CoreML~283 MBaufklarer/FunctionGemma-270M-CoreML
Android (ja Linux / Windows puheydintä käyttäen)LiteRT-LM~283 MBsoniqo/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ää