# ナレッジ マートの作成

ナレッジ マートを使用すると、構造化データをベクター データベースに埋め込んで保存できます。この操作により、拡張コンテキストをセマンティック検索機能で取得し、検索拡張生成 (RAG) アプリケーションのコンテキストとして使用できるようになります。

出力は `JSON` 形式です。

情報メモQlik Talend Cloud Enterprise サブスクリプションが必要です。

## 要件

* Qlik Talend Cloud Enterprise サブスクリプションが必要です。

* Snowflake および Databricks プラットフォームでサポートされています。Snowflake Iceberg には対応していません。

* 顧客が管理するデータ ゲートウェイが必要です。

  Databricks には、Qlik データ ゲートウェイ - データ移動 バージョン 2024.11.95 以降が必要です。

## Qlik データ ゲートウェイ - データ移動 のインストール

ナレッジ マートを作成する前に、特定の Qlik データ ゲートウェイ - データ移動 をインストールする必要があります。詳細については、「[ナレッジマート用の Qlik データ ゲートウェイ - データ移動 の設定](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/gateways-for-knowledge-mart.htm)」を参照してください。

## サポートされている接続

サポートされる内容については、次を参照してください。

* ベクター データベースについては、「[ベクター データベースへの接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-vector-databases.htm)」を参照してください。
* LLM 接続については、「[LLM 接続への接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-llm-connections.htm)」を参照してください。
* ファイル ストレージについては、「[ファイル ストレージへの接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-file-storage.htm)」を参照してください。

## データの作成

1. 左メニューの [パイプライン プロジェクト] をクリックし、プロジェクトを開きます。

2. [パイプライン プロジェクト] ページから、ベクター データベースにドキュメントを生成して公開できます。以下のいずれかを行います:

   * [新規作成] &gt; [ナレッジ マート] をクリックします。
   * データ タスク &gt; [ナレッジ マート] の the アクション アイコン icon をクリックします。

   設定ウィンドウが開きます。

3. 名前を入力します。

4. 説明を入力してください。これはオプションです。

5. [ベクターの保存先] ドロップダウン リストから、ドキュメントを保存する場所を選択します。プロジェクトと一緒にドキュメントを保存するには、 [データ プロジェクト プラットフォーム] を選択します。

6. [外部ベクター データベース] を選択した場合は、 [ベクター データベース接続] を作成または選択します。ドキュメントとベクターは、このベクター データベースに保存されます。

7. [LLM 接続] を作成または選択します。セマンティック検索を使用するには、この接続が必要です。

8. [作成] をクリックします。

9. データが作成されたら、ドキュメントを追加します。

## ドキュメントの追加

情報メモテキスト形式のみがサポートされます。たとえば、図や画像からテキストを抽出することはできません。

1. [データ タスク] ページの [データセット] タブで、左側のパネルの [追加] をクリックします。

2. ドキュメントを生成する基本データセットを選択します。レコードごとにドキュメントが作成されます。たとえば、患者のリストの場合、患者ごとにドキュメントが作成されます。

3. [ドキュメント スキーマ名] 項目には、選択した基本データセットの名前が事前に入力されます。必要であれば名前を変更します。

4. 説明を入力してください。これはオプションです。

5. ドキュメントを充実させるために含めるデータを選択します。

6. OKをクリックします。[ドキュメント スキーマ] タブに戻ります。

7. [データセット] タブを選択します。

8. 左側のパネルで、先ほど基本データセットとして選択したデータセットを選択します。

9. ドキュメントに含めないデータを削除するには、チェックボックスをオンにして [削除] をクリックします。

10. メタデータとして定義するすべてのフィールドに対して、[メタデータ] を選択します。データをLLMに送信する前に、メタデータに基づいてフィルタリングできます。

    情報メモDatabricksでは、メタデータは、選択されたメタデータフィールドのキーと値のJSON表現を含む単一のフィールドによって実装されます。

11. LLM によって実行されるセマンティック検索を改善するには、名前が明確でないデータの名前を変更します。

    例: dt の名前を date に変更します。

