【初心者向け】Difyで簡単なワークフローを作成・公開してみよう

AI

はじめに

さて今回は、Difyで簡単なワークフローを作成してみます。

LLMメインで利用するようなフローとします。

細かい設定やブロック等については以前まとめた記事を見てください。

それでは作っていきましょ~

入力に対しLLMで回答を生成し出力するフロー

フローのゴール

今回のフローはすごくシンプルなものを作成してみます。

開始ブロックにユーザーが何かしら入力をすると、その入力がLLMブロックに渡され、回答を生成した後、終了ブロックで出力が生成されるというものです。

基本的にはブロックを用意し、それぞれ細かい設定をい行っていきます。1つ1つ丁寧に設定していくので順番に見ていきましょう。

フローの作成

1. 開始ブロックの設定

まずは開始ブロックの設定です。

開始ブロックを選択し、「入力フィールド」の「+」を押下しましょう。ここで入力変数を設定できます。

「入力フィールド」はご自身でやりたいことに合わせて適当なものを選びましょう。

今回はユーザーから適当な入力を入れ込むので「段落」を選択しました。

フィールドタイプを選択したら、変数名、ラベル名、最大長も設定しておきましょう。段落の場合、最大長=文字数?にあたると思います(おそらく・・・)。変数名は必ず分かりやすいものを設定しておきましょう。

2. LLMブロックの設定

次はLLMブロックの設定です。

まずは「AIモデル」を選択しましょう。モデルは適当に選択してください。

私は以前APIキーを設定したモデル(Azure OpenAI Service Model)を選択しています。パラメーターも設定できますので気になった方はいじってみてください。私はひとまずこのままの設定でいきます。(TemperatureとかTop Pのまとめもどこかでしようかな・・・)

モデルが設定できたので、次はプロンプトを入れ込みます。プロンプトは「SYSTEM」に記載しましょう。今回は以下のようなプロンプトを入れ込みました。

#指示
ユーザーからの<入力>に対して回答してください。
#入力
/input

開始ブロックで渡された<入力>に対して回答をするような指示を行います。開始ブロックの入力を引き継ぐ必要があるので変数も埋め込みます。”/”を入力し、好きな変数を選択しましょう。

また、SYSTEMに記載するだけでなく、コンテキストを利用することもできます。

コンテキストを利用する場合は、「コンテキスト」欄へ変数を入れ込みましょう。その後、SYSTEMの中で変数としてコンテキストを選びましょう。こうすることでコンテキストを利用することができます。

コンテキストにはナレッジベースを埋め込むことができます。これが重要です。適当なナレッジデータをデータベースとしてインプットしておき、それを利用するようなイメージです。外部のAPIと連携して接続するようですが、詳しくはここでは解説しません。別の機会をお楽しみに。

3. 終了ブロックの設定

最後に、終了ブロックを設定しましょう。

ここは全く難しくないですね。まずは「+」を押下した後、出力の変数名を入力、出力させたいアウトプットの変数を入れ込みます。

今回はLLMブロックで出力されたものをアウトプットとして設定するので、出力変数にはLLMブロックの「text」を入れ込みましょう。

フローの実行

フローが作成できたら、実際に動かして動作を確認してみましょう。

右上の「実行」を押下してください。

実行すると入力を求められるので、適当に何か聞いてみてください。Inputに何かしらメッセージを入力し、実行開始を押下します。

そうすると、フローが動き、入力がLLMへ渡され、出力が生成されます。

もしフローがうまくできていない場合は、実行開始を押した際、意図しない出力結果となったり、フローが途中で止まったりします。細かく実行履歴が出力されますので、その結果を見つつ修正してください。

フローの公開

フローが出来上がったら公開しましょう。

画面右上の「公開する」ボタンを押下することで公開ができます。

ちなみに、作成したワークフローはツールとしても公開できます。ツールとして公開しておくことで、別のフローやエージェントの中で利用することが可能となります。

ツールとして公開する場合は、「ワークフローをツールとして公開する」ボタンを押下しましょう。

ワークフローの名前や説明、ラベル等を入力し、「保存」ボタンを押下しましょう。そうすることでツールとして公開されます。

ワークフローを利用したい場合は、「ブロックを追加」の「ツール」から「ワークフロー」を選択します。上画像のように、先ほど公開したワークフローがツールとして選択可能な状態になっていることが分かりますね。

最後に

さて今回は、Difyで簡単なワークフローを作成してみました。

最初は多少苦戦するかもしれませんが、慣れてしまえばそこまで難しくありません。

問題はどんなフローとするか、自分がやりたいことをどうすれば実行できるのか、これを考えるのが難しいところです。色々と試しながら、やれる範囲を広げていってもらえればと思います。やり方は無限大ですので、是非試してみてください~。

さて、今回は以上!次はエージェントでも作ってみようかと思います。

前回まとめた記事も読んでもらえると嬉しいです。

Dify以外の勉強記事も是非。

コメント

タイトルとURLをコピーしました