【Excel VBA&AI】ローカルLLM(LM Studio)をMacに導入!VBAコード自動チェック(RAG)への第一歩
Excel VBAで開発をしていると、「コーディングのルール(例えば数値変数はLongやDoubleを使う、エラーハンドリングを必ず入れるなど)が、複数人で開発しているうちにバラバラになってしまう……」という悩みに直面したことはないでしょうか。
将来的に、こうしたVBAのコーディングルール違反を自動でチェックしてくれる「ローカルRAG(検索拡張生成)システム」を作りたい!と考えた筆者は、社外にコードを漏らさず完全オフラインで動かせるローカルLLM環境を構築することにしました。
この記事では、その第一歩として、Mac(Apple Silicon)環境にローカルLLM実行アプリ「LM Studio」を導入し、最適なモデルをセットアップする手順を実際の体験ベースで解説します。
1. なぜローカルLLM(LM Studio)を選ぶのか?
業務で扱うVBAコードや社内独自のコーディングルールは、セキュリティの観点から外部のクラウドAIにそのまま送信するわけにはいきません。そこで注目したのが、手元のPC内で安全にAIを動かせるツール「LM Studio」です。
- 完全オフライン・安全:外部サーバーへデータを送信しないため、機密性の高いコードやルールも安心して扱えます。
- Apple Siliconへの最適化:MacのユニファイドメモリやGPUを活用し、Mシリーズ Mac上で非常に高速な推論が可能です。
- APIサーバー化が容易:ワンクリックで「OpenAI互換のAPIエンドポイント」を起動できるため、将来的にPythonと連携したRAGシステムに組み込みやすいのが最大のメリットです。
2. Macへのインストール手順
まずはLM StudioをMacにインストールします。対応OS(macOS 11.0以降のApple Silicon搭載機)を確認の上、以下のステップを進めます。
- 手順1: ダウンロード
公式サイト(lmstudio.ai)にアクセスし、「Download Mac (Apple Silicon / M-series)」をクリックして.dmgインストーラーを入手します。 - 手順2: アプリケーションの配置
ダウンロードしたファイルを開き、LM StudioアイコンをApplications(アプリケーション)フォルダへドラッグ&ドロップして起動します。(※セキュリティ警告が出た場合は右クリックして「開く」を選択)
3. 最適なモデルの選定とセットアップ
プログラムのコード解釈や日本語の指示出しに非常に強いオープンソースモデル**「Qwen2.5-7B-Instruct-1M」**をダウンロードしてセットアップします。
- モデルの検索とダウンロード
アプリ起動後、左側メニュー等の検索画面からQwen2.5-7B-Instruct-1Mを検索し、ファイル一覧の中からqwen2.5-7b-instruct-1m-q4_0(またはQ4_K_Mなどの量子化バージョン)を選んで「Download」を押します。 - モデルのロードと動作テスト
ダウンロード完了後、モデルを選択して読み込ませ、チャット画面で動作テストを行います。
実際にチャットで質問テストを行った際のやり取りがこちらです。
【実際のチャットテスト例】
あなたのモデルの名前はなんですか
[出力]
私はLM Studio Bionicのエージェントです。私のモデルの名称としては「Bionic」または「LM Studio Bionic 内のエージェント」と呼ばれます。
ここで「あれ、Qwenって答えないな?」と少し驚くかもしれませんが、これはチャット画面上でアプリ側が裏で「あなたはLM Studio内で動くアシスタントです…」というシステムプロンプトを自動付加している仕様のためです。今後PythonからAPI経由で直接叩く際は、この挙動は消えてQwen本来の賢い応答になります。
また、ロード直後や最初の1回目は、メモリ展開やウォームアップ(最初の1文字が出るまでの待機時間)の計算が入るため、数秒〜十数秒ほど時間がかかる点も覚えておくと慌てずに済みます(2回目以降はスムーズに高速出力されます)。
4. まとめ
- VBAのコーディングルールチェック用RAGを見据え、安全かつ強力なローカルLLM環境(LM Studio + Qwen2.5-7B)をMac上に構築した。
- アプリの「Discover」から
Qwen2.5-7B-Instruct-1M(qwen2.5-7b-instruct-1m-q4_0)をダウンロードしてロードするだけで、手元にAI環境が整う。 - チャット画面特有のシステムプロンプトや初回ロード時の挙動にさえ慣れてしまえば、次はPythonと連携させたAPI自動化へスムーズに進むことができる。
次回は、このローカルLLMサーバーに対してPythonからリクエストを送り、VBAのルールチェックを自動化する実験(RAGの土台作り)に挑戦します。お楽しみに!