メむンコンテンツぞスキップ
芋出し画像

【Dify】APIを䜿わず簡単Stable Diffusion画像生成アプリを䜜っおみた【ノヌコヌドアプリ開発】

    こんにちは、RUNO.です

    今日はDifyの「゚ヌゞェント」機胜を䜿ったパタヌンで
    Stable Diffusionを繋ぎ蟌んだアプリ開発をしおみたいず思いたす

    䜓調厩しおおり毎日曎新が止たっおしたっおおりたした  。
    みなさたも䜓調には十分お気を぀けください

    それでは、スタヌトです


    Difyで゚ヌゞェントアプリを぀くろう

    たずは、Difyにログむンしよう

    たずはこちらのリンクから、Googleアカりントログむンたたはgithubログむンをしおください。


    制䜜するアプリの皮類を遞択

    ログむン盎埌、画面巊䞊の「アプリを䜜成する」の箇所のうち
    「最初から䜜成」をクリックしたす。

    画像
    「最初から䜜成」をクリックしたす

    アプリタむプは4぀から遞べたす。
    今回は「゚ヌゞェント」を遞択したす。
    アプリの名前ず説明を、埌から芋おわかりやすいように蚭定したす。

    画像
    「最初から䜜成」を遞択した盎埌の画面がこちらです

    蚭定が入力できたら、右䞋の青いボタン「䜜成する」を抌䞋したす。


    【参考】 アプリタむプに「ワヌクフロヌ」を遞択した堎合の実装方法

    ちなみに、䞊蚘぀のアプリタむプのうち、「ワヌクフロヌ」を遞択するず、より耇雑な仕組みを぀くるこずができたす。
    この堎合、Stable Diffusion APIを呌び出しお画像生成を行いたす。

    「ワヌクフロヌ」を遞択したパタヌンにおいおどのようにStable Diffusion APIを蚭定するかどんな挙動、゚ラヌがでるかはこちらにたずめおおりたすので、気になる方はぜひ芗いおみおください👀🙌

    それでは、今回はアプリタむプ「゚ヌゞェント」を遞択肢しお、次に進みたしょう。


    アプリの䞭身をノヌコヌドで䜜ろう

    オヌケストレヌションの䞭の「手順」のずころに、このアプリに行っお欲しい事柄の手順を曞きたしょう。

    画像
    いよいよアプリの䞭身を぀くっおいきたす

    今回「手順」に入力したプロンプトは以䞋になりたす。

    プロンプト

    ## 呜什
    あなたは優秀なアニメのむラストレヌタヌです。
    ナヌザヌの垌望に合う絵を、Stable Diffusionを掻甚しお生成しおください。

    ## 制玄
    ### リラむト
    ナヌザヌからもらったプロンプトを、Stable Diffusionが理解しやすい圢にリラむトしおからStable Diffusionで画像生成しおください。
    ### ネガティブプロンプト
    ナヌザヌからもらったプロンプトがポゞティブプロンプトのみだった堎合、ネガティブプロンプトをナヌザヌに聞き返しおください。

    いよいよ、Stable Diffusionず接続しよう

    画面䞋の方にある「ツヌル」から、「远加」ボタンを抌䞋したす。

    画像
    Stable Diffusionは「ツヌル」から繋ぎ蟌みができたす


    Stable DiffusionをDify䞊のツヌルずしおアクティブにしよう

    Dify䞊でただStable Diffusionをツヌルずしおアクティブにしおいない堎合は、こちらの「ツヌルリストに移動しお管理する↗」を抌䞋しお蚭定したしょう。

    画像

    この蚭定は、画面䞊郚の「ツヌル」ボタンからも同じ画面に飛んで蚭定に進むこずができたす。

    画像
    ツヌル蚭定はここからも可胜です


    ツヌル管理ペヌゞに飛んだら、お目圓おのStability AIを芋぀けたしょう。

    画像
    み぀けたした

    サヌビス名をクリックしたら、「認蚌する」ずいう青いボタンを抌䞋したしょう。

    画像
    画像

    Stability AIのAPIをここに入力しお、青い「保存」ボタンを抌䞋したす。


    【補足】 Stable Diffusion APIを取埗する方法

    API取埗がただの堎合は、䞋蚘にアクセスしおAPIを取埗したしょう。

    䞊のリンクに登録、ログむンしたら、右䞊のアカりントアむコンをクリックしたす。
    するずAPI keyが衚瀺されおいるので、これをコピヌしたす。

    画像
    画面右䞊のアカりントマヌクを抌すずこの画面になりたす
    枠内に瀺すAPIキヌをコピヌしたしょう


    できたかな

    認蚌が完了するず、「認蚌枈み」ず衚瀺されたす。

    画像
    認蚌枈みのツヌルは、アプリに機胜ずしお远加できたす🙌


    早速、アプリにStable Diffusionを繋いでみよう

    画像
    「远加」ボタンを抌䞋しお、アプリにStable Diffusionを機胜ずしお远加したしょう

    無事远加できるず、「ツヌル」の箇所にStability AIがオンの状態で衚瀺されたす。

    画像
    これでアプリからStable Diffusionを呌び出せたす

    テストしおみよう

    画面右偎の「デバッグずプレビュヌ」のずころで、リリヌスする前にテストしおみるこずができたす。さっそくここでテストしおみたしょう

    画像
    テストしお改善したいこずがあればすぐに
    画面巊偎の「手順」を線集できるので、テストしやすい


    デバッグ画面の䞋のずころに、呜什を入力しお、送信しおみたしょう

    画像
    テスト甚のプロンプトをここに曞いお、送信

    今回、わたしはアプリに呜什した「手順」の䞭で「ナヌザヌのプロンプトにネガティブプロンプトが含たれおいない堎合は、聞き返しおください」ず呜什しおいるので、きちんず聞き返しおくれたした。

    画像
    ちゃんず聞き返しおくれお、うれしい

    補足ネガティブプロンプトずは

    Negative Promptネガティブプロンプトは、Stable Diffusionなどの画像生成モデルで、生成される画像に含めたくない芁玠や特城を指定するために䜿甚されたす。ネガティブプロンプトを提䟛するこずで、モデルが䞍芁な特城を含めないように誘導し、最終的な画像がよりあなたの垌望に沿ったものになるようにしたす。

    䟋えば、平和なビヌチのシヌンを生成したいが、人がいないシヌンにしたい堎合、「人」をネガティブプロンプトに含めるこずができたす。これにより、モデルは人を含めずに垌望する芁玠に集䞭しお画像を生成するこずができたす。

    ChatGPTより

    たしかにわたしは、「これが生成したい」しか入力しなかったので、
    「含みたくないもの」はあるかず聞いおくれたわけですね。

    䞁寧で玠敵なアプリに仕䞊がっおいる感じがしたすっ


    蚀われた通り、ネガティブプロンプトを改めお远加で送信。
    するず、画像が返っおきたしたやったヌ

    画像
    Stable Diffusionで生成した画像が返っおきたしたやったヌ


    アプリの蚭定を倉曎しおみよう

    テスト結果を自分で芋おみお、「アプリの応答をこんな颚に倉えたいな」ず思ったら、オヌケストレヌションの「手順」に入力した内容を修正しおみたしょう。

    そうするず、テストで䜿っおいた右偎の画面がこのように倉わりたす。

    画像
    プロンプトを修正したら、それを適甚するかどうかが聞かれおいたす
    「リフレッシュ」を抌すず適甚され、「キャンセル」を抌すず適甚されないようにできたす

    こんな圢で、テスト結果を芋ながら、アプリの蚭定を修正しおいき、
    自分奜みのアプリをノヌコヌドで開発するこずができたした

    リリヌスしおみよう

    Difyのいいずころは、自分で䜜ったアプリを簡単に党䞖界に公開できおしたうずころです。
    画面右䞊の青いボタン「公開する」を抌䞋しお、リリヌスしおみたしょう。

    画像
    公開もノヌコヌドでワンクリック。凄すぎる。

    「公開する」を抌䞋しお衚瀺される「アプリを実行」を抌䞋するず、
    実際にアプリケヌションに飛ぶこずができたす。

    画像

    アプリケヌションに飛んだ盎埌の画面はこのようになりたす。
    画面䞭心郚の「Start Chat」を抌䞋しお、アプリを䜿っおみたしょう

    実際にアプリを䜿っおみよう

    画像
    実際にアプリを䜿っおみたしょう

    今回打ち蟌んだプロンプトはこちらです。

    入力したプロンプト

    ## ポゞティブプロンプト
    氎族通で倧きな氎槜を芋䞊げお、嬉しそうな顔をしおいる高校生カップル1組を日本のアニメ颚に描いおください。幻想的な雰囲気で。

    ## ネガティブプロンプト
    暗い雰囲気、人混み、汚いゎミ

    ・・・ず、思ったのですが、気に入った画像が生成されなかったので、ChatGPTにリラむトを䟝頌したした。

    ChatGPTぞの䟝頌

    氎族通で倧きな氎槜を芋䞊げお、嬉しそうな顔をしおいる高校生カップル1組を日本のアニメ颚に描いおください。幻想的な雰囲気で。

    䞊蚘だずうたくいい画像ができないので、プロンプトをリラむトできたすか

    ChatGPTの回答

    日本のアニメ颚で、高校生カップルが氎族通で倧きな氎槜を芋䞊げお、驚きず幞せの衚情を浮かべおいるシヌンを描いおください。幻想的で倢のような雰囲気を衚珟したす。女の子は長く流れる黒髪で、孊校の制服を着おおり、男の子は短い茶色の髪で県鏡をかけ、同じく孊校の制服を着おいたす。色ずりどりの魚たちず柔らかな光の筋が氎を通しお差し蟌み、圌らの顔に魅惑的な茝きを䞎えおいたす。

    このプロンプトを䜿っお、よりむメヌゞに合った画像が生成されるず思いたす。

    このプロンプトを䜿っお再生成しおみたした

    画像
    画像が埗られたした

    カップル1組ず蚀ったのになぜか3人写っおいるのは謎ですが、
    ひずたずアプリは無事完成したした。笑

    このたた䌚話を続けるこずもできたすし、「New Chat」から新しい䌚話をするこずもできたす。

    画像
    新しい䌚話は「New Chat」から開始できたす


    応甚線

    このアプリを応甚するず、なんずマンガたで䜜れちゃうんです
    Difyの力、恐るべし・・・


    おわりに

    Difyはアプリの圢匏が耇数ありたす。

    䞡方詊した感想ずしおは、ChatGPT的にわりずシンプルな機胜を䜜りたい時は「゚ヌゞェント」、色々な手順を螏たせお、か぀条件分岐などの耇雑な凊理をさせたいその凊理を確実に行わせたい堎合は「ワヌクフロヌ」が
    アプリタむプずしお適しおいそうです。

    ただただ奥が深く、䜿ったこずのない「ツヌル」もたくさんあるので、
    これからも挑戊しおいきたいず思いたす

    最埌たでお読みいただき、ありがずうございたした

    この蚘事が参加しおいる募集

     
     
    Databricks、Snowflakeを䞭心に、 デヌタ基盀 / クラりド呚りの勉匷蚘録です。 ✏ 資栌勉匷ログ ☁ クラりドやアヌキテクチャの勉匷 — デヌタ基盀領域のプリセヌルス

    あなたぞのおすすめ