Repolode
trymirai

trymirai/uzu

Un motor de inferencia en Rust para ejecutar modelos de IA directamente en aplicaciones, con ejecución en el dispositivo en dispositivos Apple y modelos en la nube opcionales.

Estrellas
2,459
Forks
148
Issues abiertos
25
Último commit
hace 4 horas

¿Qué es?

uzu es un motor de inferencia para ejecutar modelos de IA dentro de tu propia aplicación. Su objetivo es ofrecer latencia de red cero, mantener los datos en el dispositivo y evitar el costo de inferencia por solicitud. Ofrece una API de alto nivel para sesiones de chat, con bindings para Rust, Python, Swift y TypeScript, y gestiona automáticamente la descarga de modelos y la configuración de la inferencia.

El motor usa memoria unificada en dispositivos Apple y se distribuye como Swift Package para iOS, macOS y Mac Catalyst, además de como paquetes de npm y PyPI. Las configuraciones de los modelos están unificadas, por lo que añadir compatibilidad con un modelo nuevo sigue un patrón común. Además, se puede rastrear cada cálculo para comprobar su corrección frente a una implementación de referencia. Los ejemplos incluyen chat básico, respuestas en streaming, modelos alojados en la nube, instancias de modelo compartidas, salida estructurada con JSON Schema y llamadas a herramientas.

Cada modelo cargado puede usar una cantidad considerable de RAM, por lo que el proyecto recomienda mantener cargada una sola sesión de chat a la vez. La documentación explica cómo personalizar cada paso del pipeline.

Funciones clave

  • 01Ofrece una API de alto nivel para sesiones de chat, con bindings para Rust, Python, Swift y TypeScript.
  • 02Ejecuta modelos en el dispositivo y usa memoria unificada en dispositivos Apple.
  • 03Admite salida estructurada restringida por un JSON Schema.
  • 04Admite llamadas a herramientas para que los modelos puedan invocar funciones externas.
  • 05Permite reutilizar un modelo cargado en varias sesiones de chat.
  • 06También permite llamar a modelos en la nube, como GPT-5 de OpenAI.

Casos de uso

  • Añadir una función de chat con un LLM en el dispositivo a una aplicación para iOS o macOS, sin enviar los datos de los usuarios a un servidor.
  • Generar respuestas en formato JSON con un modelo local para procesarlas posteriormente.
  • Crear una aplicación que permita a un modelo llamar a funciones locales, como obtener la ubicación del dispositivo.

Inicio rápido

  1. 1

    Añade el paquete de Python con uv

    uv add uzu==0.6.11
  2. 2

    Crea el motor, carga el modelo, descárgalo e inicia una sesión de chat con el ejemplo de Python del README

Antes de usarlo

  • La inferencia principal está pensada para dispositivos Apple; la ejecución en el dispositivo está disponible para iOS y macOS.
  • Las opciones de modelos en la nube requieren un servicio externo, no una inferencia completamente local.
  • La crate de Rust se obtiene de una rama de git, no de una versión estable en crates.io.

Temas

Preguntas frecuentes

¿Qué es uzu?
Un motor de inferencia en Rust para ejecutar modelos de IA directamente en aplicaciones, con ejecución en el dispositivo en dispositivos Apple y modelos en la nube opcionales. uzu es un motor de inferencia para ejecutar modelos de IA dentro de tu propia aplicación. Su objetivo es ofrecer latencia de red cero, mantener los datos en el dispositivo y evitar el costo de inferencia por solicitud. Ofrece una API de alto nivel para sesiones de chat, con bindings para Rust, Python, Swift y TypeScript, y gestiona automáticamente la descarga de modelos y la configuración de la inferencia.
¿uzu es gratuito? ¿Qué licencia tiene?
uzu es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿uzu sigue mantenido?
Mantenimiento activo. El último commit de uzu fue el 21 oct 2026.
¿Para qué puedo usar uzu?
Añadir una función de chat con un LLM en el dispositivo a una aplicación para iOS o macOS, sin enviar los datos de los usuarios a un servidor. Generar respuestas en formato JSON con un modelo local para procesarlas posteriormente. Crear una aplicación que permita a un modelo llamar a funciones locales, como obtener la ubicación del dispositivo.
¿Cómo se instala uzu?
Añade el paquete de Python con uv: uv add uzu==0.6.11 Crea el motor, carga el modelo, descárgalo e inicia una sesión de chat con el ejemplo de Python del README
¿Dónde consigo uzu?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/trymirai/uzu

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

Proyectos relacionados