Difyで「手相占いを行うチャットボット」を開発する方法について徹底解説!

この記事では、以下のようなAIアプリ開発ツール「Dify(ディファイ)」とメッセージツール「LINE公式アカウント」を用いた、手相占いを行うチャットボットの開発方法を解説します。


弊社Walkersでは、“AIトレンドに乗り遅れたくないけど、具体的な活用法が見えない…”を解決するAI導入支援を行っています。補助金により1/3のコストで導入可能なので、ぜひAI活用にお悩みがある方はお気軽にご相談下さい。⇒AI導入支援サービスの概要はこちら

執筆者:山口 鳳汰
 

執筆者:山口 鳳汰
ノーコード・AI開発会社「Walkers」のCMO。
AIサービス「Prompt Lab」運営。

その他、受託開発や教育など多数のAI事業に参画している。

運営会社:株式会社Walkers

運営会社:株式会社Walkers
ノーコード・AI専門の開発会社。
300件以上の開発/制作実績、200件以上の企業様を支援。
マーケティングやUI/UXと掛け合わせたサービス開発を得意としている。

執筆者:山口 鳳汰

執筆者:山口 鳳汰
ノーコード・AI開発会社「Walkers」のCMO。
AIサービス「Prompt Lab」運営。

運営会社:株式会社Walkers

運営会社:株式会社Walkers
ノーコード・AI専門の開発会社。
これまでに300件以上の開発/制作実績、200件以上の企業様を支援。

クリックできる目次

Dify(ディファイ)とは?

Dify(ディファイ)とは「AI言語モデルを用いてチャットボットなどの独自アプリを開発することができるオープンソースのツール」です。
このツールを使うことで、プログラミングなど専門知識がなくても簡単に高性能なアプリを作成することができます。

「チャットボット」といわれると、企業のホームページなどに配置されている「お問い合わせ対応を行うチャットボット」を連想される方が多いと思われますが、
Difyでは、お問い合わせ対応以外にも複雑な処理を行うチャットボットを簡単に開発できます

Difyには無料プランも用意されているため、「簡単な業務をAIで効率化したいが、本当にできるか不安」という方でも安心して利用することができます。

»関連記事:Dify(ディファイ)とは?事例や使い方、商用利用まで完全解説!

手相占いチャットボットの開発方法

この記事では、LINE公式アカウントとDifyを組み合わせることによって、「ユーザーがLINEに画像を送ると、Difyから手相占いの結果がLINEに届く」というチャットボットの開発方法を解説します。

今回使用するサービスは以下の3つです。
LINE Developers
LINE公式アカウント
Make

【手順①】Difyを構築する

STEP
以下のURLよりDifyの公式サイトに移動する
STEP
アカウントを作成する
Dify公式サイト
Dify公式サイト

「GitHub」または「Google」アカウントを用いてDifyではアカウントを作成します。

手順や複雑さに違いはないため、普段よく使用するアカウントを選んで作成しましょう。
画面の指示に従い「GitHub」または「Google」アカウントでログインを行えば、Difyアカウントの作成は完了です。

STEP
設定を開く
Difyホーム画面
Difyホーム画面

アカウント作成またはログインが完了すると、Difyのトップページに移動します。

この画面右上に表示されている「自身のアカウント名」をクリックし、表示されるメニューから「設定」を選択します。

STEP
ChatGPTまたはClaudeと連携する
Difyのモデルプロパイダー画面
Difyのモデルプロパイダー画面

「モデルプロパイダー」を選択し、LLMの設定画面に移動します。

ChatGPTとClaudeに関しては標準でモデルの組み込みが行われているため、この2つのLLMのどちらかを使用してDifyを利用する場合には、

ChatGPTの場合は、OpenAIタブの横にある「API-KEYセットアップ」
Claudeの場合は、ANTHROPICタブの横にある「API-KEYセットアップ」

をクリックして、APIキーのセットアップ画面を表示します。
表示された画面にそれぞれのAPIキーを入力すると接続が完了し、Difyで使用できるようになります。

※ChatGPTの利用に限り、API接続を行わなくても一定回数無料で使用することが可能です。

