メインコンテンツへスキップ

概要

ナレッジベース(KB)により、エージェントが 自社コンテンツから回答を取得できます — 製品ドキュメント、FAQ、ポリシー、ファイルなど。 フロー: KB 作成 → ソース追加(非同期)→ ジョブをポーリング → LLM モデルに kb_id を紐付け → 通話で利用。

エンドポイント一覧

ステップメソッドエンドポイント説明
ショートカットPOST/v1/knowledge-bases/sourcesKB を自動作成してソースを追加(1 回の API 呼び出しで完了)
1POST/v1/knowledge-basesKB を手動で作成(名前・設定を指定したい場合)
2POST/v1/knowledge-bases/{kb_id}/sources既存の KB にソースを追加
3GET/v1/knowledge-bases/{kb_id}/jobs/{job_id}インデックスジョブのステータスを確認
4PATCH/v1/models/{llm_id}LLM モデルに KB を紐付け
GET/v1/knowledge-bases/{kb_id}/sourcesソース一覧
GET/v1/knowledge-bases/{kb_id}/jobsジョブ一覧

検索の仕組み

OneInbox は KB の合計トークン予算(デフォルト 1 万トークン)に応じてモードを選択します:
  • ≤ 1 万トークン — 通話時に LLM システムプロンプトへコンテンツを注入(追加の検索ラウンドトリップなし)
  • > 1 万トークン — ベクトル検索。LLM が呼び出す合成ツール search_knowledge_base を使用
ソースのアップロードは 202 Accepted を即時返却。job_id をポーリングし、ステータスが completed になるまで待ちます。
1

0. ショートカット — KB を自動作成してソースを追加(推奨)

KB を事前に作成しなくてもソースを追加できます。POST /v1/knowledge-bases/sources(パスに kb_id なし)を使うと、ソース名(URL ドメインまたはファイル名)から KB が自動作成されます。
# URL の場合
curl -X POST https://api.oneinbox.ai/v1/knowledge-bases/sources \
  -H "Authorization: Bearer <api_key>" \
  -F "type=url" \
  -F "source=https://docs.example.com/faq"

# ファイルの場合
curl -X POST https://api.oneinbox.ai/v1/knowledge-bases/sources \
  -H "Authorization: Bearer <api_key>" \
  -F "file=@/path/to/document.pdf"
レスポンスに自動作成された knowledge_base_id が含まれます。Step 4 で使用してください。
{
  "knowledge_base_id": "kb_abc123",
  "source": { "id": "kbs_xyz", "status": "processing" },
  "job": { "id": "kbj_xyz", "status": "queued" }
}
KB 名・チャンクサイズ・多言語設定を指定したい場合は、Step 1 から手動で作成してください。
2

1. ナレッジベースを作成(カスタム設定が必要な場合)

curl -X POST https://api.oneinbox.ai/v1/knowledge-bases \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product Docs",
    "chunk_size": 512,
    "multilingual": false
  }'
3

2a. ファイルソースを追加

PDF、DOCX、XLSX、TXT、MD をアップロード(1 ファイル最大 50 MiB)。multipart/form-data を使用:
curl -X POST "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/sources" \
  -H "Authorization: Bearer <api_key>" \
  -F "file=@/path/to/document.pdf"
4

2b. URL ソースを追加

curl -X POST "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/sources" \
  -H "Authorization: Bearer <api_key>" \
  -F "type=url" \
  -F "source=https://docs.example.com/faq"
5

2c. インラインテキストを追加

curl -X POST "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/sources" \
  -H "Authorization: Bearer <api_key>" \
  -F "type=text" \
  -F "source=Our return policy is 30 days, no questions asked."
6

3. インデックスジョブをポーリング

すべてのソースアップロードは 202 とジョブ ID を返します:
{
  "job": {
    "id": "job_abc123",
    "status": "queued"
  }
}
completed または failed までポーリング:
curl "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/jobs/<job_id>" \
  -H "Authorization: Bearer <api_key>"
ステータス: queuedrunningcompleted | failed。成功時、payloadtokenschunksvector_indexed が含まれます。最近のジョブ一覧:
curl "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/jobs" \
  -H "Authorization: Bearer <api_key>"
7

4. ソース一覧(任意)

curl "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>/sources" \
  -H "Authorization: Bearer <api_key>"
各行に statusprocessing / ready / error)、file_nametoken_countchunk_count、エラー時は error_message が含まれます。
8

5. LLM モデルに紐付け

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_id を使うエージェントは、次の通話から KB を利用します。

ナレッジベースの管理

curl https://api.oneinbox.ai/v1/knowledge-bases \
  -H "Authorization: Bearer <api_key>"

curl -X DELETE "https://api.oneinbox.ai/v1/knowledge-bases/<kb_id>" \
  -H "Authorization: Bearer <api_key>"

次のステップ