ローカルLLMの構築を考えていたらOpen WebUIの勉強をすることになった
勉強も兼ねてローカルLLMの構築をしようと情報を集めてました。
Difyなどのツールを利用して、ローカルで動くエージェント構築を考えて始めたものの。
実際何をどうするか決めていなかったので、少し間延びしていました。
とりあえず、自分専用の生成AIとして構築を再開するために勉強を再開してみたところ。
Open WebUIのヤバさに気が付きました。
LM StudioとOllama
ローカルLLMで検索すると、LM StudioかOllamaが出てきます。
最初はアプリのように使えるLM Studioを導入してみたところ。
導入や構築は楽だったんですが、少し動作が気になりました。
まぁモデルによってリソースの使用量が違いますからね。
なので、こちらのQiita記事を参考に、Ollamaを導入してみることにしてみました。
ざっくりと、
①Dockerのインストール
②docker-compose.ymlの作成
③LLMのインストール
で動くようになります。
とりあえず、先に書いた通り使い道が定まってないので、初期モデルのgemmaで動かすことに。
Open WebUIの見た目は本当にChatGPTですね。
とっつきやすくて良いです。
そして、ローカルで動作していることに感動。
やり取りを続けると、少し動作が重くなった気がしますが。
まぁ何も設定いじってない状態なので、しょうがないかと。
・・・で、ここまでやってから放置の状態に。
やはり、ブラウザベースのChatGPTやGemini、Copilotの方が慣れているのと。
現状だとWEB検索もできるというのは、少し差になりますねぇ。
NotobookLMもソースが確定している時に使うのには良いですが。
頭の中が曖昧な状態だと使いづらい。
ローカルLLMでもとりあえずWEB検索できるようにしようかなと。
Open WebUIの機能を調べてみることにしたのでした。
Open WebUIは凄かった
Open WebUIの名前はAI関連の情報を探していると、たびたび目にするので。
WEB検索の機能を実装する方法もすぐに見つかりますがー。
自分好みに近づけようと、システムプロンプトの設定方法を学び直したりと。
手を広げてしまったわけですが。
そのうち、Open WebUI自体が気になってきました。
自分の中でのざっくりとした理解で、Open WebUIはチャットベースのGUIというイメージだけだったので。
もう少し詳しく知ってみようかなぁと。
と、Open WebUIのドキュメントを読み始めたんですが。
いろんなことが出来すぎて、少し引きましたw
・チャット形式のインターフェース
・多様なLLMの利用
・OpenAIなどクラウドAIも利用できる
・RAGでドキュメントを追加できる
・WEB検索機能
・画像生成
・ユーザー管理
・Pythonライブラリの統合
テキスト生成AIとしてのアプリを、このまま構築できる仕組みが整っていました。
ローカルLLMを試したりするだけというイメージでいた自分が恥ずかしいくらいです。
個人的に気になっているもの
立ち上げた時に、なんでユーザーデータを登録するのか疑問ではあったんですが。
チームや組織のイントラ向けにローカルAIを構築する場合、Open WebUIを使えばそのままユーザー管理もできると。
それらユーザー情報やチャットなど。
ローカルLLMで使用する情報を管理するために、SQLiteが導入されているのも驚きました。
ナレッジ・ベースに登録したファイルも、データベースで管理されるのかと。
普段からRDBを使っている身として、急に親近感が湧いた瞬間です。
パイプラインを使ったプラグインも気になりますねぇ。
カスタマイズして、自分仕様にもできますし。
チーム専用のAIツールとして構築するのも良いし。
WEBサービスに機能を盛り込んだり、自社専用のAIチャットボットにするとか。
色々と夢が広がりました。
これは使い倒してみるしか無いなと思ったわけです。
Open WebUIを通して見たローカルLLMの景色
興奮冷めやらぬという状態だったわけですが。
あくまでローカルLLMとしての構築を考えていたのが私です。
自分専用のLLMを構築すると考えた場合。
セキュリティの懸念を抜けば、やはり個人情報レベルまでRAGに登録したいところですかね。
そこまで行かなくても、自分の思想や考え方を盛り込んでファインチューニングしたモデルを使いたいなとか。
モデルのファインチューニングをしなくても、例えば作業計画や事業計画などをドキュメントをRAGにして。
余談や他作業を挟んだとしても、メインの話題にスッと戻れるようなAIにもなりそうだなと。
生成AIは同じ解答を繰り返さないようになっているみたいなので、これで何回か困ったことはゼロではありません。
そのような時に、自分と同じ目線で居続けてくれるようなものが欲しいなぁとか思っていたわけですが。
自分と同じ考え方を持つものを、デジタル上にAIで再現できる可能性があると。
Open WebUIのドキュメントを見ていて感じました。
ある意味では、ネットワークと独立した状態で構築し、必要に応じてWEBから情報を得るというようなこともできそうな感じです。
つまり、自分が脳で考えていることや思っていることが、ローカルLLMを通して間接的にインターネットに繋がるツールなのではないかと。
司令塔としての人間の自分を中心に、AIが単体でも複数でも、目的に対し自律的に情報収集をして持ってきてくれるような。
AIへ与えた権限の範囲によって、意思決定もしてきてくれるとか。
そんな世界が見えたような気がします。
組織やチームであれば、自動的に集合知につながりますし。
ローカルLLMの構築に、単なるプライベートAIの構築以上の物を感じてしまいました。
開発も進んでいるし
LM Studioでも似たようなことはできるのかもしれませんが。
オープンソースツールであるOpen WebUIの方が自由度が高いのかなと。
そして、ただ単にローカルでLLMを動かす以上の何かがあるんだろうなと。
そんなことを思わずにはいられません。
アップデートも高頻度で行われている印象ですし。
熱量冷めやらぬという感じです。
とはいえ、触り始めたOpen WebUIビギナーな私なので。
まずは「なぜOpen WebUIをつくったのか?」について書かれた、創設者のブログ記事の読み込みから入ろうと思います。
このブログや記事の内容について、疑問に思っている事はありますか?
もしあれば、どんなことでも構いませんので、コメントを残していただくか、問い合わせフォームよりご連絡ください。
はじめまして、「ぽんぞう@勉強中」です。
小企業に一人情報部員として働いている40代のおじさんです。IT技術での課題解決を仕事にしていますが、それだけでは解決できない問題にも直面。テクノロジーと心の両面から寄り添えるブログでありたいと、日々運営しています。詳しくはプロフィールページへ!