STEP
ChatGPTまたはClaude以外のLLMと接続する
Difyのモデルプロパイダー画面
Difyのモデルプロパイダー画面

ステップ2と同様に、「モデルプロパイダー」を選択しLLMの設定画面に移動します。

この画面の下に表示されている、「モデルプロパイダを追加」から、使用したいLLMを探し、カーソルを合わせます。
カーソルを合わせると「モデルを追加」または「セットアップ」という表示が現れるため、そちらをクリックします。

表示された画面の指示に従い、モデルタイプの選択やAPIキーなどの求められた情報を入力すると接続が完了し、Difyで使用できるようになります。

※この設定は必須ではありません。特定のLLMをDifyで使用したい場合のみ設定を行なってください。

STEP
アプリを作成する
Difyホーム画面
Difyホーム画面

LLMの接続を行ったらホーム画面に移動し、「アプリを最初から作成」というボタンを選択します。

STEP
アプリの詳細を入力する
Difyアプリ作成画面
Difyアプリ作成画面

表示される画面で以下のように設定を行い、「作成する」ボタンをクリックします。

アプリタイプ:チャットボット
オーケストレーション:Chatflow
アプリアイコン:任意のものを選択
アプリ名:任意の名前を入力

STEP
画像のアップロードを受け付ける設定を行う
Difyアプリ構築画面

画面右上の「機能」を選択します。

機能設定画面にて、「画像をアップロード」という項目をオンに変更します。

STEP
AI言語モデルとプロンプトを編集する
Difyアプリ構築画面

機能設定画面を閉じて、Difyのアプリ構築画面から「LLM」というブロックを選択します。

「モデル」を開き、”GPT-4o”や”Gemini”などの画像のアップロードが可能なAI言語モデルを選択します。

「SYSTEM」には、”手相を占ってほしい”ということが伝わるプロンプトを記入します。

STEP
Difyで開発したアプリを公開する
Difyアプリ構築画面

画面右上に表示されている「公開する」というボタンから、Difyで開発したアプリを公開します。

STEP
APIキーを発行する
Difyアプリ構築画面

画面左側のメニューから、「APIアクセス」を選択します。
表示される画面の右上にある「APIキー」というボタンを選択してAPIキーを発行します。

ここで発行したAPIキーは後ほど使用するため、必ず控えておきましょう。

ステップ10にて公開した、Difyのアプリ単体でも手相占いを行うことができます。
Difyのみで手相占いを行うには、アプリ公開設定画面にて「アプリを実行」を選択し、表示されるWebサイトのURLを共有しましょう。
URLを共有された人は、誰でも手相占いチャットボットを使用することができます。

【手順②】LINE公式アカウントの設定を行う

STEP
以下のURLよりLINE Official Account Managerに移動する

URL:https://manager.line.biz

URLにアクセスをしたら、LINEへログインを行いましょう。

STEP
LINE公式アカウントの作成画面に移動する
LINE公式アカウント一覧画面
LINE公式アカウント一覧画面

アカウントリスト画面の左側に表示されている「作成」を選択します。

STEP
LINE公式アカウントを作成する
LINE公式アカウント作成画面
LINE公式アカウント作成画面

表示されたフォームに必要項目を記入して、LINE公式アカウントを作成します。

STEP
Messaging APIの設定画面を開く
LINE公式アカウント設定画面
LINE公式アカウント設定画面

アカウント作成完了後に表示されるアカウント管理画面で、右上に表示されている「設定」を選択します。

設定画面のメニューから「Messaging API」を開き、「Messaging APIを利用する」を選択します。

STEP
プロパイダ設定を行う
LINE公式アカウント設定画面
LINE公式アカウント設定画面

プロパイダーを作成という項目にチェックを入れ、プロパイダー名を入力します。
プロパイダー名は外部に公開されることがないため、自身が管理しやすい名前を設定しましょう。

プロパイダー名を入力したら、画面下の利用規約を確認し、「同意する」を選択します。

STEP
LINE Developersを開く
LINE公式アカウント設定画面

プロパイダー設定後に、ステータスが「利用中」になっていればMessaging APIの利用設定は完了です。

