For the complete documentation index, see llms.txt. This page is also available as Markdown.

構築を始める—JSON 形式を使う

より複雑なフィルタ条件を記述したい場合は、JSON 形式で各階層 (ナレッジベースや個別ファイルなど) の ID を直接指定できます

Query Metadata 制御項目の説明

項目カテゴリ
Key 名称
説明
使用方法

ナレッジベース

knowledge_base

AI アシスタントが対話を生成する際に参照するナレッジベース

knowledge_bases という名前の Array→[...] 内に格納し、ナレッジベースの id を渡すことで複数のナレッジベースを開放できます

ナレッジベースのファイル文書

Chatbot_file

knowledge_base で指定したナレッジベース内で参照可能なファイル文書

knowledge_base 内に渡す オブジェクト→{...} の中で定義します

Q&A データセット

FAQ

knowledge_base で指定したナレッジベース内で参照可能なよくある質問集

同上

ナレッジベースのファイル文書ラベル

label

ファイル文書に付与されたラベル。Chatbot_file を指定しなくても label を指定でき、該当ラベルに一致する文書のみ参照を制限できます。より細かな文書権限の区分けに利用します

label_relations という名前のオブジェクトを使って渡し、"OR"/"AND" で適用可能な文書ラベル条件を定義し、conditions という名前の Array→[...] 内に定義します

構造フォーマットの例と説明

"query_metadata": {
    "knowledge_bases": [
      {
        "knowledge_base_id": "123e4567-e89b-12d3-a456-426614174000",
        "chatbot_file_ids": [
          "9f7a9f7b-2b2b-4c4c-9d9d-8e8e8e8e8e8e" // ファイル文書
        ],
        "faq_ids": [
          "a1b2c3d4-e5f6-7890-abcd-1234567890ab" // FAQ
        ],
        "has_user_selected_all": "False" // すべてのナレッジベースを選択
      },
  //  複数のオブジェクトを渡し、一度に複数のデータベース配下の参照可能な文書や FAQ などを設定できます
  //    {
  //      "knowledge_base_id": "Id2",
  //      "chatbot_file_ids": [
  //        "file_id1" // ファイル文書
  //      ],
  //      "faq_ids": [
  //        "faq_id1",
  //        "faq_id2" // FAQ
  //      ],
  //    },
    ],
 
  "label_relations": { // ラベル
      "operator": "OR",  // 適用基準を設定 (すべてに一致/いずれか一つに一致すればよい)
      "conditions": [
        { "label_id": "11111111-2222-3333-4444-555555555555" },
        // ネスト定義で複雑な条件を作成できます
        {
          "operator": "AND",
          "conditions": [
            { "label_id": "66666666-7777-8888-9999-000000000000" }, 
            { "label_id": "aaaaaaa1-bbbb-cccc-dddd-eeeeeeeeeeee" }
          ]
        }
      ]
    },
}

各階層の ID はどのように取得しますか?

左側メニューの各階層のコンテンツ内に入り、ID 欄を確認できます (ナレッジベースを例にすると、コピーアイコンをクリックすればすべての ID 内容を直接コピーできます)

各階層の ID を取得する位置

主要ロジックの説明

1. label_relations のロジック

  • OR 演算:いずれかのラベルに一致すればアクセス可能

  • AND 演算:すべてのラベルに一致しなければアクセスできません

  • ネストロジック:多層・ネスト構造の権限組み合わせに対応

2. knowledge_bases の設定

  • has_user_selected_all = "True":そのナレッジベースのすべてのコンテンツにアクセス可能

  • has_user_selected_all = "False":指定した文書と FAQ にのみアクセス可能

連絡先 (Contact) の設定

連絡先を編集する場所で、JSON 形式の query_metadata 設定を直接書き込むことができます。

連絡先の JSON 編集インターフェース

システムが自動でフォーマットを検証し、権限設定を適用します。

Web Chat 初期化設定

Web Chat の埋め込みについては 🔗Web Chat 初期化 をご参照ください

連絡先より前の段階で対話内容を制限したい場合 (例:未登録の連絡先アカウントの顧客に Web Chat サービスを提供する場合) は、埋め込み時に Query Metadata を指定できます。システムはデフォルトでメッセージ (Message) レベルのナレッジベース文書フィルタリング機構を起動します。

コード例

hasUserSelectedAll パラメータの説明

このパラメータは単一のナレッジベース配下で、少数の項目を除外する/使用する設定です。開放した文書を基礎として、その上にさらにラベルのフィルタ条件が適用されます。

パラメータ値
動作
適用シーン

"True"

システムはそのナレッジベース内のすべてのコンテンツを選択し、chatbotFileIdsfaqIds に列挙された項目を除外します

100 件の文書のうち 98 件を使用し、使用しない 2 件をパラメータに列挙します

"False"

システムは chatbotFileIdsfaqIds に明示的に列挙された項目を選択します

100 件の文書のうち 2 件のみを使用します

コード例

queryMetadata と contactId の優先順位

  • queryMetadata と contactId を設定しない場合:システムはすべてのナレッジベース範囲を検索し、いかなる除外も行いません

  • queryMetadata または contactId を単独で設定することも可能です

  • 両方を設定した場合:システムは連絡先 (contactId で識別) 内の Query Metadata の設定のみを使用します

Last updated

Was this helpful?