【初心者向け】LMStudio+Clineで無料でAIにコードを書かせよう
やろうと思ったきっかけ
皆さんは業務の中でこういう仕事がシステムに置き換わったら楽だよな~と思ったことはありませんか?
一昔前は、ノーコード系のアプリが流行っていたと思いますが、中小企業がこういったツールを使いこなすのは非常に難しいと感じております。
昨今のRPAもシナリオをAIが書くようになってきた?らしいですが、結局は多種多様なビジネス環境で汎用的に使えるRPAツールは無いのかなと思っております。
(細かい所を書こうとすると結局コードを書くことになるので。)
特に日本の経営者の方は、
「自社にあった最強のツールがあればなぁ~でも金額もするしなぁ・・・」
と言った悩みが常にあると思います。
米国はシステムに業務を併せますが、日本は業務にシステムを併せるのでね。
RPAを使って社内システムを構築するより、自分で書いた方が良くない?と思いますが、著者は元エンジニアですが、最近のシステム開発について行けないよぉ・・・。
そこで!コード自体をAIに書かせて、動作チェックをする方が社内にあったシステムが作れるだろうなと考え、AIにも課金せずにやろうとした結果、こういった構成を取ってやってみようかと思い試験的に試してみました。
最大のメリット
ローカル環境で動かす為、社内情報を入れてもセキュリティ的に問題ないというのが最大の利点です。
パソコン環境について
最低限文化的なグラフィックボードを積んでいることが前提です。
(下部の専用GPUが大きければ大きい方が良いです)
タスクマネージャー等で確認できますが、普通の業務用パソコンにはまず搭載されていません。
ですので、グラフィックボードなんて無いよぉ~という方は諦めて課金しましょう。
正直課金した方が手っ取り早いし、性能が良いとか言わない
ゲーミング用のPCがあれば十分に動作します。古すぎる物では処理が遅いですが、Geforce1060でも動くことは確認できています。
著者の環境は以下の通りです。
- CPU Intel Core i9-13900KF
- メモリ 32GB
- GPU NVIDIA Geforce RTX 4070Ti
- OS Windows11
LM Studioの導入
LMStudioは色々なAIモデルをローカル環境で試せて、ChatGPTみたいな会話もできるし、APIを返すサーバーみたいにして、APIで利用する事が可能な神ツールです。
LMStudioの起動
インストールしたての場合は、今の環境におすすめのLLM(大規模言語モデル)を出してくれたりします。基本無視で大丈夫です。
画面上部右側の虫眼鏡アイコンをクリックすると検索画面が出てきます。
自分が動かしてみたいなーと思うLLMを検索したりして良さそうなものを選びましょう。
(本日出たばっかりのOpenAI社のモデルもあります)
ダウンロードする際に完全なGPUがオフロード可能と、部分的なGPUオフロードが可能と、おそらくこのマシンには大きすぎますの表記が出ると思います。
GPUの性能によって使えるモデルに制約がありますので、確認してください。完全なGPUオフロード可能なモデルを選んだ方が良いです。部分的でもチャット程度なら許容できるスピード感ですが、コーディングになるとめちゃくちゃ遅いです。
Gemma3 4Bは比較的に軽いので、こちらを使ってみます。
対話してみる
左側のチャットマークを押すとチャット画面が出てきます。画面中央上部に読み込むモデルの選択があるので、Gemma3 4Bをロードして見ましょう。
コンテキスト長とは、LLMに情報を与える際に入力するトークン量です。Clineでコードを書く際に4096の設定だとエラーになるので、適当に20000位にして下さい。
筆者の環境では12000~13000程度使用しておりました。
GPUオフロードはどの位をGPUにロードするか?という物なので、右端いっぱいにして下さい。
後はデフォルトのままで大丈夫です。モデルをロードして見ましょう。
CreateNewChatを押すと、ChatGPTみたいな画面が出るので、対話して見ましょう。
筆者の環境だと、超爆速で回答が返ってきます。0.36秒で回答が返ってきました。
Clineで使える状態にする
左側のターミナルっぽいアイコンをクリックすると開発者モードになります。
画面上部から先ほどと同様にモデルのロードを行ってください。
ロードするとこういう形になります。初期設定だとロードしてもアクセスできない状態ですので、必ずStatusのトグルをRunnningにして下さい。
サーバー的に運用したい場合は、settingsの項目のローカルネットワークでサービングをオンにしましょう。APIのURLがローカルホストからIPアドレスになります。
VisualStudioCodeにClineを入れる
お使いのVSCodeの拡張機能からClineをインストールしましょう。
こんな感じの画面が出ると思うので、設定アイコンをクリックして設定しましょう。
APIProviderをLMStudioにして、UseCustombaseURLにLMStudioのURLを入れます。
これを入力すると、恐らくLMstudioでダウンロードしたモデルの一覧が出てくるので、現状動かしているモデルを選択してください。
今回はGemma3 4Bを使用します。
Languageを日本語にします。ただし日本語にしても日本語で回答が返ってきません。
気休め程度に。
Clineで指示して見よう
設定が終わったらAIにコードを書かせましょう。PlanモードとActモードがチャット下部にありますが、Actモードにして下さい。適当に指示を出します。
回答が返ってこないか不安になる方はLMStudioのログから、・・・をクリックし、詳細ログを表示するようにすると、実行過程が見えます。PromptProcessingが100になったら返答が返ってくるはずです。
実行結果が返ってきましたが、サンプルコードが表示されません。悲しいなぁ。
上手く行きません。AIは回答を返すのに嵌った場合は、やり直した方が無難です。
命令口調にしたらコードが出来ましたが、C言語のコンパイルをしようとしています。
基本的にコマンド実行する際やファイルを作る際、編集する際は確認コマンドが出てきます。
今回はファイルを作ってもらいたいので、命令しなおします。
ファイルを新規に作るという命令は上手く行きましたが、コードが美しく無いですね。
その後何度かAIと対話しましたが、駄目だったので指示しなおしました。
ちゃんと指示しないとAI君は動いてくれません。悲しいなぁ。
ファイルをSaveするとソースコードが保存されます。
本来であればコンパイルするんですが、今回は見送ります。
hello worldの内容を変更して見ます。
Diffが正しく行われています。このコードだと乱数のシード値が固定なので、指示します。
(includeが抜けてたのでアドバイスしてあげました。自分で書いた方が早い様な気もする・・・?)
といった形で、プログラムのコードを書いてくれます。
今回はC言語のサンプルコードを適当に書かせてみましたが、Dockerファイルやpython等のコーディングもある程度は行えます。
ロードするモデルによって性能は全く別物ですので、色々なLLMを試してみる事をお勧めします!
Discussion