Stable Diffusion WebUIをDifyで動かす。
Difyのローカル環境を構築して、何種類かお試ししたので、今度は、
Stable Diffusion WebUIをDifyで動かしてみようと思う。
頑張った結果の忘備録みたいなものだけど、役に立ててもらえたらうれしい。
結論から言うと、資料の通りにやってもStable Diffusion WebUIが動かなかったんだよね。
↓資料をChatGPTに翻訳してもらったやつ。
で、設定しても動かない……。
エラーの内容は、
Failed to get models, [Errno 111] Connection refused
これもChatGPTさんに聞いたら
ということで、原因追及しようかなと。
どれかでも動けばめっけもんだしねw
ということで、
まず、
環境その1:ローカル環境
資料そのままのやり方で、ダウンロードしたローカル環境。
とりあえず、もともとローカル実装してたやつを使うことにした。
頑張っていろいろやってみたけどダメ。
まず、
cd stable-diffusion-webui
./webui.bat --api --listen
で動かした環境を、ブラウザで起動しても、indexエラーが出て、使うことすらできない。
それでもDifyだったら行くかなーとか思ってやってみたけど、ダメでした。
環境その2:Docker使用のローカル環境
上がダメなら、同じDocker使えばどうにかなるんじゃね?っていう安易な発想から、DockerにStable Diffusion WebUIを導入。
環境構築は、こちらの記事を参照したよ
これが動けばいいんだけど…他となるとPCにLinux突っ込むとかしか思い浮かばないけど、Linux使えない(私が)
で、初期状態で登録して動かそうにも上と同じで、エラーがでてしまう。
で記事をさがしてたらこれ↓見つけた。
いやー、いろいろ試すの大変だったけど、結果から言うと、アドレスがlocalhostじゃだめだったって話だった。
英語を翻訳したのを解読するの難しいわ……。
なので、IPアドレスを確認するよ。
コマンドプロンプト(パワーシェルも可能)に
arp -a
って入力し、同じネットワーク上のPCやデバイスのIPアドレスとMACアドレスを表示する。
こんな感じで、出力されてくるので、これのたぶんDocker側のアドレスが「172.20.32.1」の方がDocker側なのかな、たぶん……
で、一番上の「172.20.36.69」がStable Diffusion WebUIのアドレスだったので、これを、「http://localhost:7860/」の、localhostのところと変更。
「http://172.20.36.69:7860/」で接続したら、Stable Diffusion WebUIが起動した。
ただこれ動的なIPになってるので、Dockerを再起動したりでIPアドレス変わったら、いちいち変更しないとダメなんだよね、たぶん。
まぁとりあえず起動まで行きついたってことで。
ここまでやれてれば、あとは、固定方法探すなり、毎回起動時に変更するなり(orz)すればいいし、覚書として。
環境その1:ローカル環境
さて、環境その2で原因が分かったので、では、もう一度チャレンジ。
cd stable-diffusion-webui
./webui.bat --api --listen
で動かしたところ、「Running on local URL: http://0.0.0.0:7860」っていう記載を発見。
でも、これで動かしても、エラーが出てしまう。
でChatGPTに聞いたら、
http://localhost:7860
ってことだったので、「http://localhost:7860」で立ち上げたら、うまくStable Diffusion WebUIが立ち上がった!!
でも、「http://localhost:7860」だとDefyでは、エラー111になった。
ということで、localhostのIPアドレス探します。
Windowsの場合
コマンドプロンプトを開きます(cmd を検索して実行)。
ipconfig コマンドを入力して実行します。
出力結果の中で、使用しているネットワークアダプタを見つけます(通常「Ethernet adapter」や「Wireless LAN adapter Wi-Fi」と表示されます)。
IPv4 Address がそのアダプタのローカルIPアドレスです。
macOSの場合
ターミナルを開きます(Spotlight検索で「Terminal」と入力して起動)。
ifconfig コマンドを入力して実行します。
出力結果の中から、使用しているネットワークインターフェースを探します(通常は en0 や en1)。
inet の後に記載されているのがローカルIPアドレスです。
Linuxの場合
ターミナルを開きます。
ifconfig コマンドを入力して実行します(インストールされていない場合は sudo apt install net-tools でインストール可能)。
使用しているネットワークインターフェースの inet アドレスを探します。
で、出たのがこれ。(Windows環境です。)
なので、「http://localhost:7860」を「http://192.168.0.8:7860」に変更。
すると、
通った!!
しかし、
ってことで画像生成ができない……。
Docker環境ならこれでできたのに……。
まだまだ原因の究明は続くのかorz
因みに、DockerでもChatflowにするとなぜか画像が出てこないという……
エージェントだと出てくるのに……
まぁ、この辺りはノードの組み方とかもあるのかもしれないので、一概に言えないんだけど。
さらに、Stability Matrixも追加したよ!!もうとことんまでしっかり動くようにするために頑張る
この記事が気に入ったらサポートをしてみませんか?