公式発表Hugging Face

Hugging Face、ブラウザ上でLLMの構造化出力を実現する『Transformers.js v4.3』を公開

Hugging Faceは、Webブラウザ上でオープンソースAIモデルを直接実行するためのJavaScriptライブラリの最新版「Transformers.js v4.3」をリリースしました。本バージョン最大の目玉機能は、LLMの生成結果をJSON Schemaや正規表現へ厳格に誘導する「構造化出力」への対応です。追加のWebAssembly依存を排したピュアJavaScript実装により、速度低下をほぼゼロに抑えた堅牢なWebAIアプリ構築が可能になります。

AI解析: gemini-3.6-flash本ページはプロモーションを含みます

元動画: Transformers.js v4.3: Structured Output in the browser

3秒でわかる要点

  1. 1Transformers.js v4.3が一般公開され、ブラウザ上でのLLM構造化出力が正式利用可能に。
  2. 2WASMラッパーを排してピュアJSで再構築したことで、バイナリ依存と処理遅延を根絶。
  3. 3JSON Schemaや正規表現に対応し、LLMが出力するJSONの構文エラーを原理的に防止。

何が発表されたのか

オープンソースAIプラットフォーム大手のHugging Faceは、Webブラウザ環境で機械学習モデルを実行するためのJavaScript/TypeScriptライブラリ「Transformers.js」の最新バージョン「v4.3.0」を正式リリースしました。本アップデートは研究段階のプレビューではなく、NPMを通じて一般提供(GA)が開始されています。

