【Dify】Dify上で外部検索を実現する方法4選|Dify公式プラグイン・Tavily・Google API・独自APIの徹底比較

運営会社:合同会社サステックス


元Microsoftエンジニアが立ち上げたAI・システム開発に特化したテクノロジーカンパニー。
機械学習や生成AIを活用したPoC開発や業務効率化、プロダクト構築を支援。
累計200件以上のAI開発・技術支援の実績があり、伴走型支援が強み。

この記事は約8分で読めます。

目次

なぜDifyで外部検索を使用するのか?

サステックスのエンジニアの鈴木です。 みなさん、Dify活用していますか?

生成AIの導入を考える企業にとって、「AIがどこまで正しい情報を答えてくれるのか?」は大きな関心ごとです。
特に Dify(ディファイ) のようなAIアプリ構築プラットフォームを使う際に重要になるのが、外部検索の組み込みです。

ChatGPTなどのLLMは非常に便利ですが、以下のような課題があります。

  • 知識の鮮度が古い:最新ニュースや直近の法改正を知らない
  • 事実誤認(ハルシネーション):正しそうに聞こえるが根拠のない回答を返す
  • 専門知識の不足:特定業界の最新情報や細かい仕様には対応できない

これらに対して、Google検索のような外部検索の機能を組み込む事で改善が出来ます。
特に、市場調査・競合分析、SEO記事生成、外部ドキュメントに依存したFAQチャットボット制作などには外部検索が必須になってきます。

結論

結論だけ先に読みたい方向けです!

方法機能費用感運用難易度柔軟性コメント
Dify公式プラグイン(Googleプラグイン)SerpAPIという外部サービスが提供。
– 「Google Search」
– 「Google Image Search
月額$75(5000回検索)低い低い
Dify公式プラグイン(SearchAPI)SearchAPIという外部サービスが提供。
「Google Jobs API」
「Google News API」
「YouTube Transcripts API」
「Google Search API」
月額$40(1000回検索)低い低い
Tavily SearchLangChainが提供。LLM構造に強い。月額$30
(4000回検索)
低い低いよく使われているし、LLMの構造に適している。

個人的おすすめ
HTTPリクエスト(Google Search API経由)Google Custom Search APIを活用するため、柔軟かつ安い。
設定が少し大変。
$5(1000回検索)普通高い設定の手間はあるが、検索頻度が高い場合、おすすめ。
HTTPリクエスト(自作API経由)別途APIを用意。非常に安い。
(サーバー代のみ)
高い非常に高いエンジニア必須。
Difyだけでは出来ない事も出来るため、柔軟性が非常に高い。

方法①: Dify公式プラグインを活用する

DifyのMarketplaceには、Difyの公式が提供する検索プラグインが揃っています。特に「Google Search」、「SerpAPI」が挙げられます。Dify公式が提供しているので簡単に導入する事が出来ますが、費用や柔軟性の観点が少しネックです。

Googleプラグイン

Difyが提供しているGoogleSearchが使用できるプラグインです。
ちなみにGoogleの公式プラグインではなくて、SerpAPIという外部サービスを利用したプラグインになります。

「Google Search」、「Google Image Search」の2種類を使用することが出来ます。

SerpApi
SerpApi: Google Search API SerpApi is a real-time API to access Google search results. We handle proxies, solve captchas, and parse all rich structured data for you.

SearchApi

こちらは名前が似ててややこしいのですが、「SearchAPI」という名前の外部サービスを利用したDify公式のプラグインとなっています。
以下の4種類のスクレイピングが可能です。

  • 「Google Jobs API」
  • 「Google News API」
  • 「YouTube Transcripts API」
  • 「Google Search API」
SearchApi
Google Search API for real-time SERP scraping Scrape organic results, ads, related searches, inline questions and more. Receive structured results in JSON format. Sign up for a free plan today!

導入手順と設定方法

  1. Difyの管理画面からMarketplaceを開く
  2. 利用したいプラグインを選びインストール
  3. SerpAPIのAPIキーを設定

APIの設定が新規に必要な方は、 Get your SerpApi API key from SerpAPI というリンクからそれぞれの公式サイトに飛んでAPIの作成をする必要があります。

公式プラグインは認証や設定のUIが整っており、初心者でも迷わず導入できるのが魅力です。
無料でお試しもできるので、まずはこちらでお試しするのが良いかと思います。


方法②:外部プラグイン(例:Tavily Search)の利用

Tavily Searchとは

Tavilyは、LangChainが提供しているAIエージェントやRAGに最適化された検索サービスです。
Googleより軽量で、最新記事やニッチな情報を高速に取得できるのが特徴です。
以下の2つが可能となっています。

  • 「Tavily Extract」:URLからWebページコンテンツの取得が可能
  • 「Tavily Search」:LLMに特化した構造を持つ独自の検索

Difyへの組み込み方

  1. Tavily公式サイトでAPIキーを発行
  2. Dify Marketplaceから「Tavily」プラグインを追加
  3. APIキーを設定して利用開始

こちらも先程と同様に、 Get your Tavily API key from Tavilyと記載されたリンクから、APIキーの作成が可能です。


方法③:HTTPリクエストでGoogle Search APIを活用

