モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

ホストWindowsのLM StudioのAPIにWSL2から接続できるようにする

わかってしまえばなんのことはない話なのですが、ちょっとハマったのでメモ。

LM Studioを使うと、OpenAI API互換のAPIで各種LLMを使うことができるようになって便利です。
なのですが、WSL2からホストのWindows上で動いているLLMのAPIがなかなか呼べなくてハマりました。
LM Studioのバージョンは0.3.11です。

とりあえず手順としては
1. 動かしたいLLMをロードしてチャットで動くことを確認
2. 左上のメニューから緑色の「Developer」を選択
3. 「Status: Running」のところをオンにする

だけなのですが、これだとWindowsの環境からはAPIを叩けるものの、WSL2環境からは触れません。
これは、WSL2環境からホストのWindowsのサービスをlocalhostとしてそのまま叩くことができない、ということが理由です。
そこでホストのIPをipconfigで調べて叩けば良さそうに思うのですが、それもうまくいきません。
というのは通常だとLM Studioが自PCからのみのアクセスを許可しているため、WSL2からの接続は別ネットワークからの接続と認識されてしまうので、それで拒否されてしまうからです。

なので、下記のように追加で他のネットワークからのアクセスを許可する設定が必要になります。

4. 先程のメニューで「Settings」を開く
5. 「Serve on Local Network」をオン

これでやっとWSL2からもAPIを動かせるようになります。
このとき、APIにアクセスするためのlocalhostではないIPとエンドポイントも表示されます。
ただこれだとローカルネットワークからのアクセス全部が許可されるため、注意が必要です。


なかなか理由がわからなくて困ってたんですが、GPT-4.5先生が

必ずAPIサーバを 0.0.0.0 でListenする必要があります。

とアドバイスしてくれたので気がつけましたとさ。