Repolode
mlc-ai

mlc-ai/web-llm

Un motor TypeScript que ejecuta inferencias de LLM íntegramente en el navegador con WebGPU y ofrece una API compatible con OpenAI.

Estrellas
19,291
Forks
1,401
Issues abiertos
154
Último commit
hace 10 días

¿Qué es?

WebLLM es un motor de inferencia en el navegador para modelos de lenguaje grandes. La inferencia se ejecuta íntegramente en el cliente, sin necesidad de un servidor, y usa WebGPU para la aceleración por hardware. Se distribuye como paquete npm (@mlc-ai/web-llm) y también se puede cargar directamente desde una CDN.

El motor ofrece la misma interfaz de completado de chat que la API de OpenAI, por lo que el código existente compatible con OpenAI puede trabajar con modelos abiertos que se ejecutan localmente en el navegador. Admite respuestas en streaming, salida en modo JSON, generación con semilla y control a nivel de logits. La llamada a funciones figura como trabajo en curso.

Los modelos se usan en formato MLC, y el proyecto admite familias como Llama 3, Phi 3, Gemma, Mistral y Qwen. Los desarrolladores pueden ejecutar el motor en un Web Worker o Service Worker dedicado, o dentro de una extensión de Chrome, y configurar backends de caché del navegador como Cache API, IndexedDB y OPFS.

Funciones clave

  • 01Ejecuta inferencias de LLM en el navegador con aceleración de WebGPU y sin servidor.
  • 02Ofrece una API de completado de chat compatible con OpenAI, con streaming y modo JSON.
  • 03Admite modelos como Llama 3, Phi 3, Gemma, Mistral y Qwen en formato MLC.
  • 04Se puede ejecutar en Web Workers, Service Workers o extensiones de Chrome.
  • 05Ofrece verificación de integridad basada en SRI para los artefactos de modelos descargados.

Casos de uso

  • Crear un chatbot que proteja la privacidad y cuyos prompts nunca salgan del dispositivo del usuario.
  • Añadir un asistente de IA local a una aplicación web mediante un cliente compatible con OpenAI.
  • Desarrollar extensiones de Chrome que invoquen localmente un modelo de lenguaje.
  • Crear prototipos de funciones de LLM en el navegador sin ejecutar servidores de inferencia en el backend.

Inicio rápido

  1. 1

    Instala el paquete con npm

    npm install @mlc-ai/web-llm
  2. 2

    Importa el engine en tu código

    import { CreateMLCEngine } from "@mlc-ai/web-llm";
  3. 3

    Crea el engine con un model ID (el modelo se descarga en la primera carga)

    const engine = await CreateMLCEngine("Llama-3.1-8B-Instruct-q4f32_1-MLC", { initProgressCallback });

Antes de usarlo

  • Requiere un navegador compatible con WebGPU.
  • La primera carga del modelo descarga archivos de gran tamaño, por lo que puede tardar bastante.

Temas

Preguntas frecuentes

¿Qué es web-llm?
Un motor TypeScript que ejecuta inferencias de LLM íntegramente en el navegador con WebGPU y ofrece una API compatible con OpenAI. WebLLM es un motor de inferencia en el navegador para modelos de lenguaje grandes. La inferencia se ejecuta íntegramente en el cliente, sin necesidad de un servidor, y usa WebGPU para la aceleración por hardware. Se distribuye como paquete npm (@mlc-ai/web-llm) y también se puede cargar directamente desde una CDN.
¿web-llm es gratuito? ¿Qué licencia tiene?
web-llm es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿web-llm sigue mantenido?
Mantenimiento activo. El último commit de web-llm fue el 11 oct 2026.
¿Para qué puedo usar web-llm?
Crear un chatbot que proteja la privacidad y cuyos prompts nunca salgan del dispositivo del usuario. Añadir un asistente de IA local a una aplicación web mediante un cliente compatible con OpenAI. Desarrollar extensiones de Chrome que invoquen localmente un modelo de lenguaje. Crear prototipos de funciones de LLM en el navegador sin ejecutar servidores de inferencia en el backend.
¿Cómo se instala web-llm?
Instala el paquete con npm: npm install @mlc-ai/web-llm Importa el engine en tu código: import { CreateMLCEngine } from "@mlc-ai/web-llm"; Crea el engine con un model ID (el modelo se descarga en la primera carga): const engine = await CreateMLCEngine("Llama-3.1-8B-Instruct-q4f32_1-MLC", { initProgressCallback });
¿Dónde consigo web-llm?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/mlc-ai/web-llm

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

Proyectos relacionados