Octopus: On-device language model for function calling of software APIs
Wei Chen, Zhiyuan Li, Mingyuan Ma
TL;DR
This work targets on-device language models for reliable function calling of software APIs by building a large, high-quality API-documentation dataset and fine-tuning small to mid-size LLMs via curriculum learning and LoRA. A novel inference-time conditional masking mechanism constrains outputs to the required function names and argument formats, reducing validation errors without compromising speed. The Octopus family demonstrates competitive performance with GPT-4 on API interactions, with several 7B models surpassing GPT-4 in certain scenarios when conditioned masking is applied. The approach enables practical, efficient API integration on mobile and edge devices and promises to accelerate automated software development, with the dataset slated for open-source release.
Abstract
In the rapidly evolving domain of artificial intelligence, Large Language Models (LLMs) play a crucial role due to their advanced text processing and generation abilities. This study introduces a new strategy aimed at harnessing on-device LLMs in invoking software APIs. We meticulously compile a dataset derived from software API documentation and apply fine-tuning to LLMs with capacities of 2B, 3B and 7B parameters, specifically to enhance their proficiency in software API interactions. Our approach concentrates on refining the models' grasp of API structures and syntax, significantly enhancing the accuracy of API function calls. Additionally, we propose \textit{conditional masking} techniques to ensure outputs in the desired formats and reduce error rates while maintaining inference speeds. We also propose a novel benchmark designed to evaluate the effectiveness of LLMs in API interactions, establishing a foundation for subsequent research. Octopus, the fine-tuned model, is proved to have better performance than GPT-4 for the software APIs calling. This research aims to advance automated software development and API integration, representing substantial progress in aligning LLM capabilities with the demands of practical software engineering applications.
