5月病?いや、万年やる気無い(キリッ
5月が過ぎて、もう6月も2週目に突入しましたが、やる気が全くでてこない。
どうも、え~すけさんですよ。
クソ暑い中、会社に来てもチョロっとソースいじったり、テストしたりで、
マジでクソつまらない人生のムダ時間を過ごしている今日このごろ、
カチャカチャカチャ…ッターーーーン!! と、
如何にも仕事してます感 を出そうということで、
ローカル環境にチャットAI環境を作ってみてちょっと色々と会話してみる試みです。
導入してみた経緯
正直、Qiitaのネタ探…ゲフンゲフン
チャット・生成AIってChatGPTやCopilotだったりありますが、
1回ネットを経由してのやり取りだったり、赤の他人と一緒に使って学習させるようなもので、回数制限うぜーとかセキュリティ的にどうなん?有料ライセンスつけないと機密情報扱えなくね?など何かと色々と制約があったりで自由に使ってる気がしないため、
じゃあローカル内で完結できないものかと調べていたら見つけちゃったわけですよ。
今回ローカルでAI Modelを動かすためにollama(github)っていうツールを使います。
公式サイトに各OSのインストーラーがあり、それを入れればローカルの環境構築などは終わるのですが、極力ローカルを汚したくないという思いが強かったのと、Docker Imageも公開されているということなので、そっちで環境作ろうとした次第です。
必要なもの(試した環境など
OS:Windows 11
Tools:
Docker Desktop
VSCode(拡張機能で Continue を入れてね
動くまでの手順
ツールのインストールは既に終わっているものと想定して書いていくよ!
Dockerのimageにollamaを追加する
DockerDesktopを開いて、画面上部の検索バーに【ollama】って入れて、
以下の画像のヤツをPullしてね!

とりあえず動かしてみる
コマンドプロンプトを立ち上げて以下のコマンドを実行
▼CPUのみで実行
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
▼GPU(公式にはないIntel系のGPU)も使う場合
docker run --device /dev/dxg -v ollama:/root/.ollama -p 11434:11434 --name ollamaGPU ollama/ollama
Docker Desktop上で起動していることを確認してね!

必要なModelをどんどん入れていくよ
上記画面のNameのところにあるollamaをクリックして詳細画面に入り、Execを開いてね
※画像は動作確認のためにollama listやらollama run gemma3とか実行してるけど、一旦開くところまでにしてね

開けたら、以下のコマンドを実行してね(念の為1行ずつコピって実行
ollama pull llama3.1:8b
ollama pull qwen2.5-coder:1.5b-base
ollama pull nomic-embed-text:latest
実行後はこんな感じ(successってでてればOK

VSCodeでContinueを開いて、起動しているollamaと連携をする
サイドバーにContinueのアイコンが出てると思うので、それをクリックしてチャットっぽい画面を起動し、以下画像の赤線の部分をクリックしてローカルで起動してるollamaを選択する

キャプチャ取り忘れたけど、接続先がlocalhost:11434とかになってて、何か色々とチェックがついていればそのままConnectだったかをクリックで使えるようになります(適当
こんな感じでチャットできるよ
PCの性能によってはメチャクチャ返事が遅いと感じるし、CPUとメモリがアホほど跳ね上がりPCがガンガン動いてる感じが味わえるため、仕事してる感が出るね!

※回答は残念な感じですが、とりあえずローカルで完結してるからヨシ!!
まとめ
ロゴが可愛いollama、名前の通りラマをモチーフにしてるとは思うのですが、耳を見ればピンと尖ってるのでラマかな?ってなりますが、首から下がふっくらモコモコなのでどうもアルパカ感が強く、ラマとアルパカのハイブリット生物なのかな?って言うのが個人的な感想(生物観察的な観点で
使用感については、とにかく重いように感じる。
VSCodeでnpm runしてIonicのアプリを起動してて、ブラウザもアホみたいにタブ開いてて、メーラーとかExcelとかも結構開いている状態での動作検証だったので、重くなるのは仕方のないことなのかなって気がしてましたが、回答に15~30秒ぐらいかかっているためもっと軽量なModelとかを使えばイケるのかな?って言う感じかなと。
社内だけで使うのであれば、結構いいスペックな社内サーバーにollamaインストールして各自そこにアクセスするような形を取れば、ある程度は早くなるのではないかなという予感。
そもそもそんないいスペックの社内サーバを用意できるのかというアレも有るけど、クラウドに移行しまくりな現在で、社内の負債になりつつ有るイントラサーバの新しい使い方となればということで今回はお終い!