webmachinelearning/prompt-api

💬 A proposal for a web API for prompting browser-provided language models

何を解決するか

このプロジェクトは、ブラウザやオペレーティングシステムに組み込まれた言語モデルに直接アクセスできる標準化された JavaScript API を提案しています。開発者はクラウドベースの API に頼る必要がなく、WASM や WebGPU を使って大規模モデルを手動でバンドル・実行する必要もありません。これによりコスト削減、ローカル処理によるプライバシー向上、オフライン機能の実現が可能になります。

動作方法

API は LanguageModel インターフェースを提供し、セッションを作成できます。開発者は prompt() を使って単一の応答を取得したり、promptStreaming() を使ってリアルタイム出力を得たりできます。以下の高度なプロンプティング技術をサポートしています:

  • システムプロンプト:モデルの役割や文脈を設定(例:「洗練されたハムスターになったつもりで」)。
  • Nショットプロンプティング:ユーザー/アシスタントの対話例を提供して、モデルの振る舞いをガイド。
  • ツールの使用:JSON スキーマで外部機能(ツール)を定義。モデルがツール呼び出しを要求し、アプリケーションが実行してその結果をセッションにフィードバック。
  • サンプリングパラメータ:temperature と topK を調整して出力のランダム性や創造性を制御。

対象ユーザー

独自のモデルインフラを管理せずに、テキスト分類、要約、翻訳、インタラクティブアシスタントなどの AI 機能をウェブアプリに統合したいウェブ開発者。

特徴

  • ローカル実行:デバイス内モデルを活用し、高速な結果と低遅延を実現。
  • モデル非依存:ブラウザや OS が提供する特定のモデルにかかわらず、一貫した API を提供。
  • ツール統合:外部データや関数でモデル機能を拡張するためのオープンループツール呼び出しをサポート。
  • リソース効率:最適化された組み込みモデルを使用することで、ユーザーの帯域幅とストレージ負荷を削減。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト