Dify
日本語
日本語
  • 入門
    • Difyへようこそ
      • 特性と技術仕様
      • モデルプロバイダーリスト
    • クラウドサービス
    • コミュニティ版
      • Docker Compose デプロイ
      • ローカルソースコードで起動
      • aaPanelでのデプロイ方法
      • フロントエンドDockerコンテナを単独起動
      • 環境変数の説明
      • よくある質問
    • Dify Premium
    • Dify 教育版
  • マニュアル
    • モデル
      • 新しいプロバイダーの追加
      • 事前定義されたモデルの追加
      • カスタムモデルの追加
      • インタフェース
      • 配置ルール
      • 負荷分散
    • アプリ・オーケストレーション
      • アプリの作成
      • チャットボット
        • 複数モデルのデバッグ
      • エージェント
      • ツールキット
        • コンテンツモデレーション
    • ワークフロー
      • キーコンセプト
      • 変数
      • ノードの説明
        • 開始
        • 終了
        • 回答
        • LLM
        • 知識検索
        • 質問分類
        • 条件分岐
        • コード実行
        • テンプレート
        • テキスト抽出ツール
        • リスト処理
        • 変数集約
        • 変数代入
        • 反復処理(イテレーション)
        • パラメータ抽出
        • HTTPリクエスト
        • エージェント
        • ツール
        • 繰り返し処理(ループ)
      • ショートカットキー
      • オーケストレートノード
      • ファイルアップロード
      • エラー処理
        • 事前定義されたエラー処理ロジック
        • エラータイプの概要
      • 追加機能
      • プレビューとデバッグ
        • プレビューと実行
        • ステップ実行
        • 対話/実行ログ
        • チェックリスト
        • 実行履歴
      • アプリケーション公開
      • JSON形式での出力
      • 変更通知:画像アップロード機能がファイルアップロード機能に統合されました
    • ナレッジベース
      • ナレッジベース作成
        • 1. オンラインデータソースの活用
          • 1.1 Notion からデータをインポート
          • 1.2 Webサイトからデータをインポート
        • 2. チャンクモードの指定
        • 3. インデックス方式と検索オプションの設定
      • ナレッジベースの管理
        • ナレッジベース内ドキュメントの管理
        • APIを活用したナレッジベースのメンテナンス
      • メタデータ
      • アプリ内でのナレッジベース統合
      • リコールテスト/引用帰属
      • ナレッジベースの要求頻度制限
      • 外部ナレッジベースとの接続
      • 外部ナレッジベースAPI
    • ツール
      • クイック統合ツール
      • 高度統合ツール
      • ツールの設定
        • Google
        • Bing
        • SearchApi
        • StableDiffusion
        • Perplexity Search
        • AlphaVantage 株式分析
        • Dall-e
        • Youtube
        • Serper
        • SearXNG
        • SiliconFlow(Flux AI サポート)
        • ComfyUI
    • アプリ公開
      • シングルページWebアプリとして公開
        • Web アプリの設定
        • テキスト生成アプリ
        • 対話型アプリ
      • Webサイトへの埋め込み
      • API基づく開発
      • フロントエンドテンプレートに基づいた再開発
    • アノテーション
      • ログとアノテーション
      • アノテーション返信
    • モニタリング
      • データ分析
      • 外部Opsツール統合
        • LangSmithを統合
        • LangFuseを統合
        • Opikを統合
    • 拡張
      • API 拡張
        • Cloudflare Workers を使用した API ツールのデプロイ
        • コンテンツモデレーション
      • コード拡張
        • 外部データツール
        • コンテンツモデレーション
    • コラボレーション
      • 発見
      • メンバーの招待と管理
    • 管理
      • アプリの管理
      • チームメンバーの管理
      • 個人アカウントの管理
      • サブスクリプション管理
      • バージョン管理
  • ハンドオン工房
    • 初級編
      • ゼロからAI画像生成アプリの構築方法
      • AIエージェントの実践:個人のオンライン旅行アシスタントの構築方法
    • 中級編
      • チャットストリームエージェントを使用した Twitter アカウントの分析方法
      • ファイルアップロードを使用した記事理解アシスタントの構築方法
  • コミュニティ
    • サポートの求め
    • 貢献者ガイド
    • ドキュメントへの貢献
  • プラグイン
    • 機能紹介
    • クイックスタート
      • プラグインのインストールと活用
      • プラグイン開発の入門
        • 開発環境のセットアップ
        • ツール型プラグイン
        • モデル型プラグイン
          • モデルプロバイダーの構築
          • 定義済みモデルの組み込み
          • カスタムモデルの組み込み
        • エージェント戦略プラグイン
        • 拡張機能型プラグイン
        • バンドル
      • プラグインのデバッグ方法
    • プラグイン管理方法
    • スキーマ仕様
      • Manifest(マニフェスト)
      • Endpoint(エンドポイント)
      • Tool(ツール)
      • Agent(エージェント)
      • Model(モデル)
        • モデル設計規則
        • モデルスキーマ
      • 一般的な標準仕様
      • 永続化されたストレージ
      • Difyサービスの逆呼び出し
        • アプリ
        • モデル
        • ツール
        • ノード
    • ベストプラクティス
      • Slack Bot プラグインの開発
      • Dify MCP プラグインガイド:ワンクリックで Zapier に接続してメールを自動送信
    • プラグインの公開
      • プラグインの自動公開
      • Difyマーケットプレイスへの公開
        • プラグイン開発者ガイドライン
        • プラグインのプライバシー保護に関するガイドライン
      • 個人GitHubリポジトリへの公開
      • ローカルでの公開と共有
      • 第三者署名検証のためにプラグインに署名する
    • よくある質問
  • 開発
    • バックエンド
      • DifySandbox
        • 貢献ガイド
    • モデルの統合
      • Hugging Faceのオープンソースモデルを統合
      • Replicateのオープンソースモデルを統合
      • Xinferenceでデプロイしたローカルモデルを統合
      • OpenLLMでデプロイしたローカルモデルを統合
      • LocalAIでデプロイしたローカルモデルを統合
      • Ollamaでデプロイしたローカルモデルを統合
      • LiteLLM Proxyを使用してモデルを統合する
      • GPUStackとの統合によるローカルモデルのデプロイ
      • AWS Bedrock上のモデル(DeepSeek)の接続
    • 移行
      • コミュニティ版を v1.0.0 に移行する
  • もっと読む
    • 活用事例
      • DeepSeek & Dify連携ガイド:多段階推論を活用したAIアプリケーション構築
      • Ollama + DeepSeek + Dify のプライベートデプロイ:あなた自身のAIアシスタントの構築方法
      • あなた専用のQAチャットボットのトレーニング方法
      • コードなしでMidjourney プロンプトボットを作成する方法
      • Notion AI アシスタントを構築する
      • 数分で業務データを持つ公式サイトのAIチャットボットを作成する方法
      • DifyチャットボットをWixサイトに統合する方法
      • AWS Bedrockのナレッジベースに統合する方法
      • Difyで大規模言語モデルの「競技場」を体験する方法:DeepSeek R1 VS o1 を例に
      • Difyスケジューラーの構築
      • DifyクラウドでAI Thesis Slack Botを構築
    • さらに読む
      • LLMOpsとは何ですか?
      • 配列変数とは何ですか?
      • 検索拡張生成(RAG)
        • ハイブリッド検索
        • Rerank
        • リトリーバルモード
      • プロンプトエンジニアリング
      • DifyでJSONスキーマ出力を使用する方法
    • FAQ
      • ローカルデプロイに関するFAQ
      • LLM設定と使用に関するFAQ
      • プラグイン
  • ポリシー
    • オープンソースライセンス
    • ユーザ規約
      • 利用規約
      • プライバシーポリシー
      • 合規性レポートの入手方法
Powered by GitBook
On this page
  • 機能概要
  • 1. 適合外部ナレッジベースAPIを作成する
  • 2. 外部ナレッジAPIを追加する
  • 3. 外部ナレッジベースの接続
  • 4. 外部ナレッジベースのテストと検索結果
  • 5. アプリ内で外部ナレッジベースを統合する
  • 6. 外部ナレッジベースの管理
  • 接続例
  • よくある問題
  1. マニュアル
  2. ナレッジベース

外部ナレッジベースとの接続

Previousナレッジベースの要求頻度制限Next外部ナレッジベースAPI

Last updated 2 months ago

この記事では、Difyプラットフォーム外のナレッジベースのことを 「外部ナレッジベース」 と呼びます。

機能概要

コンテンツ検索に高度なニーズを持つ上級開発者にとって、Difyプラットフォームに組み込まれているナレッジベース機能やテキスト検索・リコールメカニズムには制約があり、テキストのリコール結果を容易に変更することができません。

テキスト検索とリコールの精度に対する要求が高く、内部情報の管理の必要性があるため、一部のチームは独自にRAGアルゴリズムを開発し、テキストリコールシステムのメンテナンスを行ったり、コンテンツをクラウドベンダーのナレッジベースサービス(例:)に統合することを選択しています。

