Michael-A-Kuykendall/shimmyView GitHub Homepage for Latest Official Releases
軽量なローカルAI推論サーバー。わずか5MBの単一バイナリファイルで、OpenAI API互換インターフェースを提供し、GGUFモデルとLoRAアダプターをサポートします。
MITRustshimmyMichael-A-Kuykendall 2.8k Last Updated: October 04, 2025
Shimmy - 軽量なローカルAI推論サーバー
プロジェクト概要
Shimmyは、GGUFモデル向けにOpenAI API互換のエンドポイントを提供する、5.1MBの単一バイナリローカル推論サーバーです。「見えないインフラストラクチャ」として設計されており、ローカルAI開発を摩擦なく進めることができます。
コア特性
🚀 究極の軽量性
- バイナリサイズ: わずか5.1MB(Ollamaの680MBと比較)
- 起動時間: 100ms未満(Ollamaの5-10秒と比較)
- メモリオーバーヘッド: 50MB未満(Ollamaの200MB以上と比較)
🔧 ゼロコンフィグレーションで実行
- 自動ポート割り当て: ポート競合を回避
- モデル自動検出: 複数のモデルソースをサポート
- Hugging Faceキャッシュ:
~/.cache/huggingface/hub/
- Ollamaモデル:
~/.ollama/models/
- ローカルディレクトリ:
./models/
- 環境変数:
SHIMMY_BASE_GGUF=path/to/model.gguf
- Hugging Faceキャッシュ:
🎯 完璧な互換性
- 100% OpenAI API互換: 既存ツールを直接置き換え可能
- すぐに使える: VSCode、Cursor、Continue.devなどのツールは変更不要
- クロスプラットフォーム対応: Linux、macOS、Windows
技術アーキテクチャ
コア技術スタック
- 言語: Rust + Tokio(メモリ安全性、非同期パフォーマンス)
- 推論エンジン: llama.cppバックエンド(業界標準のGGUF推論)
- API設計: OpenAI互換(プラグアンドプレイで置き換え可能)
サポートされるモデル形式
- GGUFモデル: 主要なサポート形式
- SafeTensors: ネイティブサポート、ロード速度が2倍向上
- LoRAアダプター: 一流のサポート、トレーニングから本番APIまでわずか30秒
インストールと使用
クイックインストール
方法1: Cargo経由でインストール
cargo install shimmy
方法2: プリビルド済みバイナリをダウンロード(Windows)
curl -L https://github.com/Michael-A-Kuykendall/shimmy/releases/latest/download/shimmy.exe
方法3: macOSインストール
# 依存関係をインストール
brew install cmake rust
# shimmyをインストール
cargo install shimmy
基本使用法
1. モデルをダウンロード
# 互換性のあるモデルをダウンロード
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf --local-dir ./models/
huggingface-cli download bartowski/Llama-3.2-1B-Instruct-GGUF --local-dir ./models/
2. サーバーを起動
# ポートを自動割り当て
shimmy serve
# ポートを手動で指定
shimmy serve --bind 127.0.0.1:11435
3. AIツールの設定
VSCode設定:
{
"github.copilot.advanced": {
"serverUrl": "http://localhost:11435"
}
}
Continue.dev設定:
{
"models": [{
"title": "Local Shimmy",
"provider": "openai",
"model": "your-model-name",
"apiBase": "http://localhost:11435/v1"
}]
}
コマンドラインツール
基本コマンド
shimmy serve # サーバーを起動(自動ポート割り当て)
shimmy serve --bind 127.0.0.1:8080 # ポートを手動でバインド
shimmy list # 利用可能なモデルを表示
shimmy discover # モデル検出を更新
shimmy generate --name X --prompt "Hi" # 生成をテスト
shimmy probe model-name # モデルのロードを検証
APIエンドポイント
コアエンドポイント
GET /health
- ヘルスチェックPOST /v1/chat/completions
- OpenAI互換チャットGET /v1/models
- 利用可能なモデルをリストPOST /api/generate
- ShimmyネイティブAPIGET /ws/generate
- WebSocketストリーミング
使用例
# APIをテスト
curl -X POST http://localhost:11435/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "your-model",
"messages": [{"role": "user", "content": "Hello!"}]
}'
パフォーマンス比較
指標 | Shimmy | Ollama | llama.cpp |
---|---|---|---|
バイナリサイズ | 5.1MB 🏆 | 680MB | 89MB |
起動時間 | <100ms 🏆 | 5-10秒 | 1-2秒 |
メモリ使用量 | 50MB 🏆 | 200MB以上 | 100MB |
OpenAI API | 100% 🏆 | 部分的にサポート | なし |
優位性
🔒 プライバシー優先
- コードはローカルマシンに保持
- データ漏洩のリスクなし
- 完全オフラインで動作
💰 コスト効率
- トークンごとの課金なし
- 無制限のクエリ回数
- 一度インストールすれば永続的に使用可能
⚡ 性能優位
- ローカル推論、サブ秒応答
- 低メモリ使用量
- 高速起動
🔄 柔軟なデプロイ
- 単一バイナリファイル
- 外部依存なし
- クロスプラットフォーム互換
拡張機能
LoRAアダプターサポート
Shimmyは一流のLoRAアダプターサポートを提供し、トレーニング済みモデルから本番APIへのデプロイを迅速に行えます。
# LoRAアダプターをロード
shimmy serve --lora-adapter path/to/adapter
ホットモデル切り替え
サーバーを再起動することなく、実行時にモデルを動的に切り替えることをサポートします。
GPUアクセラレーション
- macOS: 自動Metal GPUアクセラレーション
- クロスプラットフォーム: さまざまなGPUバックエンドをサポート
コミュニティとサポート
コミュニティリソース
- バグ報告: GitHub Issues
- 議論: GitHub Discussions
- ドキュメント: docs/
- スポンサー: GitHub Sponsors
まとめ
Shimmyは、ローカルAI推論の革新的なソリューションであり、「少ないことは豊かなこと」を証明しています。究極の軽量設計とゼロコンフィグレーションの理念により、Shimmyは開発者に真の「すぐに使える」ローカルAIインフラストラクチャを提供し、同時にエンタープライズレベルのパフォーマンスと互換性を維持します。AIアプリケーション開発者、研究者、またはプライバシーを重視するユーザーのいずれであっても、Shimmyは検討に値する優れた選択肢です。