あなたと一緒に学び、成長するローカル AI。
Ollama 風 CLI × LM Studio の機能 × Soul ラーニング — Pure Rust で実装。
bitllama run model.gguf # GGUF モデルでチャット
bitllama learn "私の名前はオノコ" -m model.gguf --save onoko.soul
bitllama run model.gguf --soul onoko.soul # AI があなたを覚えている!| BitLlama | llama.cpp | Ollama | vLLM | |
|---|---|---|---|---|
| Soul ラーニング (AI が記憶する) | ✅ 唯一 | ❌ | ❌ | ❌ |
| ネイティブ 1.58-bit 推論 | ✅ 0.4 GB | ❌ | ❌ | ❌ |
| デスクトップ GUI (Tauri) | ✅ | ❌ | ❌ | ❌ |
| MCP サーバー&クライアント | ✅ 12 tools | ❌ | ❌ | ❌ |
| プライベート RAG (ローカル完結) | ✅ | ❌ | ❌ | ❌ |
| マルチターン会話 | ✅ | ❌ | ✅ | ✅ |
| OpenAI 互換 API | ✅ | ❌ | ✅ | ✅ |
| LoRA ホットスワップ | ✅ | ❌ | ❌ | ❌ |
| Q8 KV Cache (VRAM 82%↓) | ✅ | ❌ | ❌ | ❌ |
| Pure Rust シングルバイナリ | ✅ | ❌ | ❌ | ❌ |
Soul = 会話から学ぶ LoRA。 名前、好み、事実を教えれば — AI が覚えます。
# HuggingFace からモデルを取得
bitllama pull bartowski/gemma-2-2b-it-GGUF
# チャット開始 (マルチターン対話)
bitllama run ~/.bitllama/models/gemma-2-2b-it-Q4_K_M.gguf
💬 BitLlama Chat (multi-turn conversation)
Commands: 'quit' to exit, 'clear' to reset conversation
You: こんにちは!
AI: こんにちは!何かお手伝いできることはありますか?
You: clear
🔄 Conversation cleared.# モデルに何かを教える
bitllama learn "私の名前はオノコ。プログラミングとカレーが好きです。" \
--model model.gguf --save onoko.soul --epochs 50
# Soul を使って会話
bitllama run model.gguf --soul onoko.soul
You: 私の名前は?
AI: あなたの名前はオノコさんですね! 🎉bitllama serve model.gguf --port 8000from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="none")
response = client.chat.completions.create(
model="default",
messages=[
{"role": "user", "content": "こんにちは!"},
{"role": "assistant", "content": "こんにちは!"},
{"role": "user", "content": "今なんて言った?"}
],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta.content or "", end="")# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/imonoonoko/Bit-TTT-Engine/main/scripts/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/imonoonoko/Bit-TTT-Engine/main/scripts/install.ps1 | iexbrew tap imonoonoko/bitllama
brew install bitllamawinget install imonoonoko.BitLlama # CLI
winget install imonoonoko.BitLlamaDesktop # デスクトップ GUIGitHub Releases からダウンロード:
| プラットフォーム | CLI | デスクトップ GUI |
|---|---|---|
| Windows x64 | bit_llama-windows-x64.exe |
BitLlama-Desktop-Setup.exe |
| Linux x64 | bit_llama-linux-x64.bin |
— |
| macOS ARM | bit_llama-macos-arm64.bin |
— |
git clone https://github.com/imonoonoko/Bit-TTT-Engine.git
cd Bit-TTT-Engine
# CLI のビルド
cargo build --release -p bit_llama
# バイナリは target/release/bit_llama (Windows では bit_llama.exe)要件: Rust 1.75+, CUDA 12.x (オプション、GPU 高速化用)
| コマンド | 説明 |
|---|---|
bitllama run <model> |
インタラクティブチャット (マルチターン) |
bitllama run <model> "prompt" |
ワンショット生成 |
bitllama pull <repo> |
HuggingFace からモデルダウンロード |
bitllama learn <text> |
モデルに教える (Soul ラーニング) |
bitllama soul list |
保存済み Soul 一覧 |
bitllama soul info <soul> |
Soul メタデータ表示 |
bitllama serve <model> |
OpenAI 互換 API サーバー起動 |
bitllama rag add <file> |
ドキュメントをローカル RAG インデックスに追加 |
bitllama rag query "質問" |
RAG コンテキスト付きで質問 |
bitllama eval <model> |
モデル品質評価 (パープレキシティ) |
bitllama bench |
モデルベンチマーク (パープレキシティ + 速度) |
bitllama mcp |
MCP サーバー起動 (Claude Code 等向け) |
bitllama tools |
外部 MCP ツールサーバーに接続 |
bitllama list |
ローカルモデル一覧 |
bitllama info <model> |
モデル詳細表示 |
# 生成オプション
--temperature 0.7 # 創造性 (0.0 = 決定的)
--max-tokens 512 # 最大出力長
--top-p 0.9 # Nucleus サンプリング
--repeat-penalty 1.1 # 繰り返し防止
# パフォーマンスオプション
--q8-cache # Q8 KV キャッシュ (VRAM 節約)
--device cuda # GPU 使用 (デフォルト)
--device cpu # CPU 使用
# Soul オプション
--soul onoko.soul # Soul をロード
--system "You are..." # カスタムシステムプロンプトRTX 4060 Ti 8GB, Q4_K_M 量子化でテスト:
| モデル | BitLlama | llama.cpp | 比率 |
|---|---|---|---|
| Llama-2 7B | 45.4 tok/s | 50.5 | 89.9% |
| Mistral 7B | 42.1 tok/s | 47.3 | 89.0% |
| Gemma-2 2B | 75.1 tok/s | 101.8 | 73.8% |
Pure Rust + CUDA で llama.cpp の約 90% の速度。Soul ラーニングは BitLlama だけの機能。
Soul = LoRA ファインチューニングによる永続メモリ。
# テキストから Soul を作成
bitllama learn "私はカナメ。オノコを助けるために作られた AI アシスタントです。" \
--model gemma-2-2b-it.gguf \
--save kaname.soul \
--epochs 50 \
--lr 1e-4
# 既存 Soul に追加学習
bitllama learn "好きな食べ物は寿司です。" \
--model gemma-2-2b-it.gguf \
--load kaname.soul \
--save kaname.soul
# チャットで使用
bitllama run gemma-2-2b-it.gguf --soul kaname.soulSoul は safetensors 形式で保存 (rank-8 LoRA で約 50MB)。
| モデル | フォーマット | 状態 | チャットテンプレート |
|---|---|---|---|
| BitNet 2B4T | safetensors | ✅ | bitnet |
| Llama-2 7B/13B | GGUF | ✅ | llama2 |
| Llama-3 8B | GGUF | ✅ | llama3 |
| Gemma-2 2B/9B | GGUF | ✅ | gemma |
| Qwen2.5 0.5B/1.5B/7B | GGUF | ✅ | chatml |
| Mistral 7B | GGUF | ✅ | mistral |
| Phi-4 Mini | GGUF | ✅ | phi |
GGUF モデル: Q4_K_M, Q8_0, F16 量子化に対応。 BitNet 2B4T: ネイティブ 1.58-bit — 2B パラメータモデルがわずか 0.4 GB。
BitLlama Desktop — Tauri 2.0 + Svelte 5 で作られたネイティブアプリ。
- ワンクリックでモデルダウンロード&管理
- ストリーミングチャット(会話履歴付き)
- チャット・ファイルドラッグ&ドロップ・修正学習から Soul を育成
- Soul 管理 (一覧、アクティブ切替、成長チャート)
- ハードウェア自動検出&モデル推奨
- 初回ウィザードで迷わずスタート
- 日本語 / 英語 完全対応
インストール: winget, GitHub Releases, またはソースからビルド:
cd bitllama-desktop && npm install && npx tauri buildBitLlama の Test-Time Training は推論時にモデルを適応させます — コンテキストから学びながら生成します。
# CLI で TTT を有効化
bitllama run model.gguf --ttt
# デスクトップ GUI では設定パネルからトグルTTT はすべての対応モデル (GGUF・safetensors) で動作します。
Bit-TTT-Engine/
├── crates/
│ ├── bit_llama/ # 🖥️ CLI アプリケーション
│ │ └── src/
│ │ ├── commands/ # run, pull, learn, soul, serve, rag, eval, bench
│ │ └── cli.rs # コマンドルーティング
│ ├── rust_engine/ # 🧠 コア推論エンジン
│ │ ├── model/ # GGUF ローダー、量子化推論
│ │ ├── kernels/ # CUDA カーネル (Flash Attention, RoPE)
│ │ └── layers/ # LoRA, KV Cache
│ └── bit_converter/ # 🔄 モデル変換ユーティリティ
├── bitllama-desktop/ # 🖼️ デスクトップ GUI (Tauri 2.0 + Svelte 5)
│ ├── src/ # Svelte フロントエンド
│ └── src-tauri/ # Tauri バックエンド (Rust)
└── docs/ # ドキュメント
PR 歓迎!ガイドラインは CONTRIBUTING.md を参照。
# テスト実行
cargo test --no-default-features
# PR 前のチェック
cargo fmt --all
cargo clippy --no-default-features -- -D warnings- candle — Rust 向け ML フレームワーク
- ggml/llama.cpp — GGUF フォーマットのインスピレーション
MIT License — LICENSE を参照。
Rust 🦀 と CUDA ⚡ で構築 by @imonoonoko