ローカルLLM(mlx / mlx-vlm / llama.cpp / vLLM / SGLang)を OpenAI 互換 API で束ねるマルチモデルゲートウェイ(サーバー)。gateway.toml のカタログを 1 ポートで配信し、model で振り分け・遅延起動・LRU 退避・MTP 高速化(Ollama 流の共有デーモン)。接続用クライアントは別パッケージ local-llm-client。
Project description
local-llm-server
ローカルLLM(mlx / mlx-vlm / llama.cpp)と音声認識(whisper / STT)を束ねる
マルチモデルゲートウェイ。1 プロセス起動するだけで、1 つの公開ポートに複数モデルを配信する。
モデルの事前登録は不要——クライアントが指定した model をその場でロードする。
特徴の全体像は docs/features.md。
インストール
uv を使う。一度入れればどこからでも gw。
git clone https://github.com/ToPo-ToPo-ToPo/local-llm-server
cd local-llm-server
make install # `gw` を PATH に導入(~/.local/bin/gw)
uv tool update-shell # 初回のみ。~/.local/bin を PATH に追記する
exec $SHELL -l # 今のシェルに反映(または新しいターミナルを開く)
make install が「~/.local/bin is not on your PATH」と警告するのは、uv tool install が
シェル設定を変更しないため。uv tool update-shell がその追記を行う(zsh なら ~/.zshrc では
なく ~/.zshenv)。書き込み先はシェルによって違うので、反映は特定ファイルの source では
なく exec $SHELL -l か新しいターミナルで行う。アンインストールは make uninstall
(→ docs/operation.md)。
使い方
gw start # 裏で常駐起動(初回は設定を自動生成)
gw status # 稼働/停止・PID・URL・起動経過を表示
gw list # 使えるモデル一覧(カタログ+HF キャッシュ)
gw stop # 停止
設定は ~/.config/local-llm-server/gateway.toml の 1 箇所(初回の gw start が自動生成。
→ docs/gateway.md)。
接続は公開ポート(既定 http://127.0.0.1:8799/v1)に繋いで model を選ぶだけ。
接続クライアントは別パッケージ local-llm-client:
from local_llm_client import LLMClient
llm = LLMClient(model="ToPo-ToPo/Qwen3.6-27B-mlx-4bit",
base_url="http://127.0.0.1:8799/v1")
print(llm.respond("ローカルLLMの利点を3つ。"))
ドキュメント
- docs/features.md — 特徴と全体像
- docs/operation.md —
gwサブコマンドでの起動・停止・状態確認・アンインストール - docs/gateway.md —
gateway.tomlの全フィールドと振る舞い - docs/llama-cpp.md — llama.cpp(
llama-server)の自動導入・最新モデル追従 - docs/vllm.md — vLLM / SGLang(高スループット生成)
- docs/mtp.md — MTP による高速化
ライセンス
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file local_llm_server-0.35.1.tar.gz.
File metadata
- Download URL: local_llm_server-0.35.1.tar.gz
- Upload date:
- Size: 160.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c936b6cf619da107989ca85e428a8702e131960a8900c02329e09850e5ded89
|
|
| MD5 |
388e398b6b8c79f6443aaa17f92f418f
|
|
| BLAKE2b-256 |
7a2dfcaf91f891b69f35e50d5f071e4c562b0530edbd748c7f5efc5ea8a3a54d
|
File details
Details for the file local_llm_server-0.35.1-py3-none-any.whl.
File metadata
- Download URL: local_llm_server-0.35.1-py3-none-any.whl
- Upload date:
- Size: 116.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58e0f3e46f10774372b06789008ff868c458df87f226aac33cfe1a4fec262caf
|
|
| MD5 |
78e6cdbaa3efe5698a426379d62a3a6e
|
|
| BLAKE2b-256 |
16fff433faa39ebb5f53c40b731f967cff1d2f2783b3c56693a74a3664062ac7
|