以下が記事本文です:


Local LLMの到来 #3 LM Studio編

この記事の内容

  • GUIで手軽にローカルLLMを実行できるツール「LM Studio」の概要を紹介します
  • LM StudioのインストールからモデルのダウンロードまでのステップをWindows環境で解説します
  • チャット機能でローカルLLMと対話する基本的な使い方を説明します
  • OpenAI互換のAPIサーバーとして起動し、curlやPythonから利用する方法を紹介します
  • 既存のOpenAI APIを使うプログラムをほぼそのままローカル環境に移行できる強力な互換性についても触れます

はじめに:ローカルLLM実行環境の新たな選択肢「LM Studio」

ローカルLLM(大規模言語モデル)の選択肢と使い方を解説するシリーズの第3弾として、今回はGUIで手軽に利用できる「LM Studio」を紹介します。

これまでのシリーズでは、Hugging FaceやCUIベースのOllamaといった実行環境を紹介してきました。しかし「やはりGUIで簡単に操作したい」という方も多いのではないでしょうか。LM Studioは、そんなニーズに最適なツールで、直感的な操作でローカルLLM環境を構築できます。


LM Studioのインストール

まず、LM Studioの公式サイトにアクセスします。Windows環境でアクセスするとWindows版のダウンロードリンクが分かりやすく表示されています。

  1. 公式サイトのダウンロードボタンをクリックし、インストーラーをダウンロードします
  2. ダウンロードしたインストーラーを実行します
  3. インストールオプションでは、通常「現在のユーザーのみ」を選択すれば問題ありません
  4. インストール先を確認し、「インストール」をクリックします
  5. インストールが完了したら、「LM Studioを実行する」にチェックを入れたまま完了します

これでLM Studioが自動的に起動します。


モデルの検索とダウンロード

LM StudioはGUIベースなので、直感的に操作できます。

モデルを探す

左側のメニューにある発見ボタン(コンパスのアイコン)をクリックすると、「Discover」ページが開きます。ここには人気のモデルや、お使いのPCスペックに合ったモデルが一覧で表示されます。LLMの世界は日進月歩で新しい高性能なモデルが次々と登場するため、表示される内容は時期によって異なります。

モデルの選び方

モデルを選ぶ際の目安として、パラメータ数があります。一般的にパラメータ数が多いほど高性能ですが、その分ファイルサイズが大きく、動作も重くなります。

LM Studioの便利な点は、各モデルのダウンロードオプションに、お使いのPC環境で快適に動作するかどうかの目安が表示されることです。例えば「Likely too large」といった表示がある場合、そのモデルはPCのRAM容量などに対して大きすぎる可能性が高いため、避けた方が無難です。

デモでは、比較的小さな1.7B(17億)パラメータのモデルを選択しています。ファイルサイズが小さいモデルはダウンロードが速く動作も軽快なので、初めて試す方におすすめです。

ダウンロード

使用したいモデルが決まったら「Download」ボタンをクリックします。ダウンロードの進捗状況は画面下部で確認できます。


LM Studioの仕組み

LM Studioは、ユーザーフレンドリーなGUIの背後で「llama.cpp」のようなLLMランタイムエンジンが動作しています。ユーザーはGUIを通じてモデルをダウンロード・選択し、ランタイムがそれを実行するという構成です。ランタイム自体のアップデートも、ボタン一つで簡単に行えます。


使い方①:チャット機能で対話する

最も基本的な使い方が、チャット機能です。

  1. 左側メニューのチャットアイコン(吹き出しのアイコン)をクリックします
  2. 画面上部の「Select a model to load」から、ダウンロードしたモデルを選択します
  3. モデルのロードが完了したら、チャットを開始できます

実際に「こんにちは」と入力すると、モデルが応答を生成してくれます。

また、右側のパネルでは「システムプロンプト」を設定できます。例えば「語尾は必ず『にゃ』にしてください」といったキャラクター設定を指示することも可能です。モデルの性能によっては指示通りに動かないこともありますが、手軽に試せるのが魅力です。


使い方②:OpenAI互換APIサーバーとして利用する

LM Studioのもう一つの強力な機能が、OpenAI互換のAPIサーバーです。これにより、既存のOpenAI APIを利用するプログラムを、ほぼそのままローカル環境で動かすことができます。

サーバーの起動

左側メニューのサーバーアイコン(</>のアイコン)をクリックし、「Start Server」ボタンを押します。これで localhost:1234 でAPIサーバーが起動します。

curlコマンドでの動作確認

ターミナルからcurlコマンドを使い、APIエンドポイントにリクエストを送ることで、サーバーが正常に動作しているか確認できます。サーバーログにもリクエストを受け付けた記録が表示されます。

# ロードされているモデル一覧を取得
curl http://localhost:1234/v1/models

# チャット補完をリクエスト
curl http://localhost:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "loaded-model-name",
    "messages": [{"role": "user", "content": "こんにちは"}]
  }'

Pythonライブラリからの利用

PythonのOpenAI公式ライブラリを使用して、LM Studio上のモデルと対話することも可能です。

既存のOpenAI APIを利用するプログラムの接続先URL(base_url)をLM Studioのローカルアドレスに変更するだけで、コードをそのまま流用できます。これは非常に強力な機能です。

from openai import OpenAI

# ローカルのLM Studioをクライアントとして設定
client = OpenAI(base_url="http://localhost:1234/v1", api_key="not-needed")

completion = client.chat.completions.create(
    model="loaded-model-name",  # 実際にロードしたモデル名を指定
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "こんにちは"}
    ]
)

APIキーはローカル実行では不要ですが、ライブラリの仕様上何らかの文字列を渡す必要があるため、"not-needed"のような任意の文字列を指定します。


まとめ

LM Studioは、GUIを通じてローカルLLMを手軽に試せる優れたツールです。今回紹介した内容を振り返ります。

  • インストールが簡単: 公式サイトからインストーラーをダウンロードするだけで、すぐに利用を開始できます
  • モデル選びのサポート: PC環境に合ったモデルかどうかの目安が表示されるため、初心者でも迷いにくい設計です
  • チャット機能: GUIでモデルをロードし、すぐに対話を始められます。システムプロンプトによるカスタマイズも手軽です
  • OpenAI互換APIサーバー: localhost:1234でAPIサーバーを起動でき、curlやPythonからOpenAIと同じ感覚でローカルモデルを呼び出せます
  • 既存コードの再利用: base_urlを変更するだけで既存のOpenAI連携コードをローカル環境に移行できます

CUIに慣れていない方や、手軽にローカルLLMを体験してみたい方には、LM Studioが最初のステップとして非常におすすめです。ぜひ試してみてください。