続けて、「その他の設定はLINE Developerから行えます。」というテキストまたは以下のURLから、LINE Developerに移動します。

URL:https://developers.line.biz/ja/

STEP
コンソールを開く
LINE Developer公式サイト
LINE Developer公式サイト

画面右上の「コンソール」を選択します。

STEP
作成したLINE公式アカウントを選択する
LINE Developer管理画面
LINE Developer管理画面

コンソール画面左側のメニューから、先ほど作成した「プロパイダー」を選択します。

プロパイダーのチャネル設定画面で、こちらも先ほど作成をした「LINE公式アカウント」を選択します。

STEP
チャネルアクセストークンを発行する
LINE Developer管理画面
LINE Developer管理画面

「Messaging API設定」を開き、一番下に表示されている「チャネルアクセストークン (長期)」を発行します。

後ほどチャネルアクセストークンは使用するため、必ず発行後に控えておきましょう。

【手順③】Makeを構築する

STEP
以下のURLよりMakeに移動する
STEP
アカウントを作成する
Make公式サイト
Make公式サイト

画面右上に表示されている「Get started free」からアカウントを作成します。

アカウントは、「メールアドレス」または「Googleなどの外部サービスアカウント」を用いて作成することが可能です。
アカウント作成後には、アンケートやチュートリアルを確認し、Organization画面まで移動します。

既にアカウントを保有している方は「Log in」からログインを行います。

STEP
シナリオを作成する
Scenarios画面
Scenarios画面

画面左側のメニューから「Scenarios」を開きます。

Scenariosの一覧画面から、右上に表示されている「Create a new scenario」を選択します。

STEP
LINEに送信されたメッセージを受信する機能を追加する
Make構築画面
Make構築画面

シナリオの構築画面で、「プラス記号」のボタンを選択し、検索ボックスに「LINE」と入力します。

その後、「Watch Events」を選択します。

STEP
チャネルアクセストークンを入力する
Make構築画面
Make構築画面

「Watch Events」を追加後、表示される画面で「Add」を選択し、その後「Create a connection」を選択します。

「Channel Access Token」の入力欄が表示されるため、ここに「手順2 – ステップ9」で取得したチャネルアクセストークンを入力し、「Save」を選択します。

STEP
Webhookを取得する
Make構築画面
Make構築画面

「Channel Access Token」を入力し、保存すると、Webhookが発行されます。
後ほど使用するため、必ず控えておきましょう。

Webhookを控えたら、「OK」を選択します。

STEP
LINE公式アカウントにWebhookを入力する
LINE公式アカウント設定画面
LINE公式アカウント設定画面

LINE Official Account Managerから、作成したLINE公式アカウントの「Messaging API設定画面」を開きます。

Webhook URLの入力欄に先ほど取得したwebhookを入力して、「保存」を選択します。

STEP
LINE公式アカウントの応答設定を変更する
LINE公式アカウント設定画面
LINE公式アカウント設定画面

画面左側のメニューから、「応答設定」を開きます。

応答機能の設定画面で、「Webhook」のみをオンにして、それ以外は全てオフに変更します。

STEP
Makeでモデルを追加する
Make構築画面
Make構築画面

Makeに戻り、先ほど追加したLINE機能の右側に表示されている「プラスボタン」を選択します。

STEP
LINEに送信された画像ファイルを受信する機能を追加する
Make構築画面
Make構築画面

検索ボックスに「LINE」と入力し、「Download a Message Attachment」を選択します。

STEP
メッセージIDを入力する
Make構築画面
Make構築画面

「Message ID」という入力欄を選択し、表示されるメニューの中から、「Message ID」を選択します。
選択をしてもMessageID欄にテキストが反映されない場合は、ドラッグ&ドロップでMessageIDを入力します。

画像のように、MessageIDの入力欄に緑色のテキストが入力されていれば問題ありません。
「OK」を選択して、保存しましょう。

STEP
Difyに画像を送信するリクエストを作成する
Make構築画面
Make構築画面

ステップ9と同様に「プラスボタン」を選択し、HTTPという項目の中にある「Make a request」を追加します。

