【ITニュース解説】Set Up Your Own Personal AI Frankenstack: Summarized Version
2025年09月04日に「Dev.to」が公開したITニュース「Set Up Your Own Personal AI Frankenstack: Summarized Version」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
ローカル環境で動くAI開発環境「Frankenstack」の構築手順を紹介。LLM(LM Studio)、画像生成(Stable Diffusion/A1111)、音声合成(Chatterbox)、Web検索(SearXNG)を統合。OpenWebUIで一元管理し、GPU割り当てや依存関係に注意。Cloudflareで外部からのアクセスも可能。環境構築は試行錯誤が必要だが、成功すれば強力なAI開発基盤となる。
ITニュース解説
この記事は、個人でAI環境を構築するための情報を提供するものだ。ここでは「Frankenstack」と名付けられたAIスタックの構成要素と、それぞれのソフトウェアに関する注意点を紹介する。
まず、Frankenstackは以下の要素で構成される。大規模言語モデル(LLM)ソフトウェア、Stable Diffusion(画像生成)、テキスト読み上げ(TTS)、LLMのためのWeb検索機能、そしてこれらを統合するフロントエンドだ。
筆者の環境は、Nvidia GTX 1070 8GB(ラップトップGPU)、Nvidia RTX 3060 12GB(外部GPUドック)、Intel i7プロセッサ、32GB RAM、NVMeドライブで、スタック全体で約120GBのストレージを使用している。
LLMソフトウェアとしては、LM Studioが推奨されている。LM Studioは、詳細な設定、高速化のためのKVキャッシュのオフロード、複数のモデルの同時実行といった機能を提供する。モデルはHugging Faceから簡単にダウンロードできる。Ollamaなどの代替手段もあるが、まずはLM Studioを試すことが推奨されている。
使用モデルの例として、推論に優れたGPT-OSS 20B、創造的な文章作成に適したMythalion 13B、複雑なスクリプトに特化したDeepseek-Coder (R1) が挙げられている。ビジョンモデルについては、VRAMの制限を考慮して小さめのモデルから試すのが良いだろう。
画像生成には、A1111が使用されている。A1111はGUIを備えており、LoRA学習、img2img、VAEサポートなどの機能を持つ。カバーアートやキャラクターコンセプトの作成に利用されている。ComfyUIという代替手段もあるが、ノードベースのインターフェースのため、この記事では使用されていない。
テキスト読み上げには、Chatterboxが推奨されている。ChatterboxはElevenLabsのローカル代替として機能し、高速な再生のためにストリーミングで音声を提供する。ResembleAI経由での音声クローンもサポートしている。他の選択肢(Tortoise、Coqui)も試されたが、Chatterboxが最も優れていると判断された。
Web検索には、メタサーチエンジンであるSearXNGが使用されている。SearXNGは、Google、DuckDuckGo、Braveなどの複数のエンジンを同時に検索できる。AIはSearXNGを通じて複数のソースから情報を収集する。プライバシー保護のため、Cloudflare WarpまたはTorの利用が推奨されている。
フロントエンドとしては、OpenWebUIが中心的な役割を果たす。OpenWebUIは、複数のモデル、知識ベース、ツールを構成し、LLMの応答を評価し、パイプラインを実行し、コードを管理する。TTSの自動再生オプションやオフラインモードも利用可能だ。カスタマイズも自由に行えるが、商用利用で50ユーザーを超える場合は有料プランが必要になる場合がある。
LM Studioではベースプロンプトを設定し、OpenWebUIの管理パネルで優先度の高いプロンプトを設定できる。ユーザーごとのプロンプトも重ねて設定可能だ。
Linux環境では、リソースの適切な割り当てのために、全てのコンポーネントを順番に起動するaistartエイリアスが作成されている。LM Studioはまだ最後のモデルを自動的にロードしないため、注意が必要だ。GPUの割り当てが自動的に反映されない場合があるため、NVIDIAの設定を確認する必要がある。
Dockerを使用しない理由として、Linuxでlocalhostアドレスの問題が発生すること、依存関係の追加がスタックを壊す可能性があることが挙げられている。Windowsではこの問題は発生しないかもしれない。
Webに接続するには、ドメインとCloudflareトンネルが必要だ。トンネルは、ローカルマシン上のOpenWebUIへのトラフィックを転送する。これにより、どこからでも(モバイルを含む)スタックにアクセスできるようになる。設定はChatGPTやドキュメントを参照することで簡単に行える。
最後に、このスタックは最初に完璧に動作するとは限らない。トラブルシューティングも楽しみの一部であり、試行錯誤と最適化が重要だ。