needle
A tiny, 8-to-29-megabyte foundation model for tool calling, structured data extraction and text embedding, designed to run directly on phones, wearables, robots, cars and microcontrollers.
needle is a tiny foundation model, packaged as a single 8-to-29-megabyte binary, built for mobiles, wearables, robots, smart-home devices, cars and microcontrollers. It trades away general chat ability in exchange for tool-calling accuracy the project reports beats models ten times its size, and extraction quality that matches models two to three times larger.
Given the functions an app exposes, it picks the right ones and fills in every argument from what the user said, returning an empty list rather than guessing when no available tool covers the request. For structured extraction, a caller declares a target shape and hands over unstructured text, such as an invoice or a booking confirmation, and gets back typed fields, with a decode grammar that guarantees the output always parses; the same underlying approach generalizes to classification. The same model can also return a text embedding for a sentence, so an app can search, match and route locally.
Its architecture lets every depth from 2 to 20 layers act as a deployable model, and each response includes a calibrated confidence score from a dedicated learned head. It installs with pip, and its weights and per-platform engines are published on Hugging Face.