ローカルLLM構築:Stable diffusionを統合したい②
Open WebUIを触ってみている私です。
前回はOpen WebUI上で画像生成ができるようにしようと。
Docker上にStable diffusionを構築しましたー。
ついに本題のOpen WebUIとStable diffusionの統合を進めて行きます。
サクッと行くかと思いきやですがー。
「リファレンスはちゃんと読みましょう」
という当たり前の教訓を得ることができました。
その前に自動更新
その前に、Open WebUIは開発が進んでいるので、更新の頻度が高めです。
ローカルで使用しますし、問題なく動いていれば良いんですがー。
ずーっと更新の通知が出るので、なんとなく気になってしまいます。
なので、とりあえず更新をかけます。
今回のメインではないので、リファレンスの「クイックスタート」にある自動更新を走らせます。
docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock nickfedor/watchtower --run-once open-webui
最後の「open-webui」はコンテナ名に合わせて変更してください。とのことです。
監視が始まり、コンテナが再起動すれば、更新されています。
便利。
Open WebUIとStable diffusionの統合
更新したOpen WebUIをブラウザで起動して。
「管理者パネル」の「設定」タブを選択し、左サイドバーの「画像」を選択します。
「画像生成」と「画像プロンプト生成」をONにし。
「AUTOMATIC1111 ベース URL」行のURLを、Stable diffusionのローカルURLを入力します。
これで動く・・・かと思ったら。
[ERROR: HTTPConnectionPool(host='localhost', port=7860): Max retries exceeded with url: /sdapi/v1/sd-models (Caused by NewConnectionError("HTTPConnection(host='localhost', port=7860): Failed to establish a new connection: [Errno 111] Connection refused"))]
要するに、「接続できません」というエラーが。
Dockerはちゃんとしているけど私がポンコツだった
リファレンスを見ると、以下のコマンドでStable diffusionを起動するように書いてあります。
/webui.sh --api --listen
APIでの接続のためなんですが、コンテナの起動しかして無いのでこれかな?と。
確認のため、以下のURLからAPIにアクセスしてみると。
http://localhost:7860/sdapi/v1/sd-models
・・・Stable diffusionのモデル情報が返ってきました。
前回のDocker上に構築したStable diffusionの中に、APIの起動も含まれていたようです。
便利。
と、思ったものの。
Open WebUIとは接続できていないは変わりません。
もったいぶってもしょうがないですね。
Dockerのコンテナ間の通信ができていないため、「Connection Refused」となっていたようです。
なので、Open WebUIのURLを以下に変更します。
http://host.docker.internal:7860/
これ。リファレンスの最後の方に「同じホスト上で Open WebUI と AUTOMATIC1111 の Docker インストールを実行している場合」使用すると、書いてありました。
完全な見落としです。
上記のURLか、コンテナ名のURLでも大丈夫だそうです。
URLを変更して、入力フォームの横にあるリフレッシュボタンを押すと。
無事接続できました。
自分がStable diffusionを動かしているコンテナが、「auto-cpu」なので。
「https://auto-cpu:7860/」としています。
リファレンスは最後まで読みましょう。
チャットで画像生成できるか確認
ということで、実際に画像の生成を依頼してみます。
特に生成して欲しいものものないので。
チャットの「integrations」から画像をONにして。
できるかどうかを訪ねたら考え始めました。
すぐに出てくるとは思っていないので、ログでStable diffusionが動いてるか確認してみると。
ちゃんと動いてるみたいですね。
とはいえ。
前回のStable diffusionインストール後に試しに生成した時にも思ったんですがー。
Dockerからだと、直接インストールよりも画像生成に時間がかかりますね。
アンインストールしない方が良かったかもしれません。
気長に待っていたら、無事生成されました。
モノクロの、山と空みたいです。
最初は何を生成したのか良く分かりませんでしたがー。
まぁ、特に何も調整していないので、こんなもんですね。
Stable diffusionをはじめて触った時に、考えていたものと違う和風ホラー画像が生成されて驚いたのを思い出しました。
そちらの調整もしていかないとですねぇ。
とりあえず統合できました
やりたかったことの一つを無事達成できました。
Stable diffusion単体で使っていたときは、コマンドラインから起動するのが面倒だったので。
これでとりあえずは解消されそうです。
ただ、ローカルにそのまま構築する方が、画像生成AI動作は快適っぽいですね。
リファレンスの内容も、基本的にはローカルに構築されているものをそのまま連携させて利用するような説明ですし。
導入する時にもう少し色々と考えたてからの方が賢いですねw
このブログや記事の内容について、疑問に思っている事はありますか?
もしあれば、どんなことでも構いませんので、コメントを残していただくか、問い合わせフォームよりご連絡ください。
はじめまして、「ぽんぞう@勉強中」です。
小企業に一人情報部員として働いている40代のおじさんです。IT技術での課題解決を仕事にしていますが、それだけでは解決できない問題にも直面。テクノロジーと心の両面から寄り添えるブログでありたいと、日々運営しています。詳しくはプロフィールページへ!