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 # これだけ。導入・PATH 設定・自動起動の登録まで全部やる
途中で管理者パスワードを 1 回聞かれる(Ollama と同じく、最初から PATH に入っている
/usr/local/bin へ gw を置くため。そのままこのシェルで gw が使える)。
入れずにスキップしても壊れない——その場合は新しいターミナルから使える。
導入後は Ollama と同じくサーバーを意識しなくてよい——ログイン時に自動起動し、異常終了時は
自動復活する(gw disable で従来の手動 gw start 運用に戻せる → docs/operation.md)。
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 status # 稼働/停止・PID・URL・起動経過を表示(自動起動済みなら常に稼働)
gw list # 使えるモデル一覧(カタログ+HF キャッシュ)
gw stop # 停止(再開は gw start か次回ログイン)
gw start # 手動起動(初回は設定を自動生成。自動起動を無効にした場合の入口)
設定は ~/.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
Release files for local-llm-server 0.38.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| local_llm_server-0.38.3.tar.gz | 234.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| local_llm_server-0.38.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 400.5 kB
Release files / local_llm_server-0.38.3.tar.gz
| Download URL | local_llm_server-0.38.3.tar.gz |
|---|---|
| Size | 234.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
912cb42ae1bc96f85b26ca40f38212390faa28b45c79afd4e319b0e9f6779f97
|
|
BLAKE2b-256 checksum How to use checksums |
ed7da4b0496ac9b3876b0f87218c0836d488e4a8428434eb9416eee8cdc18227
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / local_llm_server-0.38.3-py3-none-any.whl
| Download URL | local_llm_server-0.38.3-py3-none-any.whl |
|---|---|
| Size | 166.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e21a7c74223e3613bda6c1f10b5ad11721f6d20174700be83f3748c0c3dc20a
|
|
BLAKE2b-256 checksum How to use checksums |
c31a27a8ce73159d1ce4792e1d5f1db6e354bfe72269f38d1bd38a3f26991841
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|