すべてのプロダクト
Search
ドキュメントセンター

Tablestore:ナレッジベースの操作

最終更新日:Jul 04, 2026

ナレッジベースは、ドキュメントストレージとセマンティック検索用の Agent Storage コンテナです。CLI の kb サブコマンドを使用して、ナレッジベースの作成、ドキュメントのアップロード、ベクトル検索と全文検索の結果を組み合わせたハイブリッド検索の実行、サブスペースによるマルチテナントデータの分離などを行います。

前提条件

  • Tablestore Agent Storage CLI がインストールされ、アクセス認証情報が設定済みであること (「Agent Storage CLI」をご参照ください)

  • oss_endpointoss_bucket_name が設定された OSS バケット、または CLI によって自動作成されたマネージドバケットがあること

ナレッジベースの管理

CLI からナレッジベースを作成、表示、一覧表示、削除します。

ナレッジベースの作成

最小限の作成コマンド:

tablestore-agent-cli kb create --name my_kb --description "Product documentation knowledge base"

サブスペースを有効にし、カスタム埋め込みモデルを指定する場合:

tablestore-agent-cli kb create --name product_docs \
  --description "Product documentation" \
  --tags "tech,docs" \
  --subspace \
  --embedding-provider bailian \
  --embedding-model text-embedding-v4 \
  --embedding-dimension 1024

パラメーター:

パラメーター

必須

デフォルト

説明

--name

はい

ナレッジベース名。英字、数字、アンダースコア (_) のみ使用でき、先頭は英字にする必要があります。1~64 文字。

--description

いいえ

説明。最大 4 KB。

--subspace

いいえ

false

サブスペースパーティショニングを有効にします。有効にすると、ドキュメントのアップロードと検索でサブスペースの指定が必須になります。詳細については、「サブスペースのワークフロー」をご参照ください。

--tags

いいえ

タグ。カンマ区切り。合計サイズは最大 4 KB。

--metadata

いいえ

JSON 文字列形式のメタデータスキーマ。--metadata-file とは併用できません。フィールドタイプについては、以下をご参照ください。

--metadata-file

いいえ

メタデータスキーマを含む JSON ファイルへのパス。

--config-file

いいえ

リクエストボディ全体を含む JSON ファイルへのパス。他のパラメーターとは併用できません。

--embedding-provider

いいえ

埋め込みサービスプロバイダー。有効な値:bailian または custom

--embedding-model

いいえ

埋め込みモデル名。例:text-embedding-v4

--embedding-dimension

いいえ

ベクターの次元。

--embedding-api-key

いいえ

カスタム埋め込みサービス用の API キー。

--embedding-url

いいえ

カスタム埋め込みサービスの URL。URL は事前に Tablestore に登録しておく必要があります。

--retrieval-config-file

いいえ

検索設定を含む JSON ファイルへのパス。

メタデータフィールドの型: stringlongdoublebooleandate、およびそれらのリスト形式。各ナレッジベースは最大 200 個のメタデータフィールドをサポートし、各フィールド名の最大長は 128 文字です。

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

tablestore-agent-cli kb list
tablestore-agent-cli kb list --limit 50

kb list は自動的にページ分割し、現在のアカウントのすべてのナレッジベースを返します。 --limit はページサイズを設定しますが、結果の総数には影響しません。

ナレッジベースの表示

tablestore-agent-cli kb describe --name my_kb

出力には、基本メタデータ、埋め込み設定、検索設定が含まれます。

ナレッジベースの削除

重要

ナレッジベースを削除すると、すべてのドキュメントとベクターデータが完全に削除されます。この操作は元に戻せません。

tablestore-agent-cli kb delete --name my_kb # TTY で確認を求められます。
tablestore-agent-cli kb delete --name my_kb -y # 確認をスキップします。

ドキュメントの管理

既存のナレッジベースのドキュメントを追加、表示、一覧表示、削除します。

ドキュメントの追加

CLI は、ローカルファイル、ローカルディレクトリ、既存の OSS オブジェクトの 3 つのソースをサポートしています。

ローカルファイルの追加

tablestore-agent-cli kb doc-add --kb my_kb --file ./report.pdf
tablestore-agent-cli kb doc-add --kb my_kb --file ./doc1.pdf --file ./doc2.md

ローカルディレクトリのスキャン (再帰および glob フィルターをサポート):

説明

先頭および末尾の* ワイルドカードがサポートされています (たとえば、*.pdf)。

tablestore-agent-cli kb doc-add --kb my_kb --dir ./docs
tablestore-agent-cli kb doc-add --kb my_kb --dir ./docs --include "*.pdf,*.md"
tablestore-agent-cli kb doc-add --kb my_kb --dir ./docs --exclude "*.tmp" --no-recursive

既存の OSS オブジェクトの追加

tablestore-agent-cli kb doc-add --kb my_kb --oss-key oss://my-bucket/data.pdf

サブスペースとメタデータの指定

tablestore-agent-cli kb doc-add --kb my_kb --file ./doc.pdf --subspace tenant_A --metadata '{"author":"Alice"}'

パラメーター:

パラメーター

必須

デフォルト

説明

--kb

はい

ナレッジベース名。

--file / --dir / --oss-key

はい (いずれか 1 つを選択)

ドキュメントソース。パラメーターを複数回指定することで、複数のアイテムをアップロードできます。

--subspace

サブスペースが有効な場合は必須

サブスペース名。

--metadata

いいえ

JSON 文字列形式のメタデータ。--metadata-file とは併用できません。

--metadata-file

いいえ

メタデータを含む JSON ファイルへのパス。

--include

いいえ

Glob 許可リスト。カンマ区切り。

--exclude

いいえ

