> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-add-new-agent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 外部ナレッジベースと連携

<Note> ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/use-dify/knowledge/connect-external-knowledge-base)を参照してください。</Note>

> この文書では、Difyプラットフォームとは独立したナレッジベースを総称して **「外部ナレッジベース」** と呼びます。

## 機能概要

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

テキスト検索と取得の精度に高い要求を持ち、内部資料の管理ニーズを満たすために、一部のチームは独自にRAGアルゴリズムを開発し、個人のテキスト取得システムを維持したり、コンテンツをクラウドプロバイダのナレッジベースサービス（例：[AWS Bedrock](https://aws.amazon.com/bedrock/)）に統合したりしています。

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

**外部ナレッジベースに接続する**機能を使うことで、Difyプラットフォームと外部ナレッジベースを接続できます。APIサービスを通じて、AIアプリケーションはより多くの情報源からデータを取得できるようになります。具体的には：

* Difyプラットフォームは、クラウドサービスプロバイダのナレッジベースにホスティングされているテキストコンテンツを直接取得でき、開発者はDify内のナレッジベースに再度コンテンツを転送する必要がありません。
* Difyプラットフォームは、独自に構築したナレッジベース内のアルゴリズムで処理されたテキストコンテンツを直接取得でき、開発者は独自のナレッジベースの情報検索メカニズムに焦点を当て、情報取得の精度を継続的に最適化できます。

<Frame caption="Principle of external knowledge base connection">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/knowledge-base/9375511bd3f571a798fee6b3224152a6.png" alt="" />
</Frame>

以下は外部ナレッジベースに接続するための詳細な手順です：

<Steps>
  <Step title="要件を満たす外部ナレッジベースAPIを構築する" titleSize="h2">
    Difyとの接続を成功させるためには、外部ナレッジベースがDifyが作成した[外部ナレッジベースAPI仕様](/ja/use-dify/knowledge/api-documentation/external-knowledge-api-documentation)を慎重に読み、APIサービスを構築する必要があります。
  </Step>

  <Step title="外部ナレッジベースを関連付ける">
    > 現在、Difyは外部ナレッジベースに対する最適化や変更をサポートしておらず、検索権限のみを有しています。開発者は外部ナレッジベースを自己管理する必要があります。

    **"ナレッジベース"** ページに移動し、右上の **"外部ナレッジベースAPI"** をクリックし、 **"外部ナレッジベースAPIを追加"** を選択します。

    ページの指示に従い、以下の内容を順番に入力してください：

    * ナレッジベースの名前：カスタム名を設定でき、接続された異なる外部ナレッジAPIを区別するために使用します。
    * APIインターフェースアドレス：外部ナレッジベースの接続アドレス（例：`api-endpoint/retrieval`）；詳細な説明は[外部ナレッジベースAPI](/ja/use-dify/knowledge/api-documentation/external-knowledge-api-documentation)を参照してください。
    * APIキー：外部ナレッジベース接続のためのキー；詳細な説明は[外部ナレッジベースAPI](/ja/use-dify/knowledge/api-documentation/external-knowledge-api-documentation)を参照してください。

    <Frame caption="">
      <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/knowledge-base/4d7d06ff196b74d2cae3b7fca29b3064.png" alt="" />
    </Frame>
  </Step>

  <Step title="外部ナレッジベースに接続する">
    **"ナレッジベース"** ページに移動し、追加したナレッジベースカードの下にある **"外部ナレッジベースに接続"** をクリックして、パラメーター設定ページに移動します。

    <Frame caption="">
      <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/knowledge-base/7e612d7f7e6b98c5b225ed6e0f733ea3.png" alt="" />
    </Frame>

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

    * **ナレッジベースの名称と説明**
    * **外部ナレッジベースAPI**: 第二ステップで関連付けられた外部ナレッジベースAPIを選択します。DifyはAPI接続を通じて、外部ナレッジベースに保存されているテキスト内容を呼び出します。
    * **外部ナレッジベースID**: 関連付ける特定の外部ナレッジベースIDを指定します。詳細については[外部ナレッジベースAPI](/ja/use-dify/knowledge/api-documentation/external-knowledge-api-documentation)を参照してください。
    * **召回設定の調整**

      **Top K:** ユーザーが質問を発起した際に、外部知識APIに関連性の高いコンテンツ片を要求します。このパラメータは、ユーザーの質問との類似度が高いテキスト片をフィルタリングするために使用されます。デフォルト値は3で、数値が大きいほど関連性のあるテキスト片が多く召回されます。

      **スコア閾値:** テキスト片フィルタリングの類似度閾値で、設定されたスコアを超えるテキスト片のみが召回されます。デフォルト値は0.5です。数値が高いほど、テキストと質問要求の類似度が高く、召回されるテキストの数が少なくなり、結果的により精度が高まります。

    <Frame caption="">
      <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/knowledge-base/67d5250adf1f8c6ebe5c657b8053d332.png" alt="" />
    </Frame>
  </Step>

  <Step title="外部ナレッジベースの接続と召回のテスト">
    接続が確立された後、開発者は **「召回テスト」** で可能な質問キーワードをシミュレーションし、外部ナレッジベースから召回されたテキスト片をプレビューできます。召回結果に満足できない場合は、召回パラメータの変更や外部ナレッジベースの検索設定の調整を試みてください。

    <Frame caption="">
      <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/knowledge-base/0bb82416f70f12d9d502bb31903513aa.png" alt="" />
    </Frame>
  </Step>

  <Step title="アプリ内で外部ナレッジベースを統合">
    * **Chatbot / エージェント型アプリ**

    Chatbot / エージェント型アプリの編成ページにある **「コンテキスト」** で、`EXTERNAL`ラベルの付いた外部ナレッジベースを選択します。

    <Frame caption="">
      <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/knowledge-base/6c5ae224b1f4a35459cbfdeed137a53a.png" alt="" />
    </Frame>

    * **チャットフロー / ワークフロー型アプリ**

    チャットフロー / ワークフロー型アプリに **「知識検索」** ノードを追加し、`EXTERNAL`ラベルの付いた外部ナレッジベースを選択します。

    <Frame caption="">
      <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/knowledge-base/9375511bd3f571a798fee6b3224152a6.png" alt="" />

      <figcaption />
    </Frame>
  </Step>

  <Step title="外部ナレッジベースの管理" titleSize="p">
    **「ナレッジベース」**ページでは、外部ナレッジベースのカードの右上に**EXTERNAL**ラベルが表示されます。変更が必要なナレッジベースに入って、\*\*「設定」\*\*をクリックして以下の内容を変更します：

    * **ナレッジベースの名称と説明**
    * **可視範囲**: 「自分だけ」、「全チームメンバー」、「一部のチームメンバー」の3つの権限範囲を提供します。権限のない人はそのナレッジベースにアクセスできません。ナレッジベースを他のメンバーに公開することを選択した場合、他のメンバーもそのナレッジベースの閲覧、編集、および削除権限を持つことになります。
    * **召回設定**

      **Top K:** ユーザーが質問をした際に、外部知識APIに関連性の高いコンテンツ片を要求します。このパラメータは、ユーザーの質問との類似度が高いテキスト片をフィルタリングするために使用されます。デフォルト値は3で、数値が大きいほど関連性のあるテキスト片が多く召回されます。

      **スコア閾値:** テキスト片フィルタリングの類似度閾値で、設定されたスコアを超えるテキスト片のみが召回されます。デフォルト値は0.5です。数値が高いほど、テキストと質問要求の類似度が高く、召回されるテキストの数が少なくなり、結果的により精度が高まります。

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

    <Frame caption="ナレッジベースの設置">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-6c0370d8-add-new-agent/ja-jp/img/connect-kb-7-en.webp" alt="" />
    </Frame>
  </Step>
</Steps>

### 接続例

#### LlamaCloud

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

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

1. Difyの[マーケットプレイス](https://marketplace.dify.ai/)にアクセスし、`LlamaCloud`を検索します
2. 指示に従ってLlamaCloudプラグインをインストールおよび設定します
3. Difyプラットフォームでプラグインを有効にします
4. プラグイン設定ウィザードに従って、LlamaCloudのAPIキーやその他の必要な情報を入力します
5. 設定が完了すると、ナレッジベースリストに接続された外部ナレッジベースが表示されます

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

詳細については、プラグインの[GitHubリポジトリ](https://github.com/langgenius/dify-official-plugins/tree/main/extensions/llamacloud)を参照してください。

**ビデオチュートリアル**

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

<iframe src="https://www.youtube.com/embed/FaOzKZRS-2E" width="100%" height="315" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## よくある質問

**外部ナレッジベースAPI接続時に異常が発生し、エラーが表示された場合の対処法は？**

以下は、返された各エラーコードに対するエラーメッセージと解決策です：

| エラーコード | エラーメッセージ                  | 解決策                                   |
| ------ | ------------------------- | ------------------------------------- |
| 1001   | 無効なAuthorization header形式 | リクエストのAuthorization header形式を確認してください |
| 1002   | 認証異常                      | 入力したAPIキーが正しいか確認してください                |
| 2001   | ナレッジベースが存在しない             | 外部ナレッジベースを確認してください                    |
