本頁說明如何在創建與維護精靈空間時解決常見問題。
誤解的商業術語
大部分的公司或領域都有用來傳達特定商務事件的特定速記法。 例如,提及一年時,可能一律指會計年度,而且這個會計年度可能從 2 月或 3 月開始,而不是 1 月。 若要讓 Genie 自然準確回答這些問題,請包含將商務術語明確對應至 Genie 可理解之字詞和概念的指令。 請參閱 提供指示。
不正確的資料表或資料行使用方式
如果 Genie 嘗試從不正確的資料表接收資料,或對不正確的資料行執行分析,您可以用下列其中一種方式調整資料:
- 提供清楚且精確的描述:檢查您的數據表和相關聯的元數據,以確認該處使用的術語符合提交問題中的用戶術語。 如果不符合,請精簡描述或新增指令,將資料表使用的術語對應至問題使用的術語。
- 新增範例查詢:提供 Genie 可用來瞭解如何回應特定問題的範例 SQL 查詢。 請參閱 提供指示。
- 從空間中移除數據表或數據行:某些數據表可能包含重疊的數據行或概念,讓 Genie 難以知道回應中要使用的資料。 盡可能移除不必要或重疊的資料表或資料行。 若要在不更改底層資料物件的情況下,從 Genie 空間 UI 隱藏欄位,請參見 「隱藏或顯示相關欄位」。
篩選錯誤
產生的查詢通常包含 WHERE 子句,會根據特定值篩選結果。 當 Genie 無法檢視資料值時,可能會設定 WHERE 子句來篩選錯誤的值。 例如,當表格使用像「CA」這樣的縮寫時,可能會嘗試對應「California」這個名稱。
對於這類情況,請確認相關資料行已啟用 範例值 和 值字典 。 如果新的數據已新增至相關數據表,請重新整理值。 請參閱 建立知識存放區以取得更可靠的 Genie 空間。
不正確的连接
如果未在 Unity 目錄中定義外部索引鍵參考,您的空間可能不知道如何將不同的資料表聯結在一起。
請嘗試實作下列一或多個解決方案:
- 盡可能在 Unity Catalog 中定義外鍵參考。 請參閱 CONSTRAINT 子句。
- 如果未在 Unity 目錄中指定資料表的外部索引鍵關聯性,請在 Genie 空間的知識存放區中定義聯結關聯性。 此策略適用於更複雜的聯結案例,例如自我聯結,或您沒有足夠的權限來修改基礎資料表。 請參閱 定義聯結關係。
- 提供以標準方式將資料表聯結在一起的查詢範例。
如果這些方法都無法解決問題,請將資料表預先聯結至檢視圖,並改用它做為空間的輸入。
外部表格的欄位註釋未同步
Azure Databricks 不會管理寫入外部數據表的元數據、數據或語意。 視源數據表而定,可能無法從 Azure Databricks 存取批注。 若要提供批注,Azure Databricks 建議執行下列其中一項動作:
- 編輯 Genie 空間介面中的欄位元數據。 編輯的元數據僅適用於寫入的 Genie 空間。 請參閱 編輯欄中繼資料。
- 在聯邦資料表之上建立具象化視圖。 您可以在具體化檢視上新增和編輯註解,就像在管理的資料表上一樣。 您可以跨多個 Genie 空間重複使用此檢視。 如需將數據從外部數據表載入具體化檢視的詳細資訊,請參閱 使用具體化檢視從外部數據表載入數據。 若要深入瞭解如何使用具體化檢視,請參閱 具體化檢視。
計量計算問題
指標的計算和整合方式可能會非常複雜,並包含您所在的領域無法理解的許多商務細節。 這可能導致報告不正確。
請嘗試實作下列一或多個解決方案:
- 在知識庫中將你的指標定義為 SQL 表達式。 SQL 表達式提供可重複使用且精確的度量、篩選器與維度定義,Genie 能一致套用。 請參見 定義 SQL 表達式。
- 如果計量是從基底資料表彙總,請提供計算每個積存值的 SQL 查詢範例。
- 如果計量已預先計算且位於彙總資料表,請在資料表註解說明這一點。 如果該資料表中的指標可以進一步匯總,請指定每個指標的有效彙總方式。
- 如果您嘗試產生的 SQL 非常複雜,請嘗試建立已經匯總您空間中指標的檢視表。
以時間為基礎的計算不正確
除非您明確提供其他指引,否則 Genie 可能不一定能夠推斷數據中所代表的時區,或必須執行分析的時區。
包含更明確的指示,詳細說明原始來源時區、轉換函式和目標時區。 下列範例示範如何改變更可靠時區轉換的一般指示:
-
一律將時間轉換成特定時區:在此範例中,假設來源時間戳為
UTC,而您想要在時區中America/Los_Angeles產生結果。 將下列內容新增至說明,並將<timezone-column>替換為適當的欄位名稱:- 數據表中的時區位於
UTC中。 - 使用下列函式轉換所有時區:
convert_timezone('UTC', 'America/Los_Angeles', <timezone-column>)。
- 數據表中的時區位於
-
將非 UTC 日期時間格式轉換為 UTC:如果工作環境的預設時區是
UTC,但在洛杉磯的使用者必須參考特定的一些記錄,請將下列內容新增至此工作區的一般指示:- 要 參考今天,請使用
date(convert_timezone('UTC', 'America/Los_Angeles', current_timestamp()))。
- 要 參考今天,請使用
如需詳細資訊和語法,請參閱 convert_timezone 函式 。
忽略指令
即使您已在註解中說明了資料表和資料行,並提供了一般指示,您的空間可能依舊未正確使用它們。
請嘗試下列一或多個策略:
- 提供正確使用資料表的查詢範例。 查詢範例對於指導您的工作空間如何使用資料特別有效。
- 隱藏 Genie 空間中無關緊要的數據行。 請參閱隱藏或顯示相關欄。
- 使用您的資料表建立「視圖」,以提供更簡化的資料呈現。
- 請檢閱您的指導說明,並嘗試移除不相關的資料表或指示,以集中注意力。
- 請嘗試開始新的聊天。 先前的互動可能會影響 Genie 在任何聊天中的回應,但開啟新的對話可讓您有一個全新的起點來測試新的指示。
效能問題
當 Genie 需要生成特別長的查詢或文字回覆時,可能在思考階段會需要很長時間才能回應,或者甚至可能超時。
請嘗試用下列一或多個動作改善效能:
- 檢查查詢歷史以辨識執行緩慢的查詢。 許多效能問題可以透過優化產生的 SQL 查詢來解決,而非修改 Genie 空間的配置。 檢視 SQL 倉庫查詢歷史中的查詢執行時間與查詢計畫,找出瓶頸與優化機會。
- 使用受信任的資產或檢視,封裝複雜的查詢。 請參閱 在 AI/BI Genie 空間中使用受信任的資產。
- 盡可能減少 SQL 查詢範例的長度。
- 如果 Genie 開始產生緩慢或失敗的回覆,請開始新的聊天。
對任務關鍵性問題的回覆不可靠
使用信任的資產,提供您預期使用者會詢問之特定問題的已驗證解答。 請參閱 在 AI/BI Genie 空間中使用受信任的資產。
令牌限制警告
標記是 Genie 用於處理和理解語言的基本單位。 Genie 空間中的文字指示和元數據會轉換成令牌。 如果您的空間接近令牌限制,則會出現警告。 Genie 會使用內容篩選來排定它認為與問題最相關的令牌的優先順序。 雖然當警告出現時仍應該產生回應,但如果篩選掉重要內容,品質可能會降低。超過令牌限制時,您無法再在 Genie 空間中傳送或接收訊息。
請考慮下列做法來減少令牌計數:
- 刪除不必要的欄位:資料表中不必要的欄位可能會大幅影響令牌的使用。 可能的話,請建立檢視,以從原始資料表中排除冗餘或非必要的欄位。 您也可以在 Genie 空間中隱藏不必要的資料行。 請參閱隱藏或顯示相關欄。
-
簡化數據行描述:雖然數據行描述很重要,但請避免複製數據行名稱已傳達的資訊。 例如,如果某欄被命名
account_name為 ,像「你的帳號名稱」這樣的描述可能會多餘且可以省略。 - 編輯 Genie 空間中的資料行中繼資料:請參閱編輯資料行中繼資料,瞭解如何編輯描述並在資料行中繼資料中提供同義字。
- 精簡範例 SQL 查詢:包含各種範例 SQL 查詢以涵蓋各種類型的問題,但刪除重疊或冗餘的範例。
- 簡化指示:確認您的指示清晰簡潔。 避免不必要的字。
您的帳戶未啟用跨地理位置處理
Genie 是由 Azure Databricks 管理的 指定服務 。 指定的服務會使用 Databricks Geos 來管理資料駐留。 數據無法在與某些區域的工作區相同的地理位置中處理。 如果您的工作區位於其中一個區域,您的帳戶管理員必須啟用 跨地理位置處理 。
達到吞吐量限制
透過 Azure Databricks UI 存取 Genie 空間時,所有 Genie 空間的每個工作區的輸送量限制為每分鐘 20 個問題。
使用對話 API 的免費層存取 Genie 空間時,輸送量會限制在所有 Genie 空間中,每分鐘最多五個問題。 請參閱 使用 Genie API 將 Genie 整合到您的應用程式中。