STEP
Difyに画像を送信する設定を行う
Make構築画面
Make構築画面

以下のように設定を行います。

Evaluate all states as errors:No
URL:https://api.dify.ai/v1/files/upload
Method:POST
Headers Item1
 Name:Authorization
 Value:Bearer DifyAPIキー *BearerとAPIキーの間は半角スペース
Body type:Multipart/form-data
Fields Item1
 Field type:File
 Key:file
 File:LINE – Download a Message Attachment
Fields Item2
 Field type:Text
 Key:user
 Value:{{1.events[].source.userId}}
Parse response:Yes

STEP
Difyにテキストを送信する設定を行う
構築画面
Make構築画面

ステップ12と同様に、HTTPの「Make a request」を追加し、以下のように設定を行います。

Evaluate all states as errors:No
URL:https://api.dify.ai/v1/chat-messages
Method:POST
Headers Item1
 Name:Authorization
 Value:Bearer DifyAPIキー *BearerとAPIキーの間は半角スペース
Headers Item2
 Name:Content-Type
 Value:application/json
Body type:Raw
Content type:JSON (application/json)
Request content:

{
"inputs": {},
"query": "手相を占ってください",
"response_mode": "blocking",
"conversation_id": "",
"user": "abc-123",
"files": [
{"type": "image",
"transfer_method": "local_file",
"upload_file_id":"aaa"
}
]
}

Parse response:Yes

STEP
Makeを一度動かす
Make構築画面
Make構築画面

これから行う工程で実際のデータを取得する必要があるため、「Run once」を選択してMakeを動かします。

「手順2 – ステップ1」にてログインを行ったLINEアカウントに、公式LINEが自動的にお友達追加されているので、「Run once」を選択した後に、適当な画像を1枚公式LINEに送信します。

送信後、画像のようにそれぞれのモデルの上に数字(今回の場合は1)が表示されていれば問題ありません。

STEP
設定を変更する
Make構築画面
Make構築画面

ステップ15にて設定を行った「Request content」という項目の10行目を編集します。

「aaa」と入力していた項目を、HTTPから取得した「Data ID」に差し替えます。

STEP
LINEにメッセージを送信するモデルを作成する
Make構築画面
Make構築画面

HTTPモデルの右側に表示されている「プラスボタン」を選択して、LINEの「Send a Reply Message」を追加します。

STEP
LINEにメッセージを送信する設定を行う
Make構築画面

以下のように設定を行います。

Reply Token:{{1.events[].replyToken}}
Messages Item1
 Type:Text
 Text:{{4.data.answer}}
Notification Disabled:No

Messages Item1の「{{data.answer}}」という項目がメニューから見つからない場合は、ステップ15と同様に一度Makeを動かしてから、再度設定を行いましょう。

Makeを起動しても「{{data.answer}}」という項目が見つからない場合、何かしらの設定やAPIキーなどを間違えている可能性があります。
一度全ての設定を見直し、間違えている箇所があれば修正を行いましょう。

STEP
公開する
Make構築画面
Make構築画面

ここまでの設定が全て完了したら、ステップ15を参考にMakeを動かします。
公式LINEに画像を送信して、正しく占い結果が届いたら構築は成功です。

最後に、画面左下に表示されている公開ボタンを「オン」に変更しましょう。
オンに変更をしたら、全ての構築作業が完了です。

公式LINEを宣伝して、さまざまな人に占いチャットボットを利用していただきましょう。


Difyを用いた「手相占いチャットボット」の開発方法の解説は以上です。この情報がDifyへの理解促進につながれば嬉しく思います。

弊社Walkersでは、“AIトレンドに乗り遅れたくないけど、具体的な活用法が見えない…”を解決するAI導入支援を行っています。補助金により1/3のコストで導入可能なので、ぜひAI活用にお悩みがある方はお気軽にご相談下さい。

AI導入支援サービスの概要はこちら>>

Walkersに無料で相談する>>

  • URLをコピーしました!

この記事を書いた人

ノーコード・AI開発会社「Walkers」のCMO。
AIサービス「Prompt Lab」運営。
その他、受託開発や教育など多数のAI事業に参画している。

クリックできる目次