AI

Difyを使用してデータ検索機能を備えたAIエージェントを構築する

この分かりやすいチュートリアルでは、DifyとBright Dataを使用して、正確なウェブデータ検索のためのAIエージェントを構築する方法を学びます!
1 分読
Building AI agents with Dify

このチュートリアルでは、次のことを学びます:

  • Difyとは何か、なぜAIエージェントを構築するための興味深いツールなのか。
  • なぜAIエージェントは、信頼できる結果を提供するために、新鮮で正確なウェブデータにアクセスする必要があるのか。
  • コード不要のDifyワークフローを使って、データ検索機能を持つAIエージェントを作成する方法。

さあ、飛び込もう!

ディファイとは?

Difyは、LLMを使ったジェネレーティブAIアプリケーションを構築するためのオープンソースプラットフォームとして、ますます人気が高まっています。AIワークフローやRAGパイプラインを作成するためのノーコード/ローコードビジュアルインターフェースを提供することで、開発プロセスを簡素化します。

DifyのGitHubスター成長チャート

Difyは、セルフホスト型のオープンソース版で活用することもできるし、クラウド上で直接利用することもできる。基本的には、LLM運用のためのBaaS(Backend-as-a-Service)として機能する。

Difyは、様々なLLMをサポートし、いくつかのプラグインを通じて幅広い統合機能を提供しています。これらにより、様々なサードパーティのサービスやソリューションとの接続が可能になる。この記事を書いている時点で、マーケットプレイスには約100のプラグインと拡張機能がある。

AIエージェントは正確で効果的でなければならない

どのAIエージェント構築プラットフォーム、ライブラリ、ツールを選んでも、大きな制約がある:正確であるためには、AIエージェントは高品質のデータを必要とする。この点で、ウェブは最も豊富で信頼できるデータソースの1つであることを覚えておいてほしい。

したがって、真に効果的であるためには、AIエージェントはウェブページに直接アクセスしてデータを抽出できなければならない。しかし、ただ生のコンテンツを引き出すだけでは不十分だ。データはAI用に最適化され、理想的にはMarkdown形式でなければならない。

プロからのアドバイスMarkdownはコンパクトで、AIモデルにとって処理しやすく、より正確な結果につながることが多い

そのため、DifyのAIエージェントには、あらゆるウェブページからMarkdownのような構造化されたコンテンツを抽出できるプラグインが必要なのです。それがBright Data Difyプラグインです。その上、このプラグインは、検索エンジンや50以上の人気のあるプラットフォームから、構造化されたJSON形式で新鮮なデータを引き出すことができます。

Bright Dataプラグインは、CAPTCHA、IPブロック、レート制限など、ウェブスクレイピングのあらゆる課題を処理します。そして、Difyのノーコードフロービルダーのおかげで、ノードを接続するだけで、すべてをAIエージェントに統合することができます。その結果、信頼性の高いリアルタイムのウェブデータにアクセスできる、本番環境に対応したAIエージェントが出来上がります。

AIエージェント構築のためにBright DataプラグインをDifyに統合する方法

このガイドセクションでは、DifyでAIエージェントを構築する方法を学びます。特に、信頼できる情報でエージェントを動かすAI対応データエンジンとして、Bright Dataプラグインを使用します。

あらゆるウェブページの内容を要約することができる、シンプルな要約エージェントの構築について説明します。これは、DifyとBright Dataの統合で何が可能かを示す一例に過ぎないことに注意してください。他の多くのユースケースを同じように簡単にカバーすることができます。

:ある意味で、選択された例はRAG エージェントワークフローとして見ることができる。なぜなら、Bright Data プラグインは、RAG エージェントプロセスにおける検索コンポーネントとみなすことができるからである。

最新のWebデータにアクセスするノーコードAIエージェントをDifyで作成するには、以下の手順に従ってください!

前提条件

このチュートリアルを再現し、Dify powered by Bright DataでAIエージェントを構築するには、以下のものが必要です:

まだお持ちでない方は、上記のリンクをクリックし、セットアップ手順に従ってください。

ステップ1:LLMの統合

注意:既にDifyアカウントにLLMインテグレーションが設定されている場合は、このステップはスキップできます。

