Repolode
mlc-ai

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. 1

    npmでパッケージをインストールします

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

    コードにengineをインポートします

    import { CreateMLCEngine } from "@mlc-ai/web-llm";
  3. 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 の数値は毎日更新されます。

関連プロジェクト