將 AI/BI Genie 空間 新增為 Databricks Apps 資源,以在應用程式中啟用自然語言查詢。 Genie 空間為數據探索提供了一個對話界面,允許用戶用簡單的英語提出商業問題,並從您精選的數據集中接收基於 SQL 的見解。
當您將 Genie 空間新增為資源時,您的應用程式可以:
- 將使用者的自然語言查詢轉換為 SQL
- 存取預先設定的業務內容和中繼資料
- 使用策劃的範例查詢和資料定義
- 根據組織的資料集產生回應
新增精靈空間資源
在新增 Genie 空間作為資源之前,請先檢視 應用程式資源的前置條件。
- 當你建立或編輯應用程式時,請切換到 「配置 」步驟。
- 在 應用程式資源 區塊,點擊 + 新增資源。
- 選取 Genie 空間 作為資源類型。
- 從工作區的可用空間清單中選擇 Genie 空間。
- 選取應用程式的權限層級:
- 可以查看: 授與應用程式讀取 Genie 空間設定和中繼資料的權限。
- 可以運行: 授予應用程序向 Genie 空間提交查詢並接收響應的權限。
- 可以編輯: 授與應用程式修改 Genie 空間設定的權限。
- 可以管理: 授予應用程序對 Genie 空間的完整管理權限。
- (選用)指定自訂資源金鑰,這是您在應用程式設定中引用 Genie 空間的方式。 預設索引鍵是
genie-space。
當您新增 Genie 空間資源時:
- Azure Databricks 會授與應用程式的 服務主體 所選 Genie 空間的指定許可權。
- 該應用程序可以向空間提交自然語言查詢,並接收帶有 SQL 查詢和結果的結構化響應。
- 該應用程式存取空間的精選業務上下文,包括元資料、範例查詢和資料定義。
- 存取範圍僅限於選取的空間。 您的應用程式無法存取其他 Genie 空間,除非您將它們新增為單獨的資源。
備註
應用程式的服務主體也需要 Genie 空間查詢之基礎資料來源的適當許可權。 這通常包括USE CATALOGUSE SCHEMASELECT相關 Unity 目錄資料表和檢視的許可權。
環境變數
當您使用 Genie 空間資源部署應用程式時,Azure Databricks 會透過環境變數公開空間識別碼,您可以使用設定中的valueFrom欄位來app.yaml參考這些變數。
設定範例:
env:
- name: GENIE_SPACE_ID
valueFrom: genie-space # Use your custom resource key if different
在應用程式中使用空間 ID:
import os
from databricks.sdk import WorkspaceClient
# Access the Genie space using the injected environment variable
space_id = os.getenv("GENIE_SPACE_ID")
# Initialize the workspace client
w = WorkspaceClient()
# Start a conversation with a natural language query
response = w.genie.start_conversation_and_wait(
space_id=space_id,
content="What were our top-selling products last quarter?"
)
# Process the response (responses contain attachments with text, queries, and so on)
for attachment in response.attachments:
print(f"Genie response: {attachment.text.content}")
# Continue the conversation with additional questions
follow_up = w.genie.create_message_and_wait(
space_id=space_id,
conversation_id=response.conversation_id,
content="Can you break that down by product category?"
)
如需詳細資訊,請參閱 從資源存取環境變數。
移除精靈空間資源
當您從應用程式移除 Genie 空間資源時,應用程式的服務主體會失去空間的存取權。 Genie 空間本身保持不變,並繼續可供具有適當權限的其他使用者和應用程式使用。
將 Genie 空間與其他應用程式資源結合
將 Genie 空間與其他 Databricks Apps 資源結合,以建立更複雜的資料應用程式。 常見的整合模式包括:
自然語言分析儀表板
一起使用下列資源來執行互動式分析:
- 精靈空間: 將用戶問題轉換為 SQL 查詢
- SQL 倉儲: 執行查詢並傳回視覺效果的結果
- 秘密: 儲存外部視覺化工具的 API 金鑰
設定範例:
env:
- name: GENIE_SPACE_ID
valueFrom: genie-space
- name: SQL_WAREHOUSE_ID
valueFrom: sql-warehouse
- name: EXTERNAL_API_KEY
valueFrom: viz-secret
AI 增強的商業智能
使用下列資源與 AI 模型整合:
- 精靈空間: 產生初始查詢和資料內容
- 模型服務端點: 返回 AI 生成的摘要和建議
- SQL 倉儲: 執行複雜的分析查詢
服務主體權限
與其他應用程式資源整合時,將下列權限授與應用程式的服務主體:
-
CAN RUN在精靈空間上 -
CAN USE在 SQL 倉儲上 (如果使用與 Genie 空間不同的倉儲) -
CAN QUERY在模型服務端點上 -
USE CATALOG以及USE SCHEMA相關的 Unity 目錄物件 -
SELECT在表格上,應用程式直接查詢
最佳實務
當您使用 Genie 空間資源時,請遵循以下最佳實踐:
- 授予最低權限。 僅提供對應用程式運作所需的特定 Genie 空間的存取。
- 確保 Genie 空間包含精心策劃的資料集和元數據,以提高自然語言查詢回應的品質。
- 針對 Genie 空間測試應用程式的查詢,以驗證它是否可以針對預期的使用者問題產生準確的結果。
- 監控查詢效能並調整應用程式與 Genie 空間的互動模式,以最佳化回應時間。
- 針對 Genie 空間無法有效解釋或回應使用者查詢的情況實施錯誤處理。