中立的なLLMアプリケーション開発プラットフォームであるDifyは、開発者に多様な選択肢を提供することを目指しています。

外部ナレッジベースとの接続機能を活用することで、Difyプラットフォームと外部ナレッジベースを容易に接続することが可能になります。APIサービスを通じて、AIアプリケーションはより多くの情報ソースにアクセスできるようになります。具体的には、以下のことを意味します:

  • Difyプラットフォームは、クラウドサービスプロバイダーがホストするナレッジベース内のテキストコンテンツを直接取得できます。そのため、開発者はDify内のナレッジベースにコンテンツを再度移動させる必要がありません。

  • Difyプラットフォームは、独自に構築したナレッジベース内でアルゴリズムによって処理されたテキストコンテンツを直接取得できます。これにより、開発者は自らのナレッジベースの情報検索メカニズムに注力し、情報のリコール精度を継続的に最適化・向上させることができます。

以下は、外部ナレッジに接続するための詳細な手順です:

1. 適合外部ナレッジベースAPIを作成する

2. 外部ナレッジAPIを追加する

外部ナレッジベースに接続する際、Difyは現在、検索権限のサポートのみを行い、外部ナレッジベースの最適化や修正のサポートはしていません。開発者は外部ナレッジベースを自己管理する必要があります。

**「ナレッジ」**ページに移動し、右上隅の **「外部ナレッジAPI」**をクリックし、次に **「外部ナレッジAPIを追加」**をクリックします。次の情報を入力するためにページの指示に従ってください:

  • Name、異なる外部ナレッジAPIを区別するためのカスタマイズ可能な名前;

3. 外部ナレッジベースの接続

**「ナレッジベース」ページに移動し、「外部ナレッジベースの接続」**をクリックして、パラメータ設定ページに進みます。

以下のパラメータを入力してください:

  • ナレッジベースの名前と説明

  • 外部ナレッジベースAPI

    第2ステップで関連付けた外部ナレッジベースAPIを選択してください。DifyはこのAPIを使用して、外部ナレッジベースに保存されているテキストコンテンツを呼び出します。

  • 外部ナレッジベースID

    関連付ける特定の外部ナレッジベースIDを指定してください。詳細については、外部ナレッジベースAPIの定義を参照してください。

  • リコール設定の調整

    Top K: ユーザーが質問を行うと、外部知識APIから関連性の高いコンテンツセグメントを取得します。このパラメータは、ユーザーの問いに類似したテキストセグメントを選定するために使用します。デフォルト値は3で、数値が高いほど、より多くの関連性のあるテキストセグメントが取得されます。

    Score 閾値: テキストセグメントの選択における類似性の閾値を設定します。このスコアを超えるテキストセグメントのみが取得されます。デフォルト値は0.5で、数値が高いほどテキストと問いの類似性が強く、取得されるテキストの数は少なくなります。

4. 外部ナレッジベースのテストと検索結果

外部ナレッジベースとの接続が確立された後、ユーザーは **「検索結果」**で可能なキーワードをシミュレーションし、取得されるテキストセグメントをプレビューできます。リコール結果に満足できない場合は、リコールパラメータを調整したり、外部ナレッジベースの検索設定を見直したりすることができます。