DifyでAIエージェントを構築するには、まずLLMプロバイダーを設定する必要があります。そのためには、Difyにサインインし、ダッシュボードにアクセスします。右上のプロフィール画像をクリックし、”設定 “オプションを選択します:

設定」オプションを選択する

次に、モーダルのサイドバーで、”Model Provider “オプションをクリックします。ここで、使いたいLLMプロバイダーをインストールできます。このチュートリアルでは、Geminiを使用します(API経由で無料で使用できます):

Difyモデルプロバイダーとしてジェミニを選択

Geminiオプションにカーソルを合わせ、”Install “ボタンを押す。インストールが完了したら、”Setup “ボタンをクリックし、Gemini APIキーを貼り付けて設定を完了する:

Gemini APIキーの貼り付け

その後、”システムモデル設定 “を押して、DifyアカウントのグローバルLLMプロバイダーとしてGeminiを設定します:

システムモデルの設定

使用したいモデルを選択する。今回は、”Gemini 2.0 Flash“(API経由で無料)を選択します。そして、”保存 “をクリックする:

LLMモデルの選択

完璧です!これでDifyでのLLM統合は完了です。

ステップ2:Bright Dataプラグインのインストール

Bright Data Difyプラグインをインストールします。プラグインをインストールするには、サイドバーの「PLUGINS」をクリックしてください:

PLUGINS "オプションをクリックする。

Dify Plugin Marketplaceセクションで、”Install Plugin “ボタンをクリックし、”GitHub “オプションを選択します:

GitHub」インストールボタンを選択する

表示されたモーダルに、Bright Data Dify プラグインの GitHub URL を貼り付けます:

https://github.com/Idanvilenski/BrightData_Dify_Plugin
Bright Data DifyプラグインのGitHub URLを設定する

プラグインのバージョンを選択し(最新のものを推奨)、プラグインパッケージを選択し、「次へ」をクリックします:

GitHub経由でBright Data Difyプラグインをインストールする

インストール」をクリックして、プラグインのインストールを完了します。インストールが完了したら、プラグインカードをクリックします。右側に開いたパネルで、「Authorize」ボタンをクリックします:

認証をクリックする

Bright Data APIトークンを貼り付け、「保存」をクリックします:

Bright Data APIキーの保存

驚きました!Bright Data Difyプラグインがインストールされ、ツールが使えるようになりました。

ステップ#3: 新規Difyアプリケーションの作成

これで、ノーコードでAI要約エージェントを作成するための準備が整いました。Difyのダッシュボードに戻り、”CREATE APP > Create from Blank “をクリックして、新しいAIエージェントプロジェクトを開始します:

空白から作成」オプションをクリックする

Workflow “テンプレートを選択し、AIエージェントに “AI Summarization Agent “のような名前を付け、”Create “をクリックしてアプリを初期化する:

Difyで新しいAIエージェントを初期化する

ビジュアルキャンバスが表示され、ノードを接続してエージェントを構築することができます:

ノーコードでAIエージェント・ロジックを作成するためのキャンバス

ここで、異なるコンポーネントをリンクすることによって、AIエージェントのロジックとデータフローを定義します。素晴らしい!

ステップ#4: AIエージェントのロジックを考案する

ノーコードのAIエージェントを実装する前に、AIエージェントが何をする必要があるかを考案するのに時間をかけてください。この場合、AIエージェントは

  1. 要約するウェブページのURLを受け取る。
  2. Bright DataプラグインにURLを渡して、ページの内容をMarkdown形式で取得します。
  3. 設定されたLLMに、要約を生成するプロンプトとともにMarkdownコンテンツを送信する。
  4. 要約した内容をユーザーに返す。

次の4つのステップでは、Difyでノードを接続したり、プラグインを使用したりして、それぞれのアクションを実装します。

ステップ5:ページURL入力パラメーターの設定

まず、”START “ノードをクリックし、”+”アイコンをクリックして新しい入力変数を追加する:

をクリックする

入力タイプのオプションから、「Paragraph」データタイプを選択します。これはURLのようなテキストを入力するのに理想的です。入力にpage_urlのような名前を付けます:

Paragraph "ページ_url入力の定義

この入力は、このAIエージェントが機能するために不可欠であるため、”Required “トグルがオンになっていることを確認してください。保存すると、このように表示されます:

設定されたpage_url入力パラメータに注意

START “ノードにカスタム入力変数が表示されているのをご覧ください。よくやった!

