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

# ナレッジベース

> コンテンツをアップロード — ドキュメント、FAQ、ポリシー — して通話中にエージェントがそれをもとに質問に回答できるようにします。

## 仕組み

<Note>
  ナレッジベースを手動で作成する必要はありません。コンテンツ（URL、ファイル、テキスト）を追加すると自動的に作成され、ID が返されます。
</Note>

アップロードされたコンテンツは通話中に自動的にインデックス化・検索されます — 設定は不要です。

対応ファイル形式：PDF、Excel、Word 文書。最大ファイルサイズ：20 MB。

***

## クイックスタート — 1 回の API 呼び出しでコンテンツを追加

ナレッジベース ID を手動で作成する必要はありません。`POST /v1/knowledge-bases/sources`（パスに `kb_id` なし）でソース名から新しいナレッジベースが自動作成され、すぐにインデックス処理が開始されます。レスポンスに `knowledge_base_id` が含まれます — エージェントに紐付けるためにこれを保存してください。

### URL を追加

公開 URL を指定します — ドキュメントページ、FAQ、ブログ記事、製品ページなど。OneInbox がページを取得してコンテンツを自動的にインデックスします。

```bash theme={null}
curl -X POST https://api.oneinbox.ai/v1/knowledge-bases/sources \
  -H "Authorization: Bearer <api_key>" \
  -F "type=url" \
  -F "source=https://docs.yourproduct.com/faq"
```

### ファイルをアップロード

ドキュメントを直接アップロードします。対応フォーマット：PDF、Excel、Word 文書。`file` フィールドのみを使用してください — ファイルをアップロードする際は `type` フィールドを含めないでください。

```bash theme={null}
curl -X POST https://api.oneinbox.ai/v1/knowledge-bases/sources \
  -H "Authorization: Bearer <api_key>" \
  -F "file=@/path/to/your-document.pdf"
```

### インラインテキストを追加

プレーンテキストとしてコンテンツを直接貼り付けます — ポリシー、スクリプト、FAQ、または手元にある任意のテキストに便利です。

```bash theme={null}
curl -X POST https://api.oneinbox.ai/v1/knowledge-bases/sources \
  -H "Authorization: Bearer <api_key>" \
  -F "type=text" \
  -F "source=Our refund policy is 30 days. Customers must provide proof of purchase to receive a refund."
```

3 つのエンドポイントはすべて同じレスポンス構造を返します：

```json theme={null}
{
  "knowledge_base_id": "kb_abc123",
  "source": { "id": "kbs_xyz", "status": "processing" },
  "job": { "id": "kbj_xyz", "status": "queued" }
}
```

* **`knowledge_base_id`** — 自動作成されたナレッジベースの ID。これを保存して、ステップ 3 でエージェントに KB を紐付けます。
* **`source.id`** — 追加された個別のコンテンツソース。
* **`job.id`** — 処理ジョブ。これをポーリングしてインデックス進捗を追跡します。

KB はURL ドメインまたはファイル名にちなんで命名されます。

***

## ステップ 2 — 処理状況を確認する

コンテンツは非同期でインデックスされます。エージェントに KB を紐付ける前にジョブが完了するまで待ちます — エージェントは処理が完了したコンテンツのみ使用できます。

```bash theme={null}
# この KB のすべてのジョブを一覧表示
curl https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/jobs \
  -H "Authorization: Bearer <api_key>"

# 特定のジョブを取得
curl https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/jobs/<job_id> \
  -H "Authorization: Bearer <api_key>"
```

ジョブはこの順序で進みます：`queued` → `running` → `completed` または `failed`

ステップ 3 に進む前に `"status": "completed"` になるまで待ってください。

***

## ステップ 3 — LLM モデルに紐付ける

これがナレッジベースをエージェントで利用可能にするステップです。LLM モデルに紐付けます（エージェントに直接ではなく）。`llm_id` はエージェント作成時に返されます — 持っていない場合は `GET /v1/agents/<agent_id>` で取得してください。

```bash theme={null}
curl -X PATCH https://api.oneinbox.ai/v1/models/<llm_id> \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "knowledge_base_ids": ["<kb_id>"]
  }'
```

この LLM モデルを使用するすべてのエージェントがナレッジベースにアクセスできるようになります。複数のナレッジベースを一度に紐付けるには：

```bash theme={null}
{ "knowledge_base_ids": ["kb_abc123", "kb_def456"] }
```

***

## ナレッジベースを管理する

### すべてのナレッジベースを一覧表示

アカウント内のすべてのナレッジベースを取得します。`kb_id` の値を見つけたり、エージェントがアクセスできるコンテンツを確認するのに便利です。

```bash theme={null}
curl https://api.oneinbox.ai/v1/knowledge-bases \
  -H "Authorization: Bearer <api_key>"
```

### ナレッジベースのソースを一覧表示

特定の KB に追加されたすべての個別コンテンツソース（URL、ファイル、インラインテキスト）を確認します。

```bash theme={null}
curl https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/sources \
  -H "Authorization: Bearer <api_key>"
```

### ソースを削除する

KB から単一のソースを、そのベクターチャンクおよび保存ファイルごと削除します。`source_id` は上記のソース一覧エンドポイントから取得できます。

```bash theme={null}
curl -X DELETE "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/sources/<source_id>" \
  -H "Authorization: Bearer <api_key>"
```

### ナレッジベースを更新する

KB の名前、チャンクサイズ、または多言語モードを変更します。チャンクサイズの変更は次に処理されるソースから有効になります — 既存のコンテンツは自動的に再インデックスされません。

```bash theme={null}
curl -X PATCH https://api.oneinbox.ai/v1/knowledge-bases/<kb_id> \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Product Docs v2", "chunk_size": 1024, "multilingual": true }'
```

| フィールド          | 内容                                            |
| -------------- | --------------------------------------------- |
| `name`         | KB の名前変更                                      |
| `chunk_size`   | チャンクあたりのトークン数 — 小さいほど精度高、大きいほど文脈が多い           |
| `multilingual` | `true` にすると言語をまたいだ検索が有効になる（コンテンツと質問が異なる言語でも可） |

### ナレッジベースを削除する

KB とそのインデックス済みコンテンツをすべて永続的に削除します。KB が LLM モデルに紐付いている場合、削除後はそのエージェントで利用できなくなります。

```bash theme={null}
curl -X DELETE https://api.oneinbox.ai/v1/knowledge-bases/<kb_id> \
  -H "Authorization: Bearer <api_key>"
```

***

## API リファレンス

[ソース追加（KB 自動作成）](/api-reference/knowledge-bases/add-knowledge-base-source-auto-create) · [ソース追加](/api-reference/knowledge-bases/add-knowledge-base-source) · [ジョブ一覧](/api-reference/knowledge-bases/list-knowledge-base-jobs)
