OpenAI互換APIを備え、GPU、ブラウザー、モバイル端末で大規模言語モデルをネイティブに実行する機械学習コンパイラー兼デプロイエンジン。
mlc-ai/web-llm
WebGPUを使ってブラウザー内でLLM推論を完結させるTypeScriptエンジン。OpenAI互換APIを提供します。
- スター
- 19,291
- フォーク
- 1,401
- 未解決の Issue
- 154
- 最終コミット
- 10 日前
これは何?
WebLLMは、大規模言語モデル向けのブラウザー内推論エンジンです。推論はサーバーを介さずクライアント上で完結し、ハードウェアアクセラレーションにはWebGPUを利用します。npmパッケージ(@mlc-ai/web-llm)として配布されており、CDNから直接読み込むこともできます。
OpenAI APIと同じチャット補完インターフェースを備えているため、既存のOpenAI形式のコードから、ブラウザー内でローカル実行するオープンモデルを利用できます。ストリーミング応答、JSONモード出力、シード指定による生成、ロジットレベルの制御に対応しています。Function callingは開発中です。
モデルにはMLC形式を使用し、Llama 3、Phi 3、Gemma、Mistral、Qwenなどのモデルファミリーに対応しています。専用のWeb WorkerやService Worker、Chrome拡張機能内でエンジンを実行でき、Cache API、IndexedDB、OPFSなどのブラウザーキャッシュバックエンドも設定できます。
主な機能
- 01サーバーを介さず、WebGPUアクセラレーションを利用してブラウザー内でLLM推論を実行します。
- 02ストリーミングとJSONモードに対応した、OpenAI互換のチャット補完APIを提供します。
- 03MLC形式のLlama 3、Phi 3、Gemma、Mistral、Qwenなどのモデルをサポートします。
- 04Web Worker、Service Worker、Chrome拡張機能内で実行できます。
- 05ダウンロードしたモデルアーティファクトの整合性を、SRIベースで検証できます。
ユースケース
- プロンプトがユーザーのデバイスから外部に送信されない、プライバシーを重視したチャットボットを構築する。
- OpenAI形式のクライアントを使って、WebアプリにローカルAIアシスタントを追加する。
- 言語モデルをローカルで呼び出すChrome拡張機能を開発する。
- バックエンドの推論サーバーを運用せずに、ブラウザー上で動作するLLM機能を試作する。
クイックスタート
- 1
npmでパッケージをインストールします
npm install @mlc-ai/web-llm - 2
コードにengineをインポートします
import { CreateMLCEngine } from "@mlc-ai/web-llm"; - 3
model IDを指定してengineを作成します(初回の読み込み時にモデルがダウンロードされます)
const engine = await CreateMLCEngine("Llama-3.1-8B-Instruct-q4f32_1-MLC", { initProgressCallback });
使う前に知っておきたいこと
- WebGPUに対応したブラウザーが必要です。
- 初回のモデル読み込み時には大容量のモデルファイルがダウンロードされるため、時間がかかることがあります。
トピック
よくある質問
- web-llm とは?
- WebGPUを使ってブラウザー内でLLM推論を完結させるTypeScriptエンジン。OpenAI互換APIを提供します。 WebLLMは、大規模言語モデル向けのブラウザー内推論エンジンです。推論はサーバーを介さずクライアント上で完結し、ハードウェアアクセラレーションにはWebGPUを利用します。npmパッケージ(@mlc-ai/web-llm)として配布されており、CDNから直接読み込むこともできます。
- web-llm は無料で使えますか?ライセンスは?
- web-llm は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- web-llm は今もメンテナンスされていますか?
- 活発にメンテナンス中。web-llm の最終コミットは 2026年10月11日 です。
- web-llm は何に使えますか?
- プロンプトがユーザーのデバイスから外部に送信されない、プライバシーを重視したチャットボットを構築する。 OpenAI形式のクライアントを使って、WebアプリにローカルAIアシスタントを追加する。 言語モデルをローカルで呼び出すChrome拡張機能を開発する。 バックエンドの推論サーバーを運用せずに、ブラウザー上で動作するLLM機能を試作する。
- web-llm のインストール方法は?
- npmでパッケージをインストールします: npm install @mlc-ai/web-llm コードにengineをインポートします: import { CreateMLCEngine } from "@mlc-ai/web-llm"; model IDを指定してengineを作成します(初回の読み込み時にモデルがダウンロードされます): const engine = await CreateMLCEngine("Llama-3.1-8B-Instruct-q4f32_1-MLC", { initProgressCallback });
- web-llm はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/mlc-ai/web-llm
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
GPTのTransformerのように並列学習できる、RNN型言語モデルアーキテクチャRWKVの公式学習・リファレンスコード。
OpenAI互換APIに接続できるSvelteKit製LLMチャットUIで、HuggingChatを支えるコードベース。
AIチャットモデル向けのプロンプトをコミュニティで編集・管理するオープンソースライブラリ。Webサイト、CSV/Hugging Faceデータセット、CLI、MCPサーバー連携を提供します。
Janは、LLMをダウンロードしてローカルで実行できるオープンソースのデスクトップアプリです。ChatGPT風のUIを備え、任意でクラウドモデルにも接続できます。
大規模モデルの分散学習と推論を、より簡単かつ効率的にする深層学習最適化ライブラリ。