12. 必要に応じてデータを削除し、名前を変更したら、右側の the アクション アイコン icon &gt; [準備] をクリックします。ドキュメントは `JSON` 形式で作成されます。

13. ドキュメントが生成されたら、次を実行します。

    1. [データセット] タブを選択します。
    2. タスクを実行する前にドキュメントを確認するには、 [データの表示] をクリックしてデータ サンプルを表示します。
    3. [Run] (実行)をクリックします。ドキュメントは、構成に応じてベクター データベースまたはデータ プラットフォームに転送されます。

[実行] ボタンがアクティブになると転送が完了します。

データについて質問すると、すべてが転送されたことを確認できます。詳細については、「[テスト アシスタントの使用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/KnowledgeMart/Test-Assistant.htm)」を参照してください。

## フル ロードと変更データキャプチャ (CDC)

フルロードと CDC がサポートされています。

フル ロード: ドキュメント インスタンスごとにドキュメントが生成され、ターゲットに送信されます。

CDC: ベースまたは関連エンティティに変更があった後にドキュメントが再生成されます。

エントリが基本エンティティに追加されると、新しいドキュメントが作成されます。関連エンティティ内のエントリを基本エンティティに接続できない場合、それらのエントリはドキュメントに表示されません。

## 入力データの更新

入力データを更新したら、データ タスクを実行して変更をベクター データベースまたはデータ プラットフォームに転送する必要があります。

## インデックス名

各ナレッジ マートには、セマンティック検索に使用されるインデックス名があります。

同じインデックスに書き込むようにタスクを構成する場合は、タスクに対して同じ LLM パラメーターを構成する必要があります。

ドキュメントを同じインデックスに配置する場合は、同じインデックス名を持つ必要があります。

インデックス名を編集するには、次を実行します。

1. [データ タスク] ページで、 [設定] をクリックします。
2. [ベクター データベース設定] タブを選択します。
3. [インデックス名] を編集します。
4. OKをクリックします。

## タスク情報の表示

メニュー バーで the 情報 icon をクリックして、次のようなタスク情報を表示します。

* 所有者

* スペース

* データ プラットフォーム

* プロジェクトID

* データ タスク実行 ID

## 設定

ナレッジ マートの設定を表示および編集できます。

[データ タスク] ページから、the More Horizontal icon &gt; [設定] をクリックします。

情報メモ設定はストレージ (Databricks、Snowflake など) に応じて異なるため、次の表では常に使用できる設定について説明します。それ以外の設定を使用できる場合もあります。

この表では、 [接続接続] タブの設定について説明します。

