FunctionGemma是Gemma 3 270M模型的轻量级版本。该模型经过优化,能够将自然语言转换为结构化的函数和API调用,从而让AI代理能够“不仅仅是说话”,而是能够执行实际的任务。
几个月前推出的Gemma 3 270M已经升级为FunctionGemma,因为它具备了处理函数调用的能力,以满足开发者的需求。
在本地运行时,该模型可以作为独立的智能体来处理一些私密的、离线的任务,或者作为“智能交通控制器”,将复杂的请求传递给更大的远程模型来处理。
在设备上运行时,该模型可以自动化复杂的多步骤流程,比如设置提醒或调整系统设置。为了实现这一点,模型必须足够轻便,以便能够在本地运行,同时又要具有足够的可靠性。
FunctionGemma并不是为了零样本训练而设计的,而是为了被进一步定制成高效的、本地化的智能体。这样,它就可以将自然语言转化为可执行的API操作。这种方法对于实现生产级性能非常重要。
在我们的“Mobile Actions”评估中,通过微调后,模型的可靠性得到了提升,准确率从58%提高到了85%。
该模型可以在资源有限的设备如手机和NVIDIA Jetson Nano上高效运行。它利用Gemma的256k词汇量来高效地处理JSON和多语言输入。
FunctionGemma支持所谓的“统一动作和聊天”功能,它可以生成结构化的代码/函数调用来执行工具,然后再次使用自然语言来解释结果给用户。
谷歌还指出,FunctionGemma提供了广泛的生态系统支持,可以与Hugging Face Transformers、Unsloth、Keras或NVIDIA NeMo等框架一起使用,也可以通过LiteRT-LM、vLLM、MLX、Llama.cpp、Ollama、Vertex AI或LM Studio等进行部署。
谷歌明确指出了使用FunctionGemma的条件,包括拥有明确的API接口、愿意对其进行微调、优先考虑本地化部署,或者构建能够结合本地和远程任务的复杂系统。
为了展示该模型的实用性,谷歌发布了多个演示示例,包括Mobile Actions、TinyGarden和Physics Playground。这些演示都可以通过Play Store上的Google AI Edge Gallery应用程序访问。
Mobile Actions可以将自然语言命令解析为相应的操作系统级别的命令,比如“为明天午餐创建一个日历事件”、“将John添加到我的联系人列表”或“打开手电筒”。
TinyGarden是一个由语音控制的游戏,玩家可以发出诸如“在顶部行种植向日葵并浇水”之类的命令。该模型会将这些命令分解为具体的函数调用,例如plantCrop和waterCrop,并指定坐标目标。
Physics Playground则是一个互动的物理谜题演示,它可以使用自然语言指令来控制游戏中的模拟行为。这个演示使用了Transformer.js来展示客户端JavaScript的集成效果。
FunctionGemma可以在Hugging Face或Kaggle上找到。谷歌还提供了Colab笔记本以及mobile-actions数据集,以帮助开发者更好地使用该模型。