Back to tech

MacでLM Studioを使うためのメモ

3 min read
Table of Contents

お久しぶりです。

この記事では、タイトルにもある通り、MacでLM Studioを使うためのメモをまとめます。

どなたかの参考になれば幸いです。

LM Studioとは

LM Studioは、ローカルLLMを簡単に扱うためのツールです。

公式サイトはこちらです。

Macの場合はHomebrewでインストールできるため、手軽に始められます。

類似ツールにOllamaというものがあります。

調べてみたところ、主な違いはGUIの有無のようですので、お好みで選ぶと良いと思います。 ※GUIがあるのはLM Studioの方です。

LM Studioのインストール

Homebrewを使ってLM Studioをインストールします。

brew install --cask lm-studio

これで完了です。簡単ですね。

LM Studioを起動し、モデルをダウンロード

GUIで簡単にできます。

虫眼鏡マークから「Gemma 3 27B」を検索して、ダウンロードします。

これでモデルの準備は完了です。

あとはモデルをロードしてチャットを開始するだけです。

TIPS

LM Studioを使う上での便利な設定や操作方法をいくつか紹介します。

モデルを読み込むときに設定したコンテキスト長を適用したい

モデルを読み込む際に、自身で設定したコンテキスト長を適用したい場合があります。

この場合、GUIから設定できます。

ダウンロードしたモデル一覧の画面を開き、コンテキスト長を変更したいモデルの歯車アイコンを選択します。

そして、コンテキスト長を変更します。

これで完了です。

CLIでモデルを読み込むときにコンテキスト長を指定したい

lmsコマンドが用意されているので、CLIからも操作できます。

以下のコマンドでモデルを読み込みます。

lms server start
lms load --gpu=max --context-length=131072 google/gemma-3-27b

参考: https://lmstudio.ai/docs/cli

プライベートネットワーク内で別のPCからリクエストを送りたい

LM StudioはAPIを公開できます。

デフォルトでは、LM Studioを起動しているPC内でしかアクセスできません。

他のPCからアクセスするには、以下の設定を行うとアクセスできるようになります。

APIサーバー画面にある設定からローカルネットワークでサービングのチェックボックスをオンにします。

有効化後、他のPCからは以下のようにリクエストを送ることができます。

curl -X POST http://{YOUR_LLM_IP}:1234/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
  "model": "google/gemma-3-27b",
  "messages": [
    {"role": "user", "content": "こんにちは、元気ですか?"}
  ]
}'

回答

{
  "id": "chatcmpl-stx9gnpqd3mcg8dpg1prb",
  "object": "chat.completion",
  "created": 1752163402,
  "model": "google/gemma-3-27b",
  "choices": [
    {
      "index": 0,
      "logprobs": null,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "こんにちは!はい、おかげさまで元気です。😊\n\nあなたは元気ですか?何かお手伝いできることはありますか?\n"
      }
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 27,
    "total_tokens": 41
  },
  "stats": {},
  "system_fingerprint": "google/gemma-3-27b"
}

LM StudioをPC起動時に自動で起動させる

PCを起動したときに、自動でLM Studioを起動させたい場合があります。

実は、これも可能です。

サービスとして実行することで、PCの起動時に自動でLM Studioを起動できます。

右下にある歯車アイコンをクリックして、設定画面を開きます。

Developerタブを選択し、Enable Local LLM Serviceのチェックボックスをオンにします。

これでLM Studioがサービスとして実行されるようになります。

c.f. https://lmstudio.ai/docs/app/api/headless

ただし、これだけではPCを起動したときにLM Studio にモデルが読み込まれません。

そこで、ログイン時に自動でモデルを読み込むためにスクリプトを作成し、launchdで管理します。

以下の内容で~/scripts/start_lms.shを作成します。(パスは任意ですが、わかりやすい場所を推奨します)

#!/bin/bash

# timestamp func
log_with_timestamp() {
  echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" >> "$LOG"
  "$@" >> "$LOG" 2>&1
}

# LOG FILE
LOG="$HOME/scripts/lms.log"

# LMS
LMS="/Users/${USER}/.lmstudio/bin/lms" # ご自身の環境に合わせてパスを修正してください

# Start
log_with_timestamp echo "===== LMS startup initiated ====="

# Launch LMS
log_with_timestamp "$LMS" server start &
sleep 10

log_with_timestamp "$LMS" load --gpu=max google/gemma-3-27b &

log_with_timestamp echo "===== LMS startup completed ====="

実行権限を付与します。

chmod +x scripts/start_lms.sh

つぎにlaunchdのplistを作成して自動起動を設定します。

nano ~/Library/LaunchAgents/com.local.lms.plist

${USER}の部分はご自身のユーザー名に置き換えてください。 以下の内容を貼り付けて保存します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.local.lms</string>

  <key>ProgramArguments</key>
  <array>
    <string>/Users/${USER}/scripts/start_lms.sh</string>
  </array>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardOutPath</key>
  <string>/Users/${USER}/scripts/lms_stdout.log</string>

  <key>StandardErrorPath</key>
  <string>/Users/${USER}/scripts/lms_stderr.log</string>
</dict>
</plist>

Macを再起動して、LM Studioが自動で起動することを確認します。

~/scripts/lms.logに実行ログが出力されるので、そちらで確認できます。

[2025-07-11 01:48:35] echo ===== LMS startup initiated =====
===== LMS startup initiated =====
[2025-07-11 01:48:35] /Users/server/.lmstudio/bin/lms server start
Starting server...
Success! Server is now running on port 1234
[2025-07-11 01:48:46] /Users/server/.lmstudio/bin/lms load --gpu=max google/gemma-3-27b
[2025-07-11 01:48:46] echo ===== LMS startup completed =====
===== LMS startup completed =====

まとめ

LM Studioを使うためのメモをまとめました。

「この記事のおかげでやりたかったことができた」という方がいらっしゃれば、Xで教えていただけると嬉しいです。