# Needle 3: локальные вызовы инструментов на небольших устройствах

Источник: https://modelium.tech/zhurnal/needle-3-local-tool-calling-tiny-devices/

Cactus Compute открыла Needle 3: модель на 121 млн параметров для локального вызова функций, извлечения JSON и эмбеддингов. Готовые веса и движки доступны для мобильных, настольных и встраиваемых платформ под Apache 2.0; авторские тесты требуют проверки на своей задаче.

Needle 3: локальные вызовы инструментов и извлечение данных на небольших устройствах

Cactus Compute выпустила Needle 3 — специализированную модель для вызова функций, извлечения структурированных данных и текстовых эмбеддингов на устройстве. Репозиторий весов создан 16 сентября 2026 года, а коммит официального GitHub-проекта «Needle 3 Live» датирован 17 сентября. Это не универсальный чат-ассистент: модель предназначена для приложения, которое заранее описало допустимые действия и схему ответа. [s1](#src-s1) [s2](#src-s2)

## Что именно доступно

Официальный репозиторий `Cactus-Compute/needle3` открыт без gated-доступа. В нём лежат готовый `needle3.cact` для вывода, `checkpoints/needle3.safetensors` для дообучения, токенизатор и платформенные движки. Полный вариант — 20 слоёв и 121 млн параметров. При проверке закреплённой ревизии готовый `.cact` занимал **35 335 380 байт** (это размер файла, а не требование к RAM), исходный safetensors — 242 047 978 байт. Страница разработчика описывает семейство меньших подсетей как «8–29 MB»; фактический размер текущего артефакта следует проверять отдельно, а не принимать рекламный диапазон за размер каждого файла. [s1](#src-s1) [s3](#src-s3) [s4](#src-s4)

В карточке и отдельном файле `LICENSE` указана Apache License 2.0. Это даёт возможность использовать и модифицировать опубликованные веса и код по условиям лицензии, в том числе коммерчески, с соблюдением её требований о сохранении уведомлений. Бесплатный доступ к файлам не означает, что платная облачная платформа Cactus для дообучения или её закрытые обучающие данные стали открытыми. [s1](#src-s1) [s4](#src-s4) [s5](#src-s5)

## Зачем это локальному приложению

- **Вызов функций.** Приложение описывает разрешённые инструменты; модель выбирает функцию и заполняет аргументы. Вызывайте `complete()`, если выполнение должно оставаться под вашим контролем; `run()` в Python исполняет переданные функции в цикле, поэтому к действиям с внешними эффектами нужны подтверждение и ограничения. [s1](#src-s1) [s6](#src-s6)

- **Извлечение и классификация.** Схема ограничивает декодирование JSON: можно извлечь поля счёта, сообщения или заявки без отправки текста в облачный API. Корректная структура не гарантирует, что значения фактически верны, — их следует проверять. [s1](#src-s1) [s6](#src-s6)

- **Поиск на устройстве.** Тот же движок предоставляет текстовый embedding через `agent.embed()`, что полезно для выбора инструмента или поиска среди локальных записей. [s1](#src-s1) [s6](#src-s6)

Разработчик публикует сборки движка для Linux x86-64/ARM, macOS ARM, Windows, Android, iOS, WebAssembly и WASI. Для подключённой машины базовый путь — `pip install cactus-needle`, затем создание `needle.Needle(tools=[...])`: библиотека один раз загружает веса и движок и кеширует их. Для офлайн-устройства авторы описали предварительную загрузку и перенос файлов и режим `HF_HUB_OFFLINE=1`. Не путайте локальную работу **после подготовки** с установкой без доступа к сети. Документация также описывает анонимную телеметрию Python-пакета и её отключение через `NEEDLE_TELEMETRY=0`. [s1](#src-s1) [s6](#src-s6) [s7](#src-s7)

## Что показывают замеры — и чего не показывают

На официальной странице Cactus заявляет преимущество Needle 3 в отдельных тестах вызова функций над более крупными моделями и скорость примерно 400–4000 токенов/с при декодировании на Raspberry Pi 5 для разных глубин. Это **авторские**, а не проверки Modelium. Для трёх наборов tool-calling используются точное совпадение вызова/аргументов, для трёх задач extraction — micro-F1 по полям; подсети Needle тестировались с поставляемой CQ2-квантизацией, другие локальные модели — в f16 под vLLM, DeepSeek V4 Flash — через облачный API. Поэтому график не доказывает равное качество на произвольном языке, оборудовании или схеме инструментов. Оцените ошибки именно на своих сценариях и устройстве до передачи модели права на действие. [s3](#src-s3) [s7](#src-s7)

**Итог.** Needle 3 интересна тем, что готовые веса, отдельный чекпойнт и платформенные движки позволяют встроить узкую функцию выбора инструментов или извлечения в офлайн-приложение. Её нельзя считать заменой большой диалоговой LLM; при чувствительных действиях оставьте приложению проверку аргументов и подтверждение пользователя. [s1](#src-s1) [s6](#src-s6)

## Источники

1. [Cactus Compute: Needle 3 model card, pinned revision](https://huggingface.co/Cactus-Compute/needle3/tree/b274efcb211a9eef48c9a88da4b43bd569696a39) — получено 2026-09-23
2. [Cactus Compute Needle GitHub: release commit](https://github.com/cactus-compute/needle/commit/dd857748ef4d) — получено 2026-09-23
3. [Cactus Compute: Needle 3 release and evaluation conditions](https://cactuscompute.com/needle) — получено 2026-09-23
4. [Cactus Compute Needle 3 Apache 2.0 LICENSE](https://huggingface.co/Cactus-Compute/needle3/raw/b274efcb211a9eef48c9a88da4b43bd569696a39/LICENSE) — получено 2026-09-23
5. [Cactus Compute Needle GitHub repository license](https://github.com/cactus-compute/needle) — получено 2026-09-23
6. [Cactus Compute: Needle Python documentation](https://cactuscompute.com/blog/needle-python-docs) — получено 2026-09-23
7. [Cactus Compute: supported devices and offline setup](https://cactuscompute.com/blog/needle-supported-devices) — получено 2026-09-23
