À propos du projet

WebLLM est un moteur d'inférence LLM haute performance dans le navigateur qui amène l'inférence de modèles de langage directement sur les navigateurs web avec accélération matérielle. Tout s'exécute dans le navigateur sans support serveur et est accéléré avec WebGPU. Il est entièrement compatible avec l'API OpenAI, prenant en charge le streaming, le mode JSON, l'appel de fonctions (en cours de développement), et plus encore. Les fonctionnalités clés incluent l'inférence dans le navigateur via WebGPU, une compatibilité totale avec l'API OpenAI, la génération JSON structurée, un support étendu de modèles (Llama 3, Phi 3, Gemma, Mistral, Qwen, et autres), l'intégration de modèles personnalisés au format MLC, une intégration plug-and-play via npm ou CDN, le streaming et les interactions en temps réel, le support des Web Workers et Service Workers, ainsi que le support des extensions Chrome. WebLLM prend en charge plusieurs backends de cache, notamment l'API Cache du navigateur, IndexedDB, le système de fichiers privé d'origine (OPFS), et un backend de stockage expérimental inter-origines. Il fournit également une vérification d'intégrité optionnelle pour les artefacts de modèle à l'aide de hachages SRI. Le projet fonctionne comme un compagnon de MLC LLM, permettant un déploiement universel des LLM sur divers environnements matériels. Les développeurs peuvent l'utiliser comme package npm pour créer des applications web, avec des exemples disponibles pour les chatbots, le streaming, le mode JSON, l'appel de fonctions, les service workers et les extensions Chrome.