本リリースの最大の中核は、大規模言語モデル(LLM)のテキスト生成結果を特定のデータ構造に厳格に拘束する「構造化出力(Structured Output)」機能の導入です。これまでWebブラウザ上でローカルAIモデルを動かす際、LLMがマークダウンのコードブロック(```json)を出力したり、指定したプロパティ名を変更したりしてパースエラーを引き起こす問題が多発していました。今回のv4.3では、新パッケージ @huggingface/transformers-structured-output が提供され、開発者はモデルの出力形式をJSON Schemaや正規表現(Regex)で完全に制御できるようになりました。

発表された機能・アップデートの全容

構造化出力(Structured Output)と制約付きデコーディングの導入

従来のLLMは生成時に確率に基づいて次のトークンを選択するため、期待するJSONフォーマットから外れるリスクを常に抱えていました。Transformers.js v4.3では「制約付きデコーディング(Constrained Decoding)」という技術を採用しています。モデルが次のトークンを選択する「デコーディング段階」において、ロジットプロセッサ(Logits Processor)が介入します。あらかじめ定義されたJSON Schemaや正規表現のルールに違反するトークンを事前に除外し、ルールに適合する許可されたトークンのみに選択肢を絞り込みます。これにより、生成されたテキストは絶対に構文エラーを起こさず、指定通りのJSONオブジェクトや文字列形式になります。

新パッケージ @huggingface/transformers-structured-output とプラグイン構造

Hugging Faceは、リポジトリ構成を再設計し、新たに packages フォルダを設置しました。メインの transformers パッケージ本体を変更することなく、機能を拡張できるプラグインアプローチを採用しています。開発者は @huggingface/transformers-structured-output から StructuredOutputProcessor をインポートし、トークナイザーとスキーマ定義を渡すだけでロジットプロセッサを作成できます。これを既存の generator.current の生成パイプラインにオプションとして渡すだけで、コードの可読性を損なわずに制約付きデコーディングを組み込むことが可能です。

JSON Schemaおよび正規表現(Regex)による出力制御のデモ

動画内では、顧客サポートの問い合わせ文から顧客名や年齢といった個人情報を抽出するデモが示されました。標準のプロンプト処理では、LLMは ```json やバックティックを含めたマークダウン形式で出力しますが、JSON Schemaを指定した構造化出力プロセッサを適用すると、波括弧 { から直接始まる純粋なJSONのみが出力されます。さらに required: ["fullName", "age"] などのスキーマ条件を課すことで、プロパティ名が name ではなく fullName に強制される挙動が確認できました。また、型定義に type: "regex" を指定し、PERSON=...;AGE=... といった独自のテキストフォーマットに正規表現で固定する高度な制御も実演されています。

実務アプリケーション事例:ローカル動作の「レシピジェネレーター」

構造化出力の有用性を証明する実践的なデモとして、完全ブラウザ完結型のレシピ生成Webアプリが紹介されました。ユーザーが「自家製生地のペパロニピザ」と入力すると、ブラウザ上でキャッシュされたローカルモデル(Gemma 4など)が起動し、レシピ名・説明・人前数・材料リスト(名前・分量・単位・補足)・調理手順(ステップ番号・指示文)が生成されます。モデルが出力したJSONレスポンスは即座にJavaScriptオブジェクトとしてパースされ、Webサイトのカードデザインやチェックボックス付きリストなどのUIコンポーネントに反映されます。構造が100%保証されているため、画面レイアウトが崩れる心配なくフロントエンド構築が可能です。

Rust/WASM依存の排除とピュアJavaScriptによる完全再構築

技術的な開発ストーリーとして、初期実装での課題と解決プロセスが明確に明かされました。初期段階では、C++/Rustベースの著名な制約付き生成ライブラリ「llguidance」をWebAssembly(WASM)にコンパイルして組み込むプロトタイプを作成していました。しかし、この方式では約1MBのWASMバイナリを別途ダウンロードする必要があり、初期読み込みの遅延や複雑なアダプターレイヤーが必要という課題がありました。そこで開発チームは、AIコーディングエージェントの支援を得ながら、llguidanceの機能をピュアJavaScriptのみでゼロから完全再構築しました。これにより外部依存を全廃し、追加のネットワークダウンロードを不要にしました。

ドキュメントパイプラインの全面的改修とコミュニティ貢献

v4.3では構造化出力以外にも大きな改善が行われています。Transformers.jsのドキュメント生成プロセスが全面改修されました。これまではコード内のコメントや型システムに基づく古いライブラリ群に依存しており、複雑な型定義を完全に理解できていませんでした。今回は開発チームの手によって専用の自動生成システムが自作され、常に正確で最新のAPI仕様がドキュメントに反映される仕組みが整備されました。また、コミュニティから寄せられた数多くのバグ修正や機能追加も統合されています。

性能・ベンチマーク

動画内では、ピュアJavaScriptで再構築された制約付きデコーディングエンジンが、どれほどのオーバーヘッドを発生させるかを示す詳細なベンチマーク数値が提示されました。異なるモデル(Gemma 4, Granite 4.0 Micro, LFM 2.5)、異なるコンテキスト長(128, 2048トークン)、および制約条件(小さなJSON Schema、巨大なJSON Schema、正規表現)での比較結果です。

モデル名 ケース(制約条件) コンテキスト (トークン) 制約あり速度 (tok/s) 制約なし速度 (tok/s) 速度差 (%) 出典
gemma-4-E2B-it-ONNX small_json_schema 128 30.24 29.35 +3.0% 動画内10:03
gemma-4-E2B-it-ONNX small_json_schema 2048 17.83 17.52 +1.8% 動画内10:03
gemma-4-E2B-it-ONNX big_json_schema 128 28.55 29.39 -2.9% 動画内10:03
gemma-4-E2B-it-ONNX big_json_schema 2048 17.49 17.67 -1.0% 動画内10:03
gemma-4-E2B-it-ONNX regex 128 31.04 31.64 -1.9% 動画内10:03
gemma-4-E2B-it-ONNX regex 2048 17.43 17.67 -1.4% 動画内10:03
granite-4.0-h-micro-ONNX small_json_schema 128 33.88 33.40 +1.4% 動画内10:03
granite-4.0-h-micro-ONNX small_json_schema 2048 33.35 33.13 +0.7% 動画内10:03
granite-4.0-h-micro-ONNX big_json_schema 128 33.21 33.40 -0.6% 動画内10:03
granite-4.0-h-micro-ONNX big_json_schema 2048 32.88 33.40 -1.6% 動画内10:03
granite-4.0-h-micro-ONNX regex 128 33.22 32.74 +1.5% 動画内10:03
granite-4.0-h-micro-ONNX regex 2048 33.05 33.13 -0.2% 動画内10:03
LFM2.5-350M-ONNX small_json_schema 128 151.86 155.28 -2.2% 動画内10:03
LFM2.5-350M-ONNX small_json_schema 2048 143.68 148.06 -3.0% 動画内10:03
LFM2.5-350M-ONNX big_json_schema 128 143.44 155.28 -7.6% 動画内10:03
LFM2.5-350M-ONNX regex 128 148.92 150.26 -0.9% 動画内10:03

制約処理を行わない場合(Without constraints)と、制約付き処理を行った場合(With constraints)の生成速度差は、多くの場合でわずか1〜3%程度に留まっており、条件によってはほぼ同等か誤差範囲内のスピードを維持しています。これは、トークンごとにマスクを再計算・適用する処理がJavaScript上で極限まで最適化されており、Webブラウザの実行環境において実用上のオーバーヘッドがほぼ皆無であることを証明しています。

競合サービスとの比較

構造化出力は、近年の生成AI APIやローカル推論フレームワークにおいて必須の機能となっています。Transformers.js v4.3の立ち位置を、クラウドAI事業者や他のローカル実行フレームワークと比較します。

機能・特性 Transformers.js v4.3 OpenAI API (Structured Outputs) Ollama / llama.cpp Google Chrome Built-in AI 出典・補足
実行場所 Webブラウザ内(クライアント) クラウドAPIサーバー ローカルサーバー (C++) ブラウザ組み込み (Gemini Nano) 編集部補足比較
構造化方式 JSON Schema / Regex JSON Schema / Strict JSON JSON Schema / GBNF文法 現状テキストベース(制限あり) 編集部注
外部依存 なし(Pure JS) Web接続必須 C++ネイティブバイナリ ブラウザ機能依存 動画内容および編集部注
オフライン動作 完全対応(モデル取得後) 不可 可能 可能 動画内容および編集部注
通信コスト/プライバシー ゼロ / 完全ローカル保護 従量課金 / クラウド送信 ゼロ / 完全ローカル保護 ゼロ / 完全ローカル保護 編集部注

OpenAIなどのクラウドAPIはサーバー側で強力なモデルを用いて高精度なStructured Outputsを提供しますが、API使用料が発生し、ユーザーデータを外部サーバーへ送信するプライバシー上の制約が存在します。一方、Ollamaやllama.cppなどのローカル推論環境はC++バイナリとして動作するため、Webフロントエンド開発者がWebアプリケーションに直接組み込むにはハードルが高く、別途ローカルサーバーの起動が必要です。

Transformers.js v4.3は、WebブラウザのJavaScript環境だけで完結し、バックエンドサーバーを一切用意することなく、ユーザーのプライバシーを保護したまま正確な構造化データを生成できます。さらにWebAssemblyすら使わないピュアJavaScript実装であるため、Webフロントエンド開発者にとって圧倒的に導入しやすく、保守性に優れている点が明確な優位性です。

料金・提供プラン

  • ライセンス・価格: 完全オープンソース(Apache 2.0 ライセンス)。利用料金、ライセンス費用、サブスクリプション代金は一切発生しません。
  • 提供形式: NPMパッケージ(@huggingface/transformers および @huggingface/transformers-structured-output)として無償公開。
  • サーバーインフラ費用: クライアント(ブラウザ)側で推論が行われるため、提供者側のサーバーGPU代やAPI従量課金コストはゼロになります。
  • 提供開始時期: 2026年9月16日(動画公開日)時点でバージョン4.3.0として一般提供(GA)済み。

日本から使う方法

日本のWebエンジニアや事業者が今すぐ自社アプリやプロトタイプに組み込む手順は以下の通りです。

  1. パッケージのインストール: Node.js環境(npm, pnpm, yarnなど)でプロジェクトに以下のパッケージを追加します。 npm install @huggingface/transformers @huggingface/transformers-structured-output
  2. モデルとロジットプロセッサの設定: Transformers.jsから pipeline をインポートし、テキスト生成モデル(ONNX形式に変換されたモデル)を読み込みます。
  3. JSON Schemaまたは正規表現の定義: 抽出したいデータ構造をJSON Schema形式で記述し、StructuredOutputProcessor にインポートしたトークナイザーとともに渡します。
  4. 生成の実行: 生成処理の引数 logits_processor に構築したプロセッサを設定して実行します。
  5. 注意点・動作環境: WebGPU対応のモダンブラウザ(Chrome, Edge等)での実行を推奨します。モデルの初回ダウンロード時には数十MB〜数百MBの通信が発生するため、プログレス表示やキャッシュ戦略の実装が必要です。

誰にどう効くのか

フロントエンドエンジニア・Webディレクター

バックエンドサーバーのAPI設計やLLMのパース失敗エラーのハンドリングから解放されます。ブラウザ上で動作するAI機能を開発する際、出力を100%信頼できるJSONオブジェクトとして受け取れるため、TypeScriptの型定義と直結させた堅牢なUI開発が可能になります。

企画・マーケティング・新規事業担当者

API従量課金のコストやセキュリティ審査の懸念を理由にクラウドAIの導入を断念していたサービスにおいて、完全ローカル完結型のAI機能を実装できるようになります。ユーザーの個人情報や機密データをブラウザ外に出さずに自動抽出・整理する新しいWebツールの企画が容易になります。

開発組織の経営層・CTO

サーバー側のインフラコスト(GPUサーバー維持費やクラウドAPI代)を劇的に削減できます。AI機能を何万人ものユーザーに提供してもサーバー負荷が増加しないビジネスモデルを構築できるため、粗利益率の高いAI搭載SaaSやWebサービスの実現に直結します。

まとめ

Transformers.js v4.3のリリースにより、Webブラウザ上でのローカルAI活用は単なるテキスト出力から実用的な構造化データの生成へと大きな進化を遂げました。ピュアJavaScriptによる制約付きデコーディングは、開発速度と実行速度の両面で大きな価値をもたらします。まずは公式のNPMパッケージをインストールし、ブラウザ完結型のAIアプリケーション構築に取り掛かることを推奨します。

動画のタイムテーブル

  • 0:00Transformers.js v4.3のリリース発表
  • 0:26ドキュメント自動生成パイプラインの全面刷新
  • 1:00コミュニティによる貢献とバグ修正の紹介
  • 1:19従来課題:LLMから得られるJSONの不確実性
  • 2:18制約付きデコーディングの技術的仕組み解説
  • 3:25構造化出力プロセッサのコード組み込み実演
  • 3:37新packagesフォルダとプラグイン方式の解説
  • 6:03正規表現(Regex)を利用したフォーマット固定
  • 6:45デモ実演:ローカルで動くレシピジェネレーター
  • 7:33開発の裏側:Rust/WASMライブラリ採用時の検証
  • 9:02ピュアJavaScriptによる完全再構築の経緯
  • 9:22複数モデルにおけるベンチマーク性能の分析
  • 10:26GitHubリポジトリの案内とフィードバックの募集

記事で紹介したツール

この機能を、いま自分の環境で試す

記事の内容は公式発表の要約です。実際の使い勝手は触ってみないと分かりません。多くは無料枠から始められます。

公式サイトで試す

提供: OpenAI

本記事は元動画の映像・音声をAIが解析して自動生成したものです。誤りが含まれる可能性があるため、正確な仕様・料金は公式発表をご確認ください。元動画を見る(解析モデル: gemini-3.6-flash)