Glob 拒否リスト。カンマ区切り。

--recursive

いいえ

true

サブディレクトリを再帰的にスキャンします。--no-recursive を使用すると、トップレベルのみをスキャンします。

--concurrency

いいえ

4

アップロードの同時実行数。

サポートされているファイル形式:PDF、DOCX、DOC、WPS、PPTX、PPT、TXT、Markdown、HTML、XLSX、XLS、PNG、JPG、BMP、GIF。

ドキュメントの表示

tablestore-agent-cli kb doc-get --kb my_kb --doc-id doc-123
tablestore-agent-cli kb doc-get --kb my_kb --oss-key data.pdf

出力には、ドキュメントのステータス (保留中完了、または 失敗)、チャンク数、メタデータ、およびその他の情報が含まれます。

ドキュメントの一覧表示

tablestore-agent-cli kb doc-list --kb my_kb
tablestore-agent-cli kb doc-list --kb my_kb --subspace tenant_A,tenant_B

kb doc-list は自動的にページネーションを行い、ナレッジベース内のすべてのドキュメントを返します。--subspace では、複数のサブスペースをカンマで区切って指定できます。

ドキュメントの削除

tablestore-agent-cli kb doc-remove --kb my_kb --doc-id doc-123
tablestore-agent-cli kb doc-remove --kb my_kb --oss-key data.pdf --delete-file

--delete-file は OSS のソースファイルも削除します。このフラグを指定しない場合、kb doc-remove はナレッジベースからインデックスのみを削除し、OSS のソースファイルは保持します。

ドキュメントの検索

ナレッジベースに対して、ベクトル検索、全文検索、またはハイブリッド検索を実行します。

基本検索

デフォルトでは、kb retrieveは、ベクトルと全文検索のシグナルを組み合わせたハイブリッド検索を実行し、上位 20 件の結果を返します:

tablestore-agent-cli kb retrieve --kb my_kb --query "System architecture design"

高度な検索

以下の例では、検索タイプの制御、メタデータフィルター、マルチサブスペース検索、リランク戦略について説明します。完全なパラメーターリストについては、「パラメーター」をご参照ください。

検索タイプと結果数の指定

tablestore-agent-cli kb retrieve --kb my_kb --query "SSL certificate" --search-type DENSE_VECTOR --top-k 5

メタデータによる絞り込み

tablestore-agent-cli kb retrieve --kb my_kb --query "Deployment guide" --filter '{"author":{"equals":"Alice"}}'

複数のサブスペースを横断した検索

tablestore-agent-cli kb retrieve --kb my_kb --query "policy" --subspace "tenant_A,tenant_B"

リランク戦略の指定

tablestore-agent-cli kb retrieve --kb my_kb --query "Optimization plan" --rerank-type WEIGHT --weight-dense 0.7 --weight-fulltext 0.3

パラメーター

パラメーター

デフォルト

説明

--search-type

DENSE_VECTOR,FULL_TEXT

検索タイプ。有効な値: DENSE_VECTORFULL_TEXT。複数の値はカンマで区切ります。

--top-k

20

dense、full-text、rerank の各ステージの結果数を同時に設定します。

--rerank-type

リランク戦略。有効な値: RRFWEIGHTMODEL

--rrf-k / --rrf-dense-weight / --rrf-fulltext-weight

RRF リランクのパラメーター。

--weight-dense / --weight-fulltext

WEIGHT リランクにおける dense と full-text の結果に対する重み。

--model-provider / --model-name

MODEL リランク用のモデルプロバイダーとモデル名。例: bailiangte-rerank-v2

--filter

JSON 文字列形式のメタデータフィルターです。--filter-file とは相互に排他的です。利用可能な演算子については、メタデータフィルター演算子をご参照ください。

--filter-file

メタデータフィルターを含む JSON ファイルへのパス。

--subspace

サブスペースのリスト。カンマ区切り。

メタデータフィルターの演算子

演算子

equals / notEquals

{"author":{"equals":"Alice"}}

greaterThan / lessThan

{"score":{"greaterThan":80}}

in / notIn

{"author":{"in":["Alice","Bob"]}}

startsWith / stringContains

{"name":{"startsWith":"ssl"}}

listContains

{"tags":{"listContains":"tech"}}

andAll / orAll / notAll

{"andAll":[{...},{...}]}

サブスペースのワークフロー

サブスペースは、単一のナレッジベース内で、複数のテナント、ビジネスライン、またはシナリオにまたがるデータを分離します。典型的なユースケースには、マルチテナント SaaS の分離、ビジネスラインごとのアーカイブ、A/B テストなどがあります。

サブスペースを有効にして使用するには:

  1. ナレッジベースを作成する際は、--subspace でサブスペースパーティショニングを有効にしてください。詳細については、「ナレッジベースの作成」をご参照ください。

  2. ドキュメントをアップロードする際は、--subspace <name> でターゲットサブスペースを指定します。詳細については、「ドキュメントの追加」をご参照ください。

  3. ナレッジベースをクエリする場合、--subspace "<name1>,<name2>" で検索するサブスペースを 1 つ以上指定してください。 詳細については、「詳細検索」をご参照ください。

エンドツーエンドの例:

# サブスペースを有効にしてナレッジベースを作成します。
tablestore-agent-cli kb create --name multi_tenant_kb --subspace

# ドキュメントをアップロードする際にサブスペースを指定します。
tablestore-agent-cli kb doc-add --kb multi_tenant_kb --file ./doc.pdf --subspace tenant_A

# 検索する際に複数のサブスペースを指定します。
tablestore-agent-cli kb retrieve --kb multi_tenant_kb --query "policy" --subspace "tenant_A,tenant_B"