【第83話】【Dify チャットフロー 作り方】冷蔵庫の余り物が極上おつまみに!LINE連携AIソムリエの事例

居酒屋を舞台にしたAI活用事例を解説するブログアイキャッチ画像。ビールを持つ男性のスマホから、ホログラムの「AIシェフ」が提案する「おつまみメニュー」が浮かび上がっています。横浜の夜景と「居酒屋開発」の文字が、地域密着型のAI再スタートを象徴しています。 AI活用

はじめに|AIに「今日のおつまみ」を考えさせる贅沢

Dify チャットフローの作り方を、身近な事例で学びましょう。この記事では、余り物から爆速おつまみを提案する「AIソムリエ」を作ります。

前回の第82話では、ビジネス向けの「3社同時比較アプリ」を完成させました。今回は趣向を変え、もっと日常に密着したAIアプリを作ります。

私は朝方に帰宅しますが、夜遅くに帰ってビールで一杯やりたい方も多いはずです。でも、手の込んだ料理をする気力はない。そんな時に頼れるAIを作ります。

LINEに「ツナ缶と塩昆布。冷たいビール!」と送るだけ。深夜食堂のベテラン大将のようなAIが、火を使わず数分でできる極上のレシピを返してくれます。

今回はDifyの「プロンプト(AIへの指示)」の力を使います。提案型AIの作り方を、順を追って解説します。

この記事でわかること|Difyで何ができるかを事例で理解する

この記事を読むと、Difyのチャットフロー作り方とLINE連携の全体像がつかめます。Difyで何ができるのか、具体的な事例で理解できるのがねらいです。

学べることは3つあります。ひとつ目は、複数の入力を組み合わせて新しいアイデアを生み出すAIの作り方です。ふたつ目は、AIの「キャラクター」をプロンプトで設計する方法です。みっつ目は、作ったアプリをLINEとつなぐ連携手順です。

専門的なコードはほとんど書きません。AI初心者の方でも、手を動かしながら「Difyでこんなことができるのか」と実感できる内容です。

Difyのチャットフローとは?初心者向けの基礎知識

チャットフローとは、Dify上で会話型AIの処理の流れを組み立てる仕組みです。まずここを押さえると、後の手順がスッと理解できます。

そもそも「チャットフロー」って何をするもの?

チャットフローは、いくつかの「ノード」をつないで作ります。ノードとは、処理のひとつひとつを表す部品のことです。

たとえば「入力を受け取るノード」「AIが考えるノード」「答えを返すノード」を線でつなぎます。この流れ図が、そのままAIアプリの動きになります。

複雑なPythonコードは一切不要です。部品を並べてつなぐだけで、ひとつのアプリが完成します。

「まとめるAI」から「生み出すAI」への進化

前回の比較アプリは、URLという「1つの入力」から情報をまとめるものでした。今回は方向性が変わります。

今回は「食材」と「お酒の種類」という複数の要素を組み合わせます。それらからAIに新しいアイデアを生み出させるのです。

AIに「どんなキャラクターとして、どう振る舞うか」を指示します。すると、ただのチャットボットが「優秀な専属ソムリエ」に生まれ変わります。その過程を楽しんでください。

【完全ガイド】Difyでおつまみソムリエを作る3ステップ

ここからは実際の作り方です。Difyで新しい「チャットフロー」を作成し、3ステップで進めます。全体像は「入力→AIが考える→回答」というシンプルな流れです。

① 開始(Start)ノード|LINEからの注文を受け取る

開始ノードは、ユーザーからの入力を受け取る入り口です。デフォルトで設定されている sys.query(ユーザーの入力)をそのまま使います。

sys.query とは、お客さんが送ってきた文章がそのまま入る変数のことです。変数とは、中身が入れ替わる「箱」のようなものだと考えてください。

ここに「キャベツと卵。ハイボール」といった注文が入ってきます。

② LLMノード|大将に「魂」を吹き込む【最重要】

このステップが、アプリの個性を決める最重要ポイントです。開始ノードの次に「LLM」ノードを繋ぎます。LLMとは、文章を理解して生成するAIの本体のことです。

なぜここが最重要なのでしょうか。理由は、AIの「性格」や「答え方のルール」をすべてここで指示するからです。同じDifyでも、この指示次第でAIの振る舞いは大きく変わります。

「システムプロンプト」の欄に、以下の指示をそのままコピー&ペーストしてください。これが大将の「魂」になります。システムプロンプトとは、AIに与える基本方針のことです。

あなたは、深夜にひっそりと営業している「極上おつまみ専門の小料理屋」のベテラン大将です。
疲れて帰ってきたお客さんが、手持ちの食材と飲みたいお酒を伝えてきます。
以下の【条件】と【出力ルール】に厳密に従って、最高の「爆速おつまみ」を1つ提案してください。

