こんにちは、たねやつです。
これまでの記事で、LM Studioを使ってローカルLLMとチャットする方法や、モデルの設定について解説してきました。 今回は、LM Studioが持つ非常に強力な機能、「ローカルAPIサーバー」に焦点を当てます。この機能を使いこなせば、自作のプログラムや他のツールとローカルLLMを連携させ、AIを活用した独自のワークフローを構築できます!
前の記事
この記事でできること
- LM Studioのローカルサーバー機能が理解できる
- ローカルAPIを起動し、テストできるようになる
- PythonプログラムからローカルLLMを呼び出せるようになる
- 他のツールとの連携の可能性がわかる
ローカルサーバー機能とは?
LM Studioは、起動しているPCを「OpenAI API互換」のサーバーとして機能させることができます。
これはつまり、ChatGPTのAPIを叩くのと同じ書き方で、自分のPC上で動いているLLMを呼び出せるということです。 これにより、以下のような大きなメリットが生まれます。
- プライバシー: 外部にデータを送信しないため、機密情報や個人情報を含むタスクも安心して任せられる。
- コスト: API利用料がかからないため、何度でも無料で試行錯誤できる。
- オフライン: インターネット接続がなくても、AIを利用したツールを動かせる。
この機能を使えば、まさに「自分だけのAIサーバー」を立ち上げることができるのです。
サーバーの起動と設定
サーバー機能の使い方は非常に簡単です。
- 画面左のメニューから、サーバーアイコン (
>_) をクリックします。 - 画面上部で、APIとして提供したいモデルを選択します。
- 左上の
Start Serverボタンをクリックします。Status:のトグルボタンです。
ボタンを押すと、サーバーが起動し、ログが表示されます。これで、あなたのPCは http://localhost:1234 でAPIリクエストを待ち受ける状態になりました。

curlでAPIを叩いてみる
サーバーが正しく動作しているか、まずはcurlというコマンドラインツールを使って確認してみましょう。
ターミナル(WindowsならコマンドプロンプトやPowerShell)を開き、以下のコマンドを実行します。以下ワンラインにしておきました。
curl http://localhost:1234/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "openai/gpt-oss-20b", "messages": [ { "role": "system", "content": "Always answer in rhymes. Today is Thursday" }, { "role": "user", "content": "What day is it today?" } ], "temperature": 0.7, "max_tokens": -1, "stream": false }'
実行すると、AIからの応答がJSON形式で返ってくるはずです。
Pythonから接続する
APIがOpenAI互換であることの最大の利点は、既存のライブラリをそのまま使える点です。ここでは、Pythonのopenaiライブラリを使ってローカルLLMに接続してみます。
まず、ライブラリをインストールします。
pip install openai
そして、以下のようなPythonスクリプトを作成して実行します。
from openai import OpenAI # LM Studioのローカルサーバーに接続するための設定 client = OpenAI(base_url="http://localhost:1234/v1", api_key="not-needed") completion = client.chat.completions.create( model="local-model", # このモデル名は実際には使用されません messages=[ {"role": "system", "content": "あなたは優秀なアシスタントです。"}, {"role": "user", "content": "自己紹介をしてください。"} ], temperature=0.7, ) print(completion.choices[0].message.content)
ポイントは2つです。
- base_url: 通信先をOpenAIのサーバーではなく、LM Studioが立てたローカルサーバーのアドレスに指定します。
- api_key: ローカルサーバーなのでAPIキーは不要です。適当な文字列でOKです。
これを実行すれば、curlの時と同じようにAIからの応答がターミナルに表示されます。
こんにちは! 私はChatGPT、OpenAIが開発した大規模言語モデルです。 - **専門性**:自然言語処理(文章生成・要約・翻訳・質問応答など)に特化しています。 - **学習範囲**:インターネット上の膨大なテキストデータを基に訓練されており、幅広い トピックについて話すことができます。 - **特徴**:文脈を考慮しながら自然で分かりやすい回答を生成します。また、日本語だけ でなく英語・スペイン語など複数言語も扱えます。 私の目標は、質問に対して正確で役立つ情報を提供し、会話を楽しくスムーズに進めること です。 どうぞお気軽に何でも聞いてくださいね!
他のツールとの連携
この仕組みを応用すれば、様々なツールと連携できます。 例えば、ObsidianのプラグインやVSCodeの拡張機能など、OpenAI APIキーを設定できるツールであれば、URLをローカルサーバーのアドレスに変更するだけで、ローカルLLMのパワーを活用できるようになります。
最後に
今回は、LM StudioのローカルAPIサーバー機能について解説しました。 これにより、単にチャットするだけでなく、LLMを自分のアプリケーションやツールに組み込む道が拓けました。アイデア次第で、可能性は無限に広がります。
次回からは実践編として、このローカルAPIを活用して、より具体的なタスクをこなす方法を紹介していきます。