AI/BI Genie 공간을 Databricks Apps 리소스로 추가하여 애플리케이션에서 자연어 쿼리를 사용하도록 설정합니다. 지니 공간은 데이터 탐색을 위한 대화형 인터페이스를 제공하므로 사용자는 일반 영어로 비즈니스 질문을 하고 큐레이팅된 데이터 세트로부터 SQL 기반 인사이트를 받을 수 있습니다.
Genie 공간을 리소스로 추가하면 앱에서 다음을 수행할 수 있습니다.
- 자연어 쿼리를 사용자의 SQL로 변환
- 미리 구성된 비즈니스 컨텍스트 및 메타데이터에 액세스
- 큐레이팅된 샘플 쿼리 및 데이터 정의 사용
- 조직의 데이터 세트에 따라 응답 생성
지니 공간 리소스 추가
Genie 공간을 리소스로 추가하기 전에 앱 리소스 필수 구성 요소를 검토합니다.
- 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
- 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
- 리소스 유형으로 지니 공간을 선택합니다.
- 작업 영역의 사용 가능한 공간 목록에서 지니 공간을 선택합니다.
- 앱에 대한 권한 수준을 선택합니다.
- 다음을 볼 수 있습니다. Genie 공간 구성 및 메타데이터를 읽을 수 있는 권한을 앱에 부여합니다.
- 다음을 실행할 수 있습니다. Genie 공간에 쿼리를 제출하고 응답을 받을 수 있는 권한을 앱에 부여합니다.
- 편집 가능: Genie 공간 구성을 수정할 수 있는 권한을 앱에 부여합니다.
- 다음을 관리할 수 있습니다. Genie 공간에 대한 모든 관리 권한을 앱에 부여합니다.
- (선택 사항) 앱 구성에서 지니 공간을 참조하는 방법인 사용자 지정 리소스 키를 지정합니다. 기본 키는 .입니다
genie-space.
Genie 공간 리소스를 추가하는 경우:
- Azure Databricks는 선택한 Genie 공간에 대해 앱의 서비스 주체 에게 지정된 권한을 부여합니다.
- 앱은 자연어 쿼리를 공간에 제출하고 SQL 쿼리 및 결과를 사용하여 구조화된 응답을 받을 수 있습니다.
- 앱은 메타데이터, 샘플 쿼리 및 데이터 정의를 포함하여 공간의 큐레이팅된 비즈니스 컨텍스트에 액세스합니다.
- 액세스 범위는 선택한 공간으로만 지정됩니다. 별도의 리소스로 추가하지 않으면 앱에서 다른 지니 공간에 액세스할 수 없습니다.
비고
또한 앱의 서비스 주체는 Genie 공간에서 쿼리하는 기본 데이터 원본에 대한 적절한 권한이 필요합니다. 여기에는 일반적으로 관련 Unity 카탈로그 테이블 및 뷰에 대한 권한 및 USE CATALOG 권한이 포함USE SCHEMASELECT됩니다.
환경 변수
Genie 공간 리소스를 사용하여 앱을 배포하는 경우 Azure Databricks는 구성의 필드를 valueFrom 사용하여 참조할 수 있는 환경 변수를 통해 공간 ID를 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?"
)
자세한 내용은 리소스의 Access 환경 변수를 참조하세요.
지니 공간 리소스 제거
앱에서 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 USESQL 웨어하우스에서(Genie 공간과 별도로 사용하는 경우) -
CAN QUERY엔드포인트를 제공하는 모델에서 -
USE CATALOG관련USE SCHEMAUnity 카탈로그 개체에서 -
SELECT테이블에서 앱이 직접 쿼리합니다.
모범 사례
Genie 공간 리소스를 사용하는 경우 다음 모범 사례를 따릅니다.
- 최소 사용 권한을 부여합니다. 앱이 작동하는 데 필요한 특정 지니 공간에 대한 액세스만 제공합니다.
- 자연어 쿼리 응답의 품질을 향상시키기 위해 Genie 공간에 잘 큐레이팅된 데이터 세트 및 메타데이터가 포함되어 있는지 확인합니다.
- Genie 공간에 대해 앱의 쿼리를 테스트하여 예상 사용자 질문에 대한 정확한 결과를 생성할 수 있는지 확인합니다.
- 쿼리 성능을 모니터링하고 Genie 공간과 앱의 상호 작용 패턴을 조정하여 응답 시간을 최적화합니다.
- Genie 공간이 사용자 쿼리를 효과적으로 해석하거나 응답할 수 없는 경우 오류 처리를 구현합니다.