Repolode
cactus-compute

cactus-compute/needle

Un modelo fundacional de 8-29 MB para teléfonos, wearables, robots y microcontroladores que gestiona llamadas a herramientas, extracción estructurada, embeddings y voz a texto en el dispositivo.

Estrellas
14,081
Forks
1,063
Issues abiertos
28
Último commit
hace 15 horas

¿Qué es?

Needle es un modelo fundacional pequeño para automatizar tareas en dispositivos muy limitados. El modelo completo ocupa un único archivo de 8-29 MB y está diseñado para móviles, wearables, dispositivos inteligentes para el hogar, sistemas automotrices y microcontroladores. A partir de las funciones que expone una aplicación, selecciona las adecuadas y completa sus argumentos según la solicitud del usuario; si ninguna herramienta encaja, devuelve una lista vacía.

Además de gestionar llamadas a herramientas, Needle puede extraer campos tipados de texto desordenado según un esquema declarado, con una gramática de decodificación que garantiza que la salida se pueda analizar. También devuelve embeddings de oraciones para búsquedas y enrutamiento locales. Whistle, un modelo complementario de voz a texto, comparte el mismo contenedor y motor C++, de modo que en una sola llamada se puede enviar audio y obtener llamadas a herramientas.

El proyecto incluye un paquete de Python (`pip install cactus-needle`), una versión de JavaScript/TypeScript basada en WebAssembly y mantenida por la comunidad, y motores precompilados para carpetas de varias plataformas. Tanto el ajuste fino local con LoRA como una plataforma de ajuste fino alojada están disponibles para adaptar el modelo a las herramientas de un producto específico.

Funciones clave

  • 01Selecciona llamadas a herramientas y completa sus argumentos a partir de solicitudes en lenguaje natural.
  • 02Extrae campos tipados de texto según un esquema declarado.
  • 03Devuelve embeddings de texto para búsquedas y enrutamiento locales.
  • 04Proporciona una puntuación de confianza con cada respuesta.
  • 05Transcribe voz en siete idiomas mediante el modelo Whistle.
  • 06Admite el ajuste fino local con LoRA y una plataforma de ajuste fino alojada.

Casos de uso

  • Asistentes de voz o chat en una aplicación móvil que llaman sin conexión a un conjunto fijo de funciones de la aplicación.
  • Controladores de hogares inteligentes que convierten comandos de voz en acciones de dispositivos.
  • Extracción de facturas, reservas o formularios de texto en un dispositivo de borde.
  • Ejecución de voz a texto y gestión de intenciones en microcontroladores o wearables.

Inicio rápido

  1. 1

    Instala el paquete de Python

    pip install cactus-needle
  2. 2

    Define una herramienta con el decorador @needle.tool y ejecuta el agente

Antes de usarlo

  • Needle sacrifica capacidad para el chat general en favor de las llamadas a herramientas y la extracción, por lo que no es un chatbot de propósito general.
  • Whistle solo transcribe siete idiomas (inglés, alemán, francés, español, italiano, neerlandés y polaco).
  • Los micrófonos siempre activos necesitan un detector de actividad de voz o una palabra de activación, ya que la música y otros sonidos pueden convertirse en texto.

Temas

Preguntas frecuentes

¿Qué es needle?
Un modelo fundacional de 8-29 MB para teléfonos, wearables, robots y microcontroladores que gestiona llamadas a herramientas, extracción estructurada, embeddings y voz a texto en el dispositivo. Needle es un modelo fundacional pequeño para automatizar tareas en dispositivos muy limitados. El modelo completo ocupa un único archivo de 8-29 MB y está diseñado para móviles, wearables, dispositivos inteligentes para el hogar, sistemas automotrices y microcontroladores. A partir de las funciones que expone una aplicación, selecciona las adecuadas y completa sus argumentos según la solicitud del usuario; si ninguna herramienta encaja, devuelve una lista vacía.
¿needle es gratuito? ¿Qué licencia tiene?
needle es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿needle sigue mantenido?
Mantenimiento activo. El último commit de needle fue el 18 oct 2026.
¿Para qué puedo usar needle?
Asistentes de voz o chat en una aplicación móvil que llaman sin conexión a un conjunto fijo de funciones de la aplicación. Controladores de hogares inteligentes que convierten comandos de voz en acciones de dispositivos. Extracción de facturas, reservas o formularios de texto en un dispositivo de borde. Ejecución de voz a texto y gestión de intenciones en microcontroladores o wearables.
¿Cómo se instala needle?
Instala el paquete de Python: pip install cactus-needle Define una herramienta con el decorador @needle.tool y ejecuta el agente
¿Dónde consigo needle?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/cactus-compute/needle

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados