Skip to content

レッスン 3:ワークフローの頭脳(LLM ノード)

Note: ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。

LLM ノード

レッスン 2 では、材料(開始ノード)とお皿(出力ノード)を準備しました。

開始ノードが下ごしらえ担当だとすれば、LLM ノードはまさにシェフ長です。ワークフローの頭脳であり、中核となる存在です。

思考、分析、クリエイティブな文章作成など、あらゆる知的作業を担当します。記事の要約、コードの作成、メールの下書きなど、重要な処理はすべてこのノードが行います。

モデルの設定

始める前に、モデルプロバイダーに接続する必要があります。

設定を開く

右上のアバターをクリックし、**設定**を選択します。


  ![設定](/images/difyworkflow101-lesson03-llmnode-1.png)

OpenAI プロバイダーをインストール

左側のメニューから**モデルプロバイダー**をクリックします。OpenAI を見つけて、**インストール**をクリックします。


  ![OpenAI を選択](/images/difyworkflow101-lesson03-llmnode-2.png)


  ![OpenAI をインストール](/images/difyworkflow101-lesson03-install.png)

キャンバスに戻る

インストールが完了したら、準備完了です。右上の **ESC**(または **X**)をクリックして、「キャンバス」に戻りましょう。

タグを理解する

パティシエはケーキが得意でもお寿司は作れません。同じように、AI モデルにもそれぞれ得意分野があります。

FlexAI でモデルを選択するとき、名前の横にタグが表示されます。適切なモデルを選ぶために、これらのタグの意味を理解しましょう。

CHAT(会話型) AI の最も基本的な機能です。以下のようなタスクに最適です: - 対話 - 記事の作成 - テキストの要約 - 質問への回答
128K(大容量メモリ) この数値は**コンテキストウィンドウ**を表しています。短期記憶のようなものだと考えてください。 K は「千」を意味します。**128K** は、モデルが 128,000 トークン(おおよそ単語や音節に相当)を保持できることを意味します。この数値が大きいほど、記憶力が優れています。 > **Info:** > 大量の PDF レポートや一冊の本全体を分析する必要がある場合は、この数値が大きいモデルが必要です。
マルチモーダル(進化した知覚能力) 「モーダル」とは**情報の種類**を意味します。初期の AI モデルはテキストしか読めませんでしたが、マルチモーダルモデルは進化しており、目や耳のような*知覚*を備えています。 **VISION(目)** このタグを持つモデルは、テキストを読むだけでなく、画像を見ることもできます。夕焼けの写真をアップロードして「*この写真にはどんな色がありますか?*」と質問したり、冷蔵庫の中身の写真をアップロードして「*これで何が作れますか?*」と尋ねたりできます。 **AUDIO(耳)** このタグを持つモデルは、音声を聞くことができます。会議や講義の録音をアップロードすると、テキストに書き起こしたり、要約を作成したりできます。 **VIDEO(動画アナリスト)** このモデルは動画コンテンツを視聴して理解できます。人間が映画を観るように、動画クリップの内容を分析できます。 **DOCUMENT(リーダー)** このモデルは優秀な読み手です。テキストをコピー&ペーストする代わりに、ファイル(PDF や Word 文書など)をそのままアップロードできます。モデルがファイルを直接読み取り、書かれている内容に基づいて質問に回答します。

今回のメールアシスタントには、CHAT タグが付いた LLM がまさに必要なものです。

実践 1:LLM ノードを追加する

ワークフローに頭脳を組み込みましょう。

アプリを開く

レッスン 2 で作成した **AI メールアシスタント**ワークフローに戻ります。

ノードを追加する

開始ノードと出力ノードの間の空白部分を右クリックし、新しい **LLM** ブロックをクリックします。右側のパネルで**モデル**を探し、**gpt-4o-mini** を選択します。


  ![ノードを追加](/images/difyworkflow101-lesson03-addthenode.png)

ノードを接続する

開始ノードから LLM ノードへ線をドラッグします。次に LLM ノードから出力ノードへ線をドラッグします。フローは次のようになります:**開始 → LLM → 出力**。


  ![ノードを接続](/images/difyworkflow101-lesson03-connectthenodes.png)

次に、LLM に具体的な指示を送る必要があります。これをプロンプトと呼びます。

プロンプトを追加

重要な概念:プロンプト(指示書)

プロンプトとは? プロンプトは、注文票に添える具体的なメモのようなものです。AI に何をすべきかどのようにすべきかを正確に伝えます。

最も重要なポイントは、プロンプト内で開始ノードの変数を直接使用できることです。これにより、毎回異なる材料を提供するたびに、AI が出力を柔軟に変化させることができます。

