![見出し画像](https://assets.st-note.com/production/uploads/images/141396825/rectangle_large_type_2_7052e32930d69413f2719289fbec8816.png?width=800)
Dify ~AIアプリ作りで遊ぼう
はじめに
DifyはオープンソースのLLMアプリ開発プラットフォームです
ノーコード・ローコードでAIアプリが作れる!
と話題になっている(?)Difyで遊んでみたいと思います
なお、すでに環境構築されているクラウド版と、
ローカルに環境を作る版があるのですがそっちのほうがNoteネタになりそうですしこのNoteではローカル版を扱おうかと思います
![](https://assets.st-note.com/img/1716301751874-rkCQBbmLtV.png?width=800)
ってことで省略
環境設定方法とかデータ取得とかはDifyのGitHubを参考にします
環境作り
Dockerのインストール
Dify GitHubのガイドに従って、
まずは環境作りに必要な要件とか確認します
![](https://assets.st-note.com/img/1716302438506-CS6ilUsA5Q.png?width=800)
えるさんPCはわりとぽんこつなので
案外危なかったです。。
環境設定としては手始めに上記の「Docker」のリンクより
Dockerをインストールしていきます
Dockerというのは、、
![](https://assets.st-note.com/img/1716302608546-wz6cV2wZNM.png?width=800)
…よくわかりませんが、ヨシ!!
確かあれです、環境設定するためのハコみたいな、、
こう、、なんというか…?
まあとりあえずDockerのリンク先へ飛ぶと以下の感じになります
![](https://assets.st-note.com/img/1716302778380-ISBHU9hD6J.png?width=800)
えるさんPCはWindowsなので Docker Desktop for Windowsをぽち
![](https://assets.st-note.com/img/1716302864721-xxQ3nhHis9.png?width=800)
するとインストール用のファイルがダウンロードできるので
インストールしていきます
インストールは省略しつつ、、
![](https://assets.st-note.com/img/1716302935809-LVugL5B03S.png)
インストールしたDockerを起動すると以下のようなものが立ち上がります
![](https://assets.st-note.com/img/1716303283684-DIwZUjWDdd.png)
上記のContainersにいくと、たとえば以下の感じになります
![](https://assets.st-note.com/img/1716303349209-bvzSWSJeTD.png?width=800)
えるさん環境はDify立ち上げ済みでNoteを作ってるのですでに何かありますが、
インストール直後だと特に何も無いはずで
Dockerを起動しDifyも入れると上記の具合になるはずです、たぶん。。
続いてDifyダウンロードに移ります
Difyのダウンロード
Difyのダウンロードは公式のGitHubより実施します
コマンドラインに慣れ親しんでいるかたはgit cloneが早いんでしょうか
あるいは、以下の感じでzipのダウンロードを実施します
![](https://assets.st-note.com/img/1716672183978-GKdIZ4X8Nb.png?width=800)
ダウンロードしたzipを展開すると、以下のファイルやフォルダ構成になっているはずです
![](https://assets.st-note.com/img/1716672751903-s4oUcSos47.png)
Docker compose
続いてDifyの環境設定? に入ります
基本的には公式のGitHub記載の通りです
![](https://assets.st-note.com/img/1716672943620-8KRc3qiLPl.png?width=800)
ただ、えるさんは最初「cd docker??どこに移動??」ってなっておりました。。
私だけなんだろうか、、私だけかも?
結果としては、ダウンロードして展開したフォルダ内にdockerがあるので、
そこに移動して環境構築していきます
![](https://assets.st-note.com/img/1716673117786-924Aq2xkTj.png)
WindowsだとPowershellになるんでしょうか、
えるさんPC環境だと右クリックでターミナル開けるんですが、
これは環境によるのかな?
![](https://assets.st-note.com/img/1716673233494-MGqUyzm8Rn.png)
ターミナル開いたらdocker composeでいろいろ出てきて、、
環境設定ができます(多分きっと)
![](https://assets.st-note.com/img/1716673301905-aJtOFCsl7g.png)
完了すると、Difyが起動できるようになります
Dify起動!
初期化
初回起動時のみ初期化が入ります
これも環境設定なのかなあ
公式のGitHubで以下記載の箇所です
![](https://assets.st-note.com/img/1716673457413-4MdNVTd6CM.png?width=800)
上記の通り、Webブラウザで localhost/install にアクセスすると
初期化のプロセスが走ります
初期化後は、localhost にアクセスでDifyのログイン画面になり、
![](https://assets.st-note.com/img/1716673641267-cix1g539Nm.png?width=800)
ログイン後は以下のような画面になるかと思います
![](https://assets.st-note.com/img/1716673756734-fCW8tDveNz.png)
使用するAPIの設定
Dify上でLLMなどを動かすには、各種(例えばOpenAIの)APIが必要です
まずはAPIを設定していきます
右上のアカウント名クリック→設定 へ
![](https://assets.st-note.com/img/1716673951373-W5SEbJPXWV.png)
モデルプロバイダー より各種APIを設定します
![](https://assets.st-note.com/img/1716674240356-EGXdwl4vjx.png?width=800)
上記は設定後ですが、各種モデルの セットアップ をぽちーすると
以下のようなAPIキー入力できるので、入力していきます
![](https://assets.st-note.com/img/1716674341922-gKyJ6ikyGx.png)
モデルプロバイダー の右上のほうにある
システムモデル設定 も確か必要なので設定しましょう
テンプレートから作成 で遊ぶ
設定がだいたい出来たはずなので、いよいよDifyで遊んでいきます✨
といっても最初は何もわからないので、テンプレートを動かしてみます
ということで、テンプレートから作成をぽちー
![](https://assets.st-note.com/img/1716674541582-naP9ERZe13.png)
テンプレートはいろいろありますが、ワークフローを触ってみたいので
ここではワークフローから選びます
![](https://assets.st-note.com/img/1716674632131-86uumy7zj0.png?width=800)
といっても最初だし簡単そうな、、
テキスト要約にしてみました
![](https://assets.st-note.com/img/1716674664279-x24CaZDAes.png)
全体像は以下の感じです
![](https://assets.st-note.com/img/1716674800218-9LbPUXHbUA.png?width=800)
入力として「要約したい内容」と「要約方法(2種類から)」を選択し、
要約方法によって、追加の知識を与える/与えないを決めて、要約、
結果を返すといったテンプレート?なのかな??👀?
お試し入力を与えてそのまま実行すると実行できました✨
![](https://assets.st-note.com/img/1716675034764-GBkpC52Ckr.png)
![](https://assets.st-note.com/img/1716675069737-kljwaK3o8B.png)
![](https://assets.st-note.com/img/1716675090457-REq7kIOObR.png)
ノードをクリックすると詳細を参照することができ、
そのまま編集したりすることもできます。
![](https://assets.st-note.com/img/1716675229560-sMMlOu2xWE.png?width=800)
ただし、上記は例えばgpt-3.5用(というかOpenAI用?)の設定になっているようで、
例えば他のモデルに差し替えても動きませんでした💦
![](https://assets.st-note.com/img/1716675403212-bcaWTQVbqH.png?width=800)
最初上記にハマっていたのですが、
OpenAIのパラメータ設定が残っている?っぽいんですかね??
command R+ 向けに新しくノードを作って接続しなおすと動作するようです
具体的には、
マウス右クリックで Add Block
![](https://assets.st-note.com/img/1716675547801-wkRbm3nDW0.png)
LLM のブロックを選択
![](https://assets.st-note.com/img/1716675578014-bDZ46HzzEy.png)
そして配置
![](https://assets.st-note.com/img/1716675623208-vW26h2NNR5.png?width=800)
新しく作ったLLMブロックを選択してモデル選択
![](https://assets.st-note.com/img/1716675721885-rhUWtXGKLd.png)
元のLLMブロックからSystemプロンプトをコピー
![](https://assets.st-note.com/img/1716675858201-reS0xHzh9p.png?width=800)
元のブロック接続と同じように繋ぎ変え
![](https://assets.st-note.com/img/1716675955991-FkLmJNq7xz.png?width=800)
繋ぎ変えたブロックの出力を受ける部分を差し替え
![](https://assets.st-note.com/img/1716676051719-EgZNvsISpP.png?width=800)
![](https://assets.st-note.com/img/1716676204160-6NvwYguDNV.png?width=800)
すると動作しました✨
![](https://assets.st-note.com/img/1716676276181-hGxkGdH1yI.png?width=800)
![](https://assets.st-note.com/img/1716676294597-GkEPGzrSpR.png)
不要ノードはノード選択からのDelで削除できます
ノードはほかにもいろいろと種類がありますが、
ノード追加→設定→繋ぎ変え といった流れは同じなのかなあと思っています
余談
それにしても、、モデル変更したパラメータ設定(動かないやつ)と
新しく作り直したパラメータ設定(動くやつ)って
どうみても同じ設定なんですよね、、
これは何気に同じ罠にハマっている人も多いのでは…?
私だけ…??
![](https://assets.st-note.com/img/1716676497039-6Bxhj8bNYv.png)
![](https://assets.st-note.com/img/1716676520547-Nt1JbwgFo8.png)
この記事が気に入ったらサポートをしてみませんか?