こちらはGoogleが公式に提供しているAPIを活用した方法となります。
HTTPリクエストを叩く必要があるため、少し手間がありますが、「特定のサイトからのみ検索する」、「費用が安い」とメリットがいくつかあります。また、Google検索と同等の精度をそのまま知識として使用することが出来ます。

Google Custom Search APIの概要

Custom Search JSON API は、Googleの Programmable Search Engine(旧称:Custom Search Engine)を活用して、ウェブや画像の検索結果をアプリやウェブサイトから プログラム経由で取得できるREST APIです。

DifyのHTTPリクエスト機能との組み合わせ方

1. Google Cloud ConsoleからAPIキーと検索エンジンIDを取得

GCP上で、「Custom Search API」を有効化します。

あわせて読みたい

GCP上でAPIキーの作成をする

カスタム出来るGoogle検索エンジンを取得

以下のサイトより、検索エンジンを追加して、検索エンジンIDを取得します。

あわせて読みたい

2. DifyのHTTPリクエスト機能でエンドポイントを設定

Dify上で「ブロックを追加」を押して、「HTTPリクエスト」ブロックを選択して作成してください。

  • APIのURL: https://www.googleapis.com/customsearch/v1
  • key: 先ほど作成したAPIキーを入力してください。
  • cx: 先ほど作成したCustom Search Engineの検索エンジンIDを入力してください。
  • q: 検索したいクエリを入れてください。ここでは変数を活用して、keywordをユーザー入力とさせています。

設定は少し大変でしたが、これだけです!
ただし、通常の検索と同じように、各検索結果の詳細に関しては取得出来ず、あくまでも記事のURL、タイトル、簡単なサマリーのみとなっています。そのため、必要があれば、より詳細な情報を取得したい際は、スクレイピング(プラグイン、もしくはHTTPリクエスト)を使用するようにしましょう。

こちらの方法では、

  • 特定サイトだけを対象にした検索エンジンを構築し、特定のドキュメントだけ取得
    • 例えば、企業情報を取得する際、四季報など信頼度が高いドメインだけに絞る。
  • リサーチ業務に合わせたフィルタリング
    • 例えば、物販系事業をされている方であれば、ebay、ヤフオク、といった特定のドメインだけを検索する。

といった事が可能になります。

方法④:自作のAPIを活用する

こちらはあまり見ない方法ですが、自作のAPIを別途作成して、リクエストノードを制作する、といった方法です。

弊社ではこちらの記事でもご紹介をしております。

あわせて読みたい
【Dify】スクリーンショット取得自動化ワークフロー|競合監視や価格チェックに活用! Difyと自作スクレイピングAPIを連携し、指定URLのWebページを自動でスクリーンショット取得するワークフローの構築方法を解説。競合サイト監視やレポート作成など業務効率化に応用可能。

なぜDifyという便利なノーコードツールを使用しているのにこのように外部APIを制作するのか、という点ですが、Dify上ではPythonノードを提供していますが、セキュリティの観点から他ライブラリの導入やサンドボックスの設定が少し煩雑になっています。
このように自作のAPIを用意することで、理屈的には通常のDifyでは出来ない事も出来るようになります。
例えば、上記の記事では特定のWebサイトのLPの画像取得を行い、分析を行う、といったワークフローを実現していますが、外部プラグインやDifyの標準機能ではスクリーンショットの取得が少し難しいです。特にJavascriptを活用したアニメーションがあるサイトでは、通常のリクエストではなくブラウザが必要となります。

そのため、エンジニアリソースがあり用途が合う場合、自作のAPIを作成さえすれば、エンジニア以外でも通常のワークフローでは実現が難しいものでも、簡単に構築することが出来るようになります。運用の大変さはありますが、費用やスケーラビリティも柔軟なので、特殊な用途がある場合はこちらも検討されると良いでしょう。

まとめ

Difyで外部検索を利用する理由は、「生成AIの限界を補う」ためです。
LLM単体では知識の鮮度・正確性・専門性に課題があるため、Google検索やTavilyのような外部検索APIを組み合わせることで、最新情報や信頼性のあるデータを補完できます。

利用方法は大きく分けて4種類あり、特徴は以下の通りです。

  1. Dify公式プラグイン
    • SerpAPIやSearchAPIを利用
    • 導入が容易でUIも整っているが、コストはやや高め
  2. 外部プラグイン(例:Tavily Search)
    • LangChain提供、LLM最適化済み
    • ニッチな検索に強く、導入も簡単
  3. HTTPリクエスト(Google Custom Search API)
    • 柔軟で安価($5/1000回)
    • 設定に少し手間はかかるが、検索精度・コスト面でバランスが良い
  4. 自作API
    • 開発リソースがあれば最も柔軟
    • スクレイピングや特殊用途に対応可能

結論として、まずは公式プラグインやTavilyで手軽に試しつつ、利用頻度やニーズに応じてGoogle Custom Search APIや自作APIも活用するのがベストプラクティスです。


「AI活用したいけど、どこに頼めばいいか分からない…」とお悩みの方へ。
サステックスは、AI歴10年以上の元Microsoftエンジニアが率いる開発チームです。
PoC〜開発運用まで、ビジネスと技術の両面で支援します。まずは無料で相談してみませんか?

目次