FlexAI では、customer_name のような変数をプロンプトに挿入すると、AI に「Customer Name というラベルの箱を見て、中に入っているテキストを使ってください」と指示していることになります。

実践 2:プロンプトを書く

では、実際にやってみましょう。指示と変数を組み合わせたプロンプトを作成します。

指示を作成する

LLM ノードをクリックしてパネルを開き、**system** ボックスを見つけます。**System 指示**は、モデルがどのように応答すべきか(役割、トーン、行動のガイドライン)のルールを設定します。

まず、指示を書きましょう。以下のテキストをコピー&ペーストできます。

```plaintext wrap
You are a professional customer service manager. Based on the customer's email, please draft a professional reply.
Requirements:
1. Start by addressing the customer name with a friendly tone.
2. Thank them for their email.
3. Let them know we have received it.
4. Sign off as Anne.
```

ユーザーメッセージを追加する

ユーザーメッセージは、モデルに送信する内容です。質問、リクエスト、またはモデルに処理してほしいタスクを入力します。

このワークフローでは、顧客名とメール内容は毎回変わります。手動で入力する代わりに、ユーザーメッセージに変数を追加します。

1. system ボックスの下にある **Add Message** ボタンをクリックします。
2. User Message ボックスに **customer name:** と入力します。
3. キーボードで `/` を押します。
4. 変数選択メニューが表示されるので、`customer_name` をクリックします。
5. Enter を押して改行し、**email content:** と入力します。再度 `/` キーを押して `email_content` をクリックします。


  ![ユーザーメッセージを追加](/images/difyworkflow101-lesson03-addusermessage.png)

Tip:

  波括弧を手動で入力する必要はありません。`/` を押して、メニューから変数を選ぶだけで OK です。
4. 最終的なプロンプトは次のようになります:


  ![最終プロンプト](/images/difyworkflow101-lesson03-finalprompt.png)

おめでとうございます! FlexAI で初めての AI ワークフローが完成しました!

実行とテスト

材料は準備完了、シェフもスタンバイ、指示も整いました。しかし、料理の味はどうでしょうか?お客様に提供する前に、まずは味見をしてみましょう。

テストは安定したワークフローを作るための秘訣です。本番稼働前に、見落としがちな小さな問題を見つけるのに役立ちます。

クイック概念:チェックリスト

チェックリストは、ワークフロー専属の健康診断ドクターだと考えてください。

リアルタイムで作業を監視し、不完全な設定やミス(接続されていないノードなど)を自動的に検出します。

公開ボタンを押す前にチェックリストを確認することが、不要なエラーを早期に発見する最善の方法です。

実践 3:テストとデバッグ

事前チェック

「キャンバス」の右上を見てください。**チェックリスト**アイコンに小さな数字 **1** が表示されていませんか? これは FlexAI が「*ちょっと待ってください!まだ 1 つ足りないところがあります。*」と教えてくれています。


  ![チェックリスト](/images/difyworkflow101-lesson03-checklist.png)

警告を分析する

クリックすると、**output variable is required(出力変数が必要です)**という警告が表示されます。出力ノードが何も受け取っていないことを意味しています。

シェフ長(LLM)が料理を完成させたのに、ウェイター(出力ノード)が手ぶらのままだと想像してください。

問題を修正する

1. **出力ノード**をクリックします。
2. **Output Variable(出力変数)**を探し、横にある**プラス(+)**アイコンをクリックします。
3. **Variable Name** フィールドに `email_reply` と入力します。
4. 値を選択します:変数セレクターをクリックし、LLM ノードから `{x} text` を選択します。


  ![問題を修正](/images/difyworkflow101-lesson03-fixtheissue.png)

テスト実行

チェックリストのポップアップ数字が消えました。テスト実行をしてみましょう。

「キャンバス」の右上にある**テスト実行**をクリックします。顧客名とメール内容を入力し、**開始**をクリックします。


  ![テスト実行](/images/difyworkflow101-lesson03-testrun.png)



```text テスト用サンプルメール
顧客名:Amanda

メール原文:
Hi there,

I'm writing to ask for more information about FlexAI. Could you please tell me more on it?

Best regards,
Amanda
```

成功!

今度は、各ノードに緑のチェックマークが表示され、AI が生成した返信メールが確認できます。

よくできました!

ワークフローを構築しただけでなく、チェックリストの使い方や、公開前の確認方法も習得しました。

ミニチャレンジ

同じ構造を使って、旅行プランナーを作ってみましょう。

Tip:

プロンプトジェネレーターを活用して、より良いプロンプトを作成してみましょう!

![プロンプトジェネレーター](/images/difyworkflow101-lesson03-promptgenerator.png)