ツールプラグインの導入と設定

dify-docs-install-and-configure-tool-plugins

Difyでツールプラグインを導入し、チャットフローから外部APIや追加機能を呼び出すための設定手順をまとめます。

⚠️

本手順は一般的なDifyの仕様に基づいています。バージョンによりUIの表記が異なる場合があります。

1. ビルトインツールの設定

1.1 Google Search(SerpAPI)設定例

手順A:SerpAPIアカウント準備

  1. https://serpapi.com/ にアクセス
  1. アカウントを作成(無料プランあり)
  1. ダッシュボードからAPI Keyを取得

手順B:Dify側での設定

Notion image
  1. 左メニューから 「ツール」 を開く
  1. 一覧(または検索)で 「Google Search」 を探す
  1. 「認証」(または設定/Configure)を開く
  1. SerpAPI Key を入力
  1. 保存

よくある注意点

  • API Keyが未設定だと、ツール呼び出し時に失敗します(空の結果、認証エラーなど)。
  • 環境(クラウド/セルフホスト、権限)により、表示文言が「ツール」「プラグイン」などに揺れる場合があります。

2. カスタムツールの作成

Difyのカスタムツールは、基本的に OpenAPI(Swagger)形式で定義します。

2.1 OpenAPI定義(例)

openapi: 3.0.0
info:
title: My Custom API
version: 1.0.0
servers:
- url: https://api.example.com
paths:
  /search:
    get:
      operationId: searchProducts
      summary: 商品を検索する
      parameters:
        - name: query
          in: query
          required: true
          schema:
            type: string
          description: 検索キーワード
      responses:
        '200':
          description: 検索結果
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    name:
                      type: string
                    price:
                      type: number

2.2 カスタムツール登録手順

Notion image
  1. 左メニュー 「ツール」→「カスタムツール」 を開く
  1. 「カスタムツールを作成」 を選択
  1. 基本情報(名称、説明など)を入力
    1. 項目
      入力内容
      名前
      ツールの識別名(英数字推奨)
      説明
      ツールの用途(LLMが参照)
      スキーマ
      OpenAPI仕様(YAML/JSON)
  1. OpenAPI仕様を貼り付け/アップロード
  1. 認証が必要なら認証方式を設定
    1. 認証タイプ
      用途
      なし
      認証不要のAPI
      API Key
      ヘッダーまたはクエリでキー送信
      Basic認証
      ユーザー名/パスワード
      Bearer Token
      OAuthトークン
  1. 保存

2.3 認証設定(API Key例)

認証タイプ: API Key
キー名: X-API-Key
キー位置: Header
キー値: (実際のAPIキー)
⚠️

キーは漏洩しないよう権限・保管・ローテーションを設計してください。

3. チャットフローでのツール利用

3.1 ツールノードの追加

Notion image

手順

  1. チャットフロー編集画面を開く
  1. 「+」→「ツール」 を選択
  1. 使用するツール(ビルトイン/カスタム)を選択

3.2 パラメータ設定

Notion image

手順

  1. ツールに渡す入力(クエリ、ID、本文など)を、フロー内の変数と接続します。
  1. 出力は後続ノード(LLM、条件分岐、整形ノードなど)で利用します。

3.3 LLMによるツール自動選択

LLMノード側で、状況に応じてツールを選択・実行できるようにします。

手順

  1. LLMノードを選択
  1. 「ツール」 セクションを開く
  1. 使用を許可するツールを選択
  1. 「ツール呼び出しを許可」 をON

ツール選択を制御する指示例(システムプロンプト)

ユーザーが最新のニュースについて質問した場合のみ、Google Searchツールを使用してください。
ナレッジベースで回答できる質問にはツールを使用しないでください。

4. エラーハンドリング(失敗時設計)

4.1 IF/ELSEでの分岐例

  • 条件例:tool_output is empty
    • True: 「申し訳ありません、情報を取得できませんでした」 
    • False:通常処理へ

4.2 タイムアウト設定(目安)

  • ビルトインツール:10〜30秒
  • カスタムツール:API特性(平均応答、最大応答)に応じて調整

5. デジタルヒューマン向けベストプラクティス

5.1 応答速度の最適化

  • ツール使用は必要最小限にする
  • 並列実行できるツールは同時に実行
  • キャッシュ可能な情報は事前取得
  • タイムアウトは短め(例:5〜10秒)を検討

5.2 フォールバック設計

  • ツール失敗時も会話を継続できる設計
  • 「調べています」などの中間応答を用意
  • エラー時の代替回答(次の質問誘導、別手段提示)を準備
Note: デジタルヒューマンでは応答の自然さが重要です。ツール実行中の待ち時間が長いと、ユーザー体験が損なわれる可能性があります。

付録:ツールノードでよく使う設定項目

  • ツール名:フロー内で識別しやすい名前
  • 入力パラメータ:ツールに渡す値(変数で指定)
  • タイムアウト:外部APIの待ち時間上限
  • エラーハンドリング:失敗時の挙動(スキップ、デフォルト値など)

Difyでツールプラグインを導入し、チャットフローで活用するための設定手順を解説します。

お役に立ちましたか?
😞
😐
🤩

最終更新日 March 3, 2026