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.6
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.6.tar.gz | 241.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| local_llm_server-0.38.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 411.2 kB
Release files / local_llm_server-0.38.6.tar.gz
| Download URL | local_llm_server-0.38.6.tar.gz |
|---|---|
| Size | 241.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a00fde94a84f702db838c142be348aa93d5ee0c7d6fb8d1480409467916a28e
|
|
BLAKE2b-256 checksum How to use checksums |
fda7fdd24e6e7a87c093f37f01dc6f600b4b3193d3a982f2ae37abec8a05c19d
|
| 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.6-py3-none-any.whl
| Download URL | local_llm_server-0.38.6-py3-none-any.whl |
|---|---|
| Size | 169.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a775e1a54b579d6f2dc625f2c8f46b0ae51bb1cec7e009ccbd5c0bb0b577c0aa
|
|
BLAKE2b-256 checksum How to use checksums |
edcdf70f7f6a9712ee685687c44008c7d7d70408b223b85c4d4b1a5e2ef7c86f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|