> ## Documentation Index
> Fetch the complete documentation index at: https://enterprise-docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ナレッジ API

> ナレッジベース、ドキュメント、チャンクを扱う API

Dify コンソールを介さず、自分のコードから [ナレッジベース](/ja/2.5.x/use/knowledge/readme) を構築・管理できます。ナレッジベースを作成し、ドキュメントとチャンクを取り込み、検索や RAG のために直接クエリできます。

<Note>
  1 つのナレッジベース API キーは、ワークスペースオーナーから見えるすべてのナレッジベースにアクセスできます（リクエストはキーの作成者にかかわらずオーナー権限で実行されます）。データの意図しない漏えいを防ぐため、キーは慎重に管理してください。
</Note>

## API エンドポイントとキーの取得

**ナレッジ** 画面で **APIアクセス** タブを開きます。ここから以下を行えます。

* **APIサーバー** のアドレスをコピーします。すべてのナレッジ API リクエストのベース URL です。
* **APIキー** をクリックしてキーを作成・管理します。

<Warning>
  API キーはサーバー側で安全に保管してください。クライアントコードや公開リポジトリには絶対に含めないでください。
</Warning>

## ナレッジベースの作成と管理

* **[空のナレッジベースを作成](/ja/2.5.x/develop/api/knowledge-bases/create-an-empty-knowledge-base)**：ドキュメントを含まないナレッジベースを作成します。
* **[ナレッジベースリストを取得](/ja/2.5.x/develop/api/knowledge-bases/list-knowledge-bases)**：キーワードまたはタグで絞り込めるページネーション付きリストを返します。
* **[ナレッジベースを削除](/ja/2.5.x/develop/api/knowledge-bases/delete-knowledge-base)**：ナレッジベースとその中のすべてのドキュメントを完全に削除します。
* **[ナレッジベースからチャンクを取得 / テスト検索](/ja/2.5.x/develop/api/knowledge-bases/retrieve-chunks-from-a-knowledge-base-test-retrieval)**：ナレッジベースを検索し、最も関連性の高いチャンクを返します。本番検索と検索テストの両方に同じエンドポイントを使います。

## ドキュメントの追加と更新

ドキュメントの作成は非同期です。作成後、インデックスが完了するまでポーリングします。

<Steps>
  <Step title="ナレッジベースの作成">
    [空のナレッジベースを作成](/ja/2.5.x/develop/api/knowledge-bases/create-an-empty-knowledge-base) を呼び出します。既存のナレッジベースをそのまま使うこともできます。
  </Step>

  <Step title="ドキュメントの追加">
    [テキストからドキュメントを作成](/ja/2.5.x/develop/api/documents/create-document-by-text) または [ファイルからドキュメントを作成](/ja/2.5.x/develop/api/documents/create-document-by-file) を呼び出します。どちらも `batch` ID を返します。

    ナレッジベース作成時に `indexing_technique`（検索用に内容をインデックスする方法）を設定しなかった場合は、この最初のドキュメントで設定します。以降のドキュメントには自動的に引き継がれます。
  </Step>

  <Step title="インデックス状況のポーリング">
    `batch` ID を使って [ドキュメント埋め込みステータス（進捗）を取得](/ja/2.5.x/develop/api/documents/get-document-indexing-status) をポーリングします。`indexing_status` が `completed` または `error` になるまで待ちます。処理は `waiting`、`parsing`、`cleaning`、`splitting`、`indexing` の順に進みます。
  </Step>
</Steps>

* **[ナレッジベースのドキュメントリストを取得](/ja/2.5.x/develop/api/documents/list-documents)**：キーワードで絞り込めるページネーション付きリストを返します。
* **[テキストでドキュメントを更新](/ja/2.5.x/develop/api/documents/update-document-by-text)**：ドキュメントのテキスト内容、名前、処理設定をインラインで更新します。内容が変わるとインデックスを再実行します。
* **[ファイルでドキュメントを更新](/ja/2.5.x/develop/api/documents/update-document-by-file)**：新しいファイルをアップロードして内容を置き換え、インデックスを再実行します。
* **[ドキュメントを削除](/ja/2.5.x/develop/api/documents/delete-document)**：ドキュメントとその中のすべてのチャンクを完全に削除します。

## チャンクの管理

* **[ドキュメントにチャンクを追加](/ja/2.5.x/develop/api/chunks/create-chunks)**：チャンクを手動でドキュメントに追加します（アップロードされた内容は、インデックス処理が自動でチャンク化します）。各チャンクには `content` が必須で、Q\&A モードのドキュメントでは `answer` も必須です。
* **[チャンク一覧を取得](/ja/2.5.x/develop/api/chunks/list-chunks)**：キーワードやステータスで絞り込めるチャンクのリストを返します。
* **[ドキュメント内のチャンクを更新](/ja/2.5.x/develop/api/chunks/update-chunk)**：チャンクの内容、キーワード、回答を変更し、そのチャンクのインデックスを再実行します。
* **[ドキュメント内のチャンクを削除](/ja/2.5.x/develop/api/chunks/delete-chunk)**：チャンクを完全に削除します。