ステップ #6: Bright DataプラグインでMarkdownコンテンツを取得する

START “ノードの “+”ボタンをクリックし、Bright Dataプラグインを選択します。次に “Scrape As Markdown “ツールを選択します:

Scrape As Markdown "ツールの選択

入力パラメータとしてpage_urlを設定してツールを設定する。また、”RETRY ON FAILURE “オプションを有効にします。これにより、スクレイピング中にエラーが発生した場合、Bright Dataプラグインが自動的に再試行します:

Bright Dataプラグインの "SCRAPE AS MARKDOWN "ツールの設定

すばらしい!Bright Dataプラグインは、提供されたURLを受け取り、ページをスクレイピングし、そのコンテンツをMarkdownフォーマットで返します。

ステップ#7:LLM要約ロジックの統合

次のステップは、Bright Dataプラグインによって返されたMarkdownコンテンツを要約するLLMノードを接続することです。Scrape As Markdown” ノードの “+” アイコンをクリックし、”LLM” を選択します:

LLMノードの選択

LLM “ノードの設定で、”CONTEXT “入力を “Scrape As Markdown “ツールの出力であるテキスト変数に設定する。

次に、次のようなプロンプトを書く:

You are a summarization agent. Based on the Markdown content provided below, write a concise and helpful summary in no more than 150 words. Focus on capturing the key elements of the content.

Content:
{CONTEXT}
プロンプトにコンテキストを追加する

LLM “ノードはDify AIエージェントの頭脳として働き、データを処理し、要約を生成します。すごい!これでAIエージェント構築ロジックはほぼ完成です。

ステップ8:要約を返す

Dify AIエージェントのワークフローの最後のステップとして、”End “ノードを追加します:

終了」ノードの選択

END “ノードがLLMノードからのテキスト出力を使用するように設定する:

出力変数 "text "の設定

このノードは、最終的に要約されたコンテンツをユーザーに返す処理を行う。ミッション完了!ノーコードのAI要約エージェントが使えるようになった。

ステップ#9: AIエージェントのテスト

これが、完成したDify AIエージェントのワークフローです:

最終的なDify AIエージェントのワークフロー

わずか4つのノードで、正確な要約機能を持つ現実世界のAIエージェントを構築した。

テストするには、右上の「実行」ボタンをクリックする:

実行」ボタンをクリックする

次に、要約したいページのURLを入力する。この例では、CNNスポーツの記事を使わなければならない。

Start Run “ボタンを押すと、各ノードが順番に実行され、成功すると緑色になるのがわかります:

AIエージェントの実行

このような出力が得られる可能性がある:

This CNN article analyzes the epic French Open final between Carlos Alcaraz and Jannik Sinner, highlighting it as proof that men's tennis is in good hands for the future. Alcaraz's improbable comeback from two sets down against Sinner is described as a historic moment. The author notes that with the era of Djokovic, Federer, and Nadal ending, Alcaraz and Sinner have demonstrated that they are ready to fill the void. The rivalry between Alcaraz and Sinner is compared to the great rivalries of the past, with the potential to elevate the sport. Experts even suggest that Alcaraz and Sinner could beat Nadal at his best. The article emphasizes the high level of play and the exciting future of tennis with these two stars.

これは150語以下の簡潔で文脈に沿った要約であり、要求通りである。LLMが記事のソースをCNNと認識していることにも注目してほしい。

出来上がり!あなたは、一行のコードも書くことなく、Difyで完全に機能するAI要約エージェントを構築したのです。このエージェントは、あらゆるウェブページを処理し、要約することができます。

結論

この記事では、Difyを使ってノーコードのワークフローでAI要約エージェントを構築する方法を学んだ。本番環境に対応するために、エージェントは公開ウェブデータにアクセスする必要があります。これはBright Data Difyプラグインのおかげで可能になりました。Bright Data Difyプラグインは、AIに対応したデータ検索のための高度なツールを公開しています。

さて、これは単純なワークフロー例でしたが、もっと複雑なAIエージェントを作りたい場合もあるでしょう。そのためには、ウェブコンテンツを取得、検証、変換するツールが必要です。これこそが、Bright DataのAIインフラストラクチャが提供するものです。

無料のBright Dataアカウントを作成し、当社のAI対応データツールの実験を開始してください!