| 設定 | 説明 |
| --- | --- |
| ソース接続 | ソース接続。 |
| ベクターの保存先 | ドロップダウン リストから、次を選択します。<br><br><ul><li><span>外部ベクター データベース</span></li><li><span>データ プロジェクト プラットフォーム</span></li></ul> |
| ベクター データベース接続<br><br>この設定は、 [ベクターの保存先] で [外部ベクターデータベース] を選択した場合に使用できます。 | ベクター データベース接続。<br><br>詳細については、「[ベクター データベースへの接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-vector-databases.htm)」を参照してください。 |
| LLM 接続 | LLM 接続。<br><br>詳細については、「[LLM 接続への接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-llm-connections.htm)」を参照してください。<br><br>Databricks を LLM 接続として使用する場合は、ナレッジ マートの作成時に [Embedding model serving endpoint] (埋め込みモデル提供エンドポイント) と [Completion model serving endpoint] (完了モデル提供エンドポイント) を設定します。詳細については、「[Databricks のドキュメンテーション](https://docs.databricks.com/aws/en/machine-learning/model-serving/create-foundation-model-endpoints#create-an-external-model-serving-endpoint)」を参照してください。 |

この表では、 [プラットフォーム設定プラットフォーム設定] タブの設定について説明します。

| 設定 | 説明 |
| --- | --- |
| データ タスクのスキーマ | データ タスクのスキーマの名前です。 |
| 内部スキーマ | 内部スキーマの名前です。 |
| すべてのテーブルとビューのプレフィックス | 複数のデータ タスク間の競合を解決するためのプレフィックスです。 |

この表では、 [ベクター データベース設定ベクター データベース設定] タブの設定について説明します。

| 設定 | 説明 |
| --- | --- |
| インデックス スキーマ<br><br>この設定は、 [ベクターの保存先] に [外部ベクターデータベース] を選択した場合は使用できません。 | インデックス スキーマの名前。 |
| インデックス名 | インデックスの名前。 |
| インデックスがすでに存在する場合 | 複数のタスクが同じインデックスに書き込んでいる場合、インデックスを削除する必要があるかどうかを選択します。<br><br><ul><li><span>既存のインデックスを使用</span>: インデックスは削除されません。</li><li><span>インデックスをドロップして作成</span>: インデックスは削除されます。</li></ul> |
| Databricks ベクター検索エンドポイント | Databricks で作成されたベクター検索エンドポイントの名前。詳細については、「[ナレッジ マートの Databricks を構成する](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/KnowledgeMart/Creating-knowledge-marts.htm#Configur)」を参照してください。<br><br>情報メモデータ プラットフォームとして Databricks を使用するプロジェクトにのみ適用されます。 |

この表では、 [実行時間実行時間] タブの設定について説明します。

| 設定 | 説明 |
| --- | --- |
| 並列実行 | データベース接続の最大数。<br><br>1 ～ 50 の値を入力します。 |
| バルク サイズ | ナレッジ マートの場合、バルク サイズは各バルク リクエストでロードされるドキュメントの数です。<br><br>ファイルベースのナレッジ マートの場合、バルク サイズは各バルク リクエストでロードされるファイルの数です。<br><br>Snowflake および Databricks では、すべてが 1 つのクエリでロードされるため、バルク サイズは必要ありません。 |
| ロードするレコードの最大数 | 0 はすべてのレコードがロードされていることを意味します。 |

この表は、Snowflake の [表示表示] タブの設定について説明しています

| 設定 | 説明 |
| --- | --- |
| 標準ビュー | 標準ビューを使用して、クエリの結果をテーブルのように表示します。 |
| Snowflake セキュア ビュー | 基礎となるテーブルのすべてのユーザーに公開すべきではない機密データへのアクセスを制限するために作成されたビューなど、データのプライバシーまたは機密情報の保護のために指定されたビューには、Snowflake のセキュア ビューを使用します。<br><br>Snowflake セキュアビューは、標準ビューよりも実行速度が遅くなる場合があります。 |

この表では、 [テスト アシスタントテスト アシスタント] タブの設定について説明します。

| 設定 | 説明 |
| --- | --- |
| コンテキスト内のドキュメント数 | コンテキストとしてモデルに渡される関連ドキュメントの数です。 |
| プロンプト テンプレート | 含めるドキュメントをフィルタリングするために AI が従う必要のあるテンプレートを入力します。 |
| [Filter] (フィルター) | 含めるドキュメントをフィルターするための式を入力します。<br><br>フィルターはメタデータに基づいており、ファイルベースのナレッジ マートにはメタデータがないため、構成するフィルターについては慎重に検討してください。データを含めるのではなく、除外する方が適切な場合もあります。<br><br>詳細については、「[テスト アシスタントの使用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/KnowledgeMart/Test-Assistant.htm)」を参照してください。 |
| ドキュメント検索 | ドロップダウン リストからオプションを選択します。<br><br><ul><li><span>取得したコンテキストを表示</span>: テスト アシスタントは、回答を生成するためのドキュメントを提供します。</li><li><span>取得したコンテキストを表示しない</span>: テスト アシスタントは回答を生成しますが、ドキュメントは提供しません。</li></ul> |
| 回答の生成 | ドロップダウン リストからオプションを選択します。<br><br><ul><li><span>回答を生成</span>: テスト アシスタントはドキュメントに基づいて回答を生成します。</li><li><span>回答を生成しない</span>: テスト アシスタントはドキュメントのみで回答します。</li></ul> |