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

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側での設定

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

よくある注意点

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

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 カスタムツール登録手順

  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. チャットフロー(Workflow)でのツール利用

Notion image

3.1 ツールノードの追加

手順

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

3.2 パラメータ設定

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

3.3 LLMによるツール自動選択(Tool calling)

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でツールプラグインを導入し、チャットフローで活用するための設定手順を解説します。

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

最終更新日 February 20, 2026