# 建立知識超市

建立知識超市可讓您將結構化和非結構化資料嵌入並儲存在向量資料庫中。這可透過語意搜尋功能擷取擴增的內容，以做為擷取擴增生成 (RAG) 應用程式的內容。

RAG 使用查詢為 LLM 提供額外的脈絡背景，以最佳化 LLM 輸出。

## 要求

* 您需要一個 Qlik Talend Cloud 企業版 訂閱。

* 在 Snowflake 和 Databricks 平台受到支援。Snowflake 冰山不支援。

* 需要客戶管理的資料閘道。

  Databricks 需要 Qlik Data Gateway - Data Movement 2024.11.95 版本或更高版本。

## 安裝 Qlik Data Gateway - Data Movement

若要使用知識超市，您需要連線至向量資料庫和 LLM 連線，這需要安裝特定 Qlik Data Gateway - Data Movement。如需詳細資訊，請參閱[設定知識超市的 Qlik Data Gateway - Data Movement](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/gateways-for-knowledge-mart.htm)。

## 檢視和下載記錄

您可以檢視和下載知識超市的記錄。如需詳細資訊，請參閱[疑難排解 資料移動閘道](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/dm-gateway-troubleshooting.htm)。

## 必要條件

您可以使用以下類型的資料任務作為知識超市的來源：

* 儲存

* 轉型

建立知識超市之前，您需要在來源資料任務中進行以下事項：

* 以您想要在知識超市使用的資料填入資料集。如需詳細資訊，請參閱[將資料導入資料倉儲](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Onboarding-data.htm)。

* 建立資料集關係模型定義來源資料及之間的關係。如需詳細資訊，請參閱[建立資料模型](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Create-data-model.htm)。

  警告備註所有來源資料集都必須有金鑰。

### 設定 Databricks 以用於知識超市

如果您使用 Databricks 作為資料平台，您必須在 Databricks 中執行一些設定，才能建立知識超市。

* 在 Databricks 中建立 SQL 倉庫。建議使用無伺服器運算。

  您也必須設定資料安全性以用於 SQL 倉庫和無伺服器運算，以啟用儲存整合。

* 在向量搜尋中建立端點。您在知識超市任務的向量資料庫設定中參考此端點的名稱。

  根據您的效能需求選擇類型，標準適用於大部分的使用案例。

  如有需要，定義無伺服器使用政策以聯結標記進行成本歸因。

* 在服務中設定 Databricks 模型。

  在服務端點之下，您可以使用 Databricks 中可用的 LLM 內嵌和聊天模型。請務必驗證您計畫在資料管道中使用的模型。

  您也可以為自訂模型建立服務端點，或使用基礎模型，例如 OpenAI 或 Azure OpenAI。

  內嵌模型：databricks-gte-large-en

  聊天/完成模型：databricks-meta-llama-3-1-405b-instruct

## 限制

使用滿足以下所有條件的來源資料集時，有一些限制：

* 透過 SQL 轉換或轉換流程建立

* 非具體化

* 歷史資料儲存 (類型 2) 已關閉

這些資料集在每次執行時都會更新，這可能會影響效率和成本。您可以透過以下方式緩解此問題：

* 變更要具體化的來源資料集。

* 使用明確的資料集轉換。

* 建立轉換多個資料集的全域規則。

知識市集任務僅限於使用相同資料平台類型的專案之間匯出和匯入。從 Snowflake 匯出包含知識市集任務的專案並將其匯入 Databricks，或從 Databricks 匯出並匯入 Snowflake，皆不受支援。

### 支援的編碼格式

您的檔案必須以 UTF-8 正確編碼。其他格式可能會受到錯誤解釋。

資訊備註Qlik 新增 2 個轉換規則，可從輸出中移除所有二進位內容：QLIK\_\_REMOVE\_BLOB\_COLUMNS 和 QLIK\_\_REMOVE\_BYTES\_COLUMNS。

### 支援的字元

檔案和資料夾名稱可以包含以下字元：

* [0-9]、[a-Z]、[A-Z]
* ! - \_ . \* ' ()

其他特殊字元可能受到支援，但由於特殊字元處理量很大，建議僅使用上面清單中的字元。

### 關係

* 無法關聯兩個資料集的資料。建立轉換任務，您可在此定義資料模型中的關係，並使用轉換任務作為任務的來源。

* 若資料模型中有兩個資料集相關，即使您只選取了其中一個資料集，這兩個資料集都將在任務中提供使用。

## 刪除任務

如果資料任務未執行，且相同專案中沒有下游任務的相依性，您可以刪除該資料任務。

* 在專案的管線專案檢視中，按一下任務上的the 刪除 icon，然後選取。

任務建立的成品 (表格和檢視) 也會被刪除，除非您選擇保留它們。

資訊備註請記住，您保留的成品將不再由任務更新。

如果任務設定為捨棄並建立索引，則只有在您選擇刪除成品時，才會捨棄索引。如果您選擇保留成品，則索引會保留。

## 變更連線或資料閘道

如果您變更向量連線或向量資料閘道，您必須再次準備任務。

## 疑難排解

### 移至 OneDrive 的檔案未被檔案知識市集識別

如果檔案使用保留舊檔案建立和修改日期的選項移至或同步到 OneDrive，則該檔案不會被識別為新檔案。

將檔案修改日期變更為目前日期。

### 使用 Pinecone 時發生執行階段錯誤

Pinecone 不支援中繼資料欄位中的 NULL 值。結果將會是執行階段錯誤。

* 在知識市集之前的轉換中，將 NULL 值轉換為其他值，例如空字串或 NULL 這個字。

* 使用另一個向量資料庫。

* 不要將該欄位作為中繼資料使用。