NullModel — ローカルで動くLLMモックサーバー
概要
NullModelはローカル環境で動作する「偽の」LLM APIサーバーで、OpenAIやAnthropic、GeminiのAPIインターフェースとストリーミングSSEフォーマットをそのまま模倣します。実際のAPIキーや課金を使わず、任意のキーでリクエストを受け付け、レスポンスのチャンクやイベント形式を忠実に再現するため、フロントエンドや統合テストが本番APIと差し替えて動作することを確認できます。軽量で依存関係がなく、npx nullmodelで簡単に起動できます。(約300字)
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 2
- ファイル数: 8
- メインの言語: JavaScript
主な特徴
- OpenAI / Anthropic / Gemini のHTTP APIとSSEストリーミング形式を忠実に模倣
- 依存関係ゼロでローカル起動、npx nullmodelで即利用可能
- 任意のAPIキーでアクセス可能、課金やレート制限の影響を排除
- フロントエンドの開発・テストとCIでの安定検証に最適
技術的なポイント
NullModelは「互換性」と「軽量さ」を重視した設計です。APIエンドポイントは既存のクライアントが期待するパスとヘッダを受け取り、ストリーミングレスポンスはサーバー送信イベント(SSE)のチャンクフォーマットを再現するため、フロントエンド側のパーサがそのまま動作します。内部的には外部APIへのプロキシや実ネット呼び出しを行わず、ローカルで決め打ちまたはランダム化されたテキスト/トークンストリームを生成して返却します。これにより、ネットワーク遅延や課金問題を排しつつ、フロントエンドのストリーミングUIやエラー処理、再接続ロジックの挙動を本番に近い形で検証できます。
実装はNode.jsベースのシンプルなHTTPサーバーで、追加ライブラリに頼らないため導入コストが低く、CIや開発マシンへの組み込みが容易です。APIキーの検証は行わず、任意のキーを受け付けることで既存の環境変数や設定をそのまま流用できます。さらに、エンドポイントごとに模倣するレスポンスのパターンを整えており、チャンクの分割やイベント名、終了シグナルなどを本物のAPIと同様に扱うため、細かな互換性の確認が可能です。将来的に振る舞いのカスタマイズ(プロンプトに依存した応答、遅延シミュレーション、エラーレスポンスの注入など)も想定できる拡張性のある構成です。(約700字)
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- .gitignore: file
- LICENSE: file
- README.md: file
- bin: dir
…他 3 ファイル
まとめ
ローカルで手軽に本番準拠のLLM API挙動を模倣できる実用的なツールです。(約50字)
リポジトリ情報:
- 名前: NullModel
- 説明: A zero-dependency local mock server that fakes LLM API responses so you can build AI frontends without keys, cost, or latency surprises.
- スター数: 1
- 言語: JavaScript
- URL: https://github.com/alexcollins/NullModel
- オーナー: alexcollins
- アバター: https://avatars.githubusercontent.com/u/309399?v=4
READMEの抜粋:
NullModel
NullModel repository header
Fake LLM API server for building AI interfaces — without keys, cost, or latency surprises.
npx nullmodel
What it is
NullModel is a drop-in replacement for OpenAI, Anthropic, and Gemini APIs. Point your app’s base URL at http://localhost:4000, use any API key — it’s all fake. Faithfully replicates the exact streaming SSE formats so your frontend can’t tell the difference.
- Exact chunk/event format…