【条件】
- 極力、火や包丁を使わない(電子レンジや和えるだけを推奨)
- 調理時間は「5分以内」が目安
- 指定された「飲みたいお酒」に最高に合う味付けにする

【出力ルール】
以下のMarkdownフォーマットで出力すること。

🍶 **本日のおすすめ:[食欲をそそる料理名]**
⏱️ **所要時間**:約〇分

**【材料】**
- (箇条書き)

**【作り方】**
1. (手順)

💡 **大将からの一言**
(なぜそのお酒に合うのか、疲れた体にどう沁みるのかを、人情味あふれる温かい口調で1〜2行で語りかける)
Difyのチャットフロー完成画面。「ユーザー入力(スタート)→LLM(gpt-4o-mini)→回答」の3ノードを接続したワークフローと、右側プレビューで「ツナと塩昆布の絶品和え物」のレシピと大将からの一言まで表示された完成した実行結果。

ポイントは3つあります。ひとつ目は「役割」を最初に与えていること。大将だと名乗らせるだけで、口調や提案の質が変わります。

ふたつ目は「条件」で制約を具体化していること。火を使わない、5分以内、といった縛りが提案の方向を決めます。

みっつ目は「出力ルール」で形式を固定していること。毎回同じ見やすいフォーマットで返ってくるのは、このおかげです。

そして、ユーザープロンプトの欄には {{sys.query}} をセットします。これで、お客さんの注文がAIに届きます。

③ 回答(Answer)ノード|LINEへ料理を出す

回答ノードは、AIの答えをユーザーに返す出口です。LLMノードの次に「回答」ノードを繋ぎます。

出力として「LLMのテキスト」を指定すれば、Dify側の設定は完了です。入力から回答まで、3つのノードがつながりました。

Difyのチャットフロー編集画面。「ユーザー入力(スタート)→LLM(gpt-4o-mini)→回答」という3ノード構成のワークフロー図と、右側プレビューで「ツナと塩昆布の絶品和え物」レシピを提案する実行結果を表示している。

Dify LINE連携は「1行変えるだけ」の魔法

Difyのアプリを「公開」したら、次はLINEとつなぎます。ここが「Dify LINE連携」の本題です。結論から言うと、今回やることはコードの1行を書き換えるだけです。

「またあのGASのエラーと戦うの?」と思った方、安心してください。作業はごくわずかです。

GASとは?なぜ連携の土台になるのか

GASとは「Google Apps Script」の略で、Googleが提供する無料のプログラム実行環境です。DifyとLINEの間に立ち、メッセージを橋渡しする役割を果たします。

前回苦労して作り上げたGASのコードは、すでに「どんなDifyアプリでも受け止められる万能の土台」になっています。だから今回は、土台を作り直す必要がありません。

APIキーを書き換えてデプロイする手順

今回やることは、Difyで新しく発行した「APIキー」を貼り替えるだけです。APIキーとは、アプリを識別するためのパスワードのような文字列です。

GASのコードの3行目を、次のように書き換えます。

// ↓ここの文字列を新しいキーに書き換えるだけ!
const DIFY_API_KEY = 'app-新しく発行したAPIキーをここに貼る';

書き換えたら、必ず「新バージョン」でデプロイし直してください。デプロイとは、変更を反映して公開する操作のことです。

これを忘れると大将は出勤してきません。うまく動かない時は、まずここを見直しましょう。

DifyとLINEを連携させたおつまみソムリエAIの動作画面。「ツナ缶と塩昆布。冷たいビール!」という注文に対し、AI大将が所要時間約3分の「ツナと塩昆布の和え物」レシピと、ビールに合う理由を添えた一言を返信しているLINEのチャット画面。

いざ、深夜の小料理屋へ|テスト実行

設定が終わったら、実際に動かして確かめます。デプロイが完了したら、スマホのLINEから注文してみましょう。

私からの注文は「ツナ缶と塩昆布。冷たいビール!」です。

数十秒後、大将からこんな返事が届きました。見事な「ツナと塩昆布のごま油和え」です。

しかも最後には「ビールの爽快感を引き立てて、疲れた体に染み渡る塩気がたまりませんよ。お酒が進むこと間違いなしです!」という、沁みる一言まで添えられていました。

今回はさすがにハマらず、すんなり作れました。前回のアプリを一部変えただけなので、迷わずに済みました。

まとめ|Difyのチャットフロー作り方は「事例で学ぶ」のが近道

Difyのチャットフロー作り方は、事例で手を動かすのが理解への近道です。今回は「おつまみソムリエ」を通して、3つのことを学びました。

ひとつ目は、開始・LLM・回答の3ノードでチャットフローが組めること。ふたつ目は、システムプロンプト次第でAIの個性が決まること。みっつ目は、Dify LINE連携がAPIキーの書き換えだけで済むことです。

Difyで何ができるのか、その一端が伝わったなら嬉しいです。次はぜひ、あなたの冷蔵庫の余り物で試してみてください。

コメント

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