5. アプリ内で外部ナレッジベースを統合する

  • チャットボット/エージェントタイプのアプリ

    構成ページで外部ナレッジベースを関連付けます

  • チャットフロー/ワークフロータイプのアプリ

    **「ナレッジ検索」**ノードを追加し、外部ナレッジベースを選択します

6. 外部ナレッジベースの管理

「ナレッジベース」 ページでは、外部ナレッジベースのカードの右上にEXTERNALラベルが表示されます。変更が必要なナレッジベースに入って 「設定」 をクリックすることで、以下の項目を変更できます:

  • ナレッジベースの名前と説明

  • 可視範囲

    「Only Me」、「All Team Members」、**「Some Team Members」**の3つの権限範囲が提供されます。権限がないユーザーはそのナレッジベースにアクセスできません。ナレッジベースを他のメンバーに公開すると、そのメンバーもナレッジベースを閲覧、編集、削除する権限を持つようになります。

  • リコール設定

    Top K: ユーザーが質問を行った際に、外部知識APIから関連性の高いコンテンツセグメントを取得します。このパラメータは、ユーザーの問いに類似したテキストセグメントを選定するために使用されます。デフォルト値は3で、数値が高いほど、より多くの関連性のあるテキストセグメントが取得されます。

    Score閾値: テキストセグメントの選択における類似性の閾値を設定します。このスコアを超えるテキストセグメントのみが取得されます。デフォルト値は0.5で、数値が高いほどテキストと問いの類似性が強く、取得されるテキストの数は少なくなります。

外部ナレッジベースが関連付けられた 「外部ナレッジベースAPI」 と 「外部ナレッジベースID」 は変更できません。変更が必要な場合は、新しい 「外部ナレッジベースAPI」 を関連付けて再接続してください。

接続例

AWS Bedrock

AWS Bedrockのナレッジベースに統合する方法

LlamaCloud

DifyはLlamaCloudプラグインを公式に提供しており、LlamaCloudナレッジベースに簡単に接続することができます。

プラグインのインストール

  1. 指示に従ってLlamaCloudプラグインをインストールおよび設定します

  2. Difyプラットフォームでプラグインを有効にします

  3. プラグイン設定ウィザードに従って、LlamaCloudのAPIキーやその他の必要な情報を入力します

  4. 設定が完了すると、ナレッジベースリストに接続された外部ナレッジベースが表示されます

LlamaCloudプラグインを使用すると、カスタムAPIを作成することなく、DifyプラットフォームでLlamaCloudの強力な検索機能を直接利用できます。

ビデオチュートリアル

以下の動画では、LlamaCloudプラグインを使用して外部ナレッジベースに接続する方法を詳しく説明しています:

よくある問題

外部ナレッジベース API への接続時に例外が発生し、エラーが発生する時

以下は、返された情報の各エラー コードに対応するエラー プロンプトと解決策:

エラーコード
原因
解決方法

1001

無効な Authorization header 形式

リクエストの Authorization header 形式を確認してください

1002

検証異常

入力したAPIキーが正しいか確認してください

2001

ナレッジベース存在しない

外部ナレッジベースをチェックしてください

APIサービスの設定の前に、適合した外部ナレッジベースAPIを作成してください。外部ナレッジベースとDifyの間の統合が成功するように、Difyの仕様書を参照してください。

API Endpoint、エンドポイントのURL、例:api-endpoint/retrieval;詳しい指示については外部ナレッジAPIを参照してください;

APIキー、外部ナレッジへの接続キー、詳しい指示についてはを参照してください。

Difyのにアクセスし、LlamaCloudを検索します

詳細については、プラグインのを参照してください。

外部ナレッジベースAPI
外部ナレッジベースAPI
外部ナレッジベースAPI
マーケットプレイス
GitHubリポジトリ
AWS Bedrock
外部ナレッジベースとの接続の原理
外部ナレッジAPIの関連付け
外部ナレッジベースの接続
外部ナレッジベースのテストと検索結果
チャットボット/エージェント
チャットフロー/ワークフロー
ナレッジベースの設置