メインコンテンツへスキップ
ナレッジベースを利用すると、エージェントが必要に応じて取得できるドメイン固有の情報をエージェントに付与できます。いくつかの例:
  • よくある質問: お客様からよくある質問への回答をエージェントに装備
  • 従業員ハンドブック: 新入社員に PTO(有給休暇)の付与、経費精算、オープン登録の締切などを案内
  • 製品カタログ: 発信者が商品名や SKU で問い合わせた際に、価格、構成、在庫を回答
  • サポートランブック: ティア 1 のサポートエージェントにトラブルシューティング手順や既知の問題の回避策を提示

ナレッジベースとは

Cartesia にアップロードしたドキュメントはフォルダー単位で整理されます。エージェントにはフォルダーの内容へのアクセス権が付与され、それがエージェントのナレッジベースを構成します。エージェントが行うクエリは、そのエージェントにアタッチされたフォルダー内のドキュメントだけを検索するため、組織内で異なるエージェントごとに別々のコーパスを保持しつつ、コンテンツの相互流出を防ぐことができます。
プレイグラウンドのナレッジベース

ドキュメントのアップロード

フォルダーを作成し、そこにドキュメントを追加します。フォルダーは親フォルダーの中にネストできます。
1

フォルダーを作成

プレイグラウンドのナレッジベース
  1. サイドバーの Knowledge Base に移動します
  2. New folder をクリックして名前を入力します
親フォルダーの行にある「Add subfolder」アイコンをクリックすることで、フォルダーをネストできます。
2

ドキュメントをアップロード

プレイグラウンドのナレッジベース
  1. ドキュメントをアップロードしたいフォルダーの Upload document アイコンをクリックします。
  2. コンピュータからファイルを選択します
  3. 後で フィルタリング したいメタデータを追加します。
ドキュメントはアップロード時に自動的にインデックスされます。

エージェントとフォルダーの関連付け

フォルダーをエージェントにアタッチすると、エージェントの knowledge_base ツールから検索できるようになります。検索対象になるのはエージェントにアタッチされたフォルダーのみであり、フォルダーがアタッチされていないエージェントは、すべてのクエリに対して空の結果を返します。変更は進行中および今後の通話に即時反映されます。
プレイグラウンドのナレッジベース
エージェントを開いて、Knowledge Base セクションでアタッチしたいフォルダーを選択します。すべてのフォルダーの選択を解除すると、すべてのフォルダーがデタッチされます。

エージェントからナレッジベースを使用する

knowledge_base ツール

knowledge_base は組み込みのツールです。エージェントの tools リストに加えるだけで、LLM が必要に応じて自動的に呼び出します。
LLM がクエリ文字列を選択し、それ以外のすべてのパラメータは構築時に固定されます。
オプションの完全なリストについては パラメータ を参照してください。

ナレッジベースを直接呼び出す

カスタムの取得ロジック(リランキング、ポストフィルタリング、複数クエリのファンアウトなど)が必要な場合は、自作のツール内から KnowledgeBase クライアントを直接呼び出します:
ctx.knowledge_base() は、エージェントのセッションスコープトークンで認証済みの KnowledgeBase インスタンスを返します。通話開始時に SDK が自動的に設定するため、追加のセットアップは不要です。 kb.query(...) は、タイムアウト、トランスポート障害、または非 200 のレスポンス時に KnowledgeBaseError を発生させます。別のコードパスにフォールバックしたい場合はこれをキャッチしてください。組み込みの knowledge_base ツールではこれが既に処理されています。 kb.query(...) が受け付けるオプションについては以下を参照してください。

パラメータ

フィルター構文

フィルターはフラットな {metadata_key: metadata_value} マップです。各エントリはドキュメントメタデータに対する等価マッチで、複数エントリは AND で結合されます。
なお、フォルダーベースのアクセス制御は自動的に適用されるため、明示的に指定する必要はありません