AI/BI Genie 공간에서 신뢰할 수 있는 자산 사용

Important

이 기능은 공개 미리 보기 상태입니다. 작업 영역에서 Genie 공간 사용을 참조하세요.

이 문서에서는 신뢰할 수 있는 자산을 정의하고 이를 사용하여 Genie 공간에서 확인된 답변을 제공하는 방법을 설명합니다.

신뢰할 수 있는 자산이란?

신뢰할 수 있는 자산은 사용자가 예상하는 질문에 대해 확인된 답변을 제공하기 위해 미리 정의된 함수 및 예제 쿼리입니다. 사용자가 신뢰할 수 있는 자산을 호출하는 질문을 제출하면 응답에 표시되어 결과의 정확도에 추가적인 보증 계층이 추가됩니다.

신뢰할 수 있는 자산은 다음과 같습니다.

  • 매개 변수화 예제 SQL 쿼리: 매개 변수화 예제 SQL 쿼리를 사용하여 응답을 생성하면 리포지토리에 신뢰할 수 있는 자산 레이블이 지정됩니다. 응답에는 쿼리에서 인수로 사용되는 값이 포함됩니다.
  • UDF(사용자 정의 테이블 함수) : 사용자 지정 함수를 정의하고 Unity 카탈로그에 등록할 수 있습니다. 그런 다음, Genie 공간에서 지침을 설정할 때 이러한 함수를 신뢰할 수 있는 자산으로 추가할 수 있습니다. SQL 테이블 함수 만들기Unity 카탈로그의 UDF(사용자 정의 함수) 를 참조하세요.

신뢰할 수 있는 자산으로 답변된 샘플 질문입니다.

참고 항목

신뢰할 수 있는 자산이 다른 모든 지침을 대체하는 것은 아닙니다. Databricks는 잘 설정된 반복 질문에 신뢰할 수 있는 자산을 사용하는 것이 좋습니다. 특정 질문에 대한 정확한 답변을 제공합니다.

신뢰할 수 있는 자산을 만드는 이유는 무엇인가요?

AI 도구를 사용하는 경우 사용자는 생성된 응답의 정확도를 평가해야 합니다. 일반적으로 답변이 합리적이고 효과적으로 질문을 해결하는지 여부를 고려하여 이 작업을 수행합니다. Genie를 사용하면 응답이 결과 테이블로 전달됩니다. 사용자는 결과 집합을 만드는 생성된 SQL을 검토할 수 있지만, 기술적이지 않은 사용자는 SQL 문을 해석하거나 답변의 정확성을 평가할 배경이 없을 수 있습니다. 신뢰할 수 있는 자산은 이러한 사용자가 오해의 소지가 있거나, 잘못되었거나, 해석하기 어려운 응답을 발견할 가능성을 줄이는 데 도움이 됩니다.

사용자가 신뢰할 수 있는 자산으로 레이블이 지정된 응답을 받으면 도메인 전문가가 결과를 채우는 SQL 문을 검토했다고 확신할 수 있습니다.

신뢰할 수 있는 자산과 예제 SQL 쿼리의 차이점은 무엇인가요?

신뢰할 수 있는 자산은 Genie 공간 사용자가 질문할 것으로 예상되는 질문에 대한 검증된 답변을 제공합니다. 신뢰할 수 있는 자산이 사용자의 질문에 답변할 수 있는 경우 신뢰할 수 있는 자산으로 저장된 명령이 실행되고 지정된 결과 집합을 반환합니다. 지침에 포함된 모든 SQL 함수는 신뢰할 수 있는 자산으로 처리됩니다. 매개 변수를 포함하는 예제 SQL 쿼리는 신뢰할 수 있는 자산으로 처리될 수도 있습니다.

  • SQL 함수: 데이터를 처리하고 회사 관련 질문을 처리하도록 조정된 사용자 지정 SQL 함수를 작성할 수 있습니다. Genie는 질문에 응답할 때 신뢰할 수 있는 자산의 SQL 콘텐츠를 고려하지 않습니다.
  • 예제 SQL 쿼리(매개 변수 포함): 매개 변수화 예제 쿼리의 정확한 텍스트를 사용하여 응답을 생성하는 경우 응답은 자동으로 신뢰할 수 있는 자산으로 레이블이 지정됩니다. 쿼리의 정확한 텍스트가 사용되지 않거나 예제 쿼리가 매개 변수를 사용하지 않는 경우 쿼리는 컨텍스트를 제공하고 다른 질문을 처리하기 위해 SQL 문을 생성하는 데 Genie를 안내합니다.

신뢰할 수 있는 자산 정의

신뢰할 수 있는 자산 정의는 가능성이 있는 질문을 식별하는 것부터 시작합니다. 예를 들어 영업 파이프라인 데이터 세트를 사용하고 있다고 가정하고 영업 관리자가 묻는 일반적인 질문은 "내 파이프라인에서 진행 중인 영업 기회는 무엇인가요?"입니다.

예: UDF 사용

다음 단계에서는 이 질문에 답변하는 신뢰할 수 있는 자산을 UDF로 만드는 단계를 간략하게 설명합니다.

  1. 질문에 답변하는 SQL 쿼리를 정의하고 테스트합니다.

    이 쿼리는 두 테이블을 조인하고 "파이프라인" 예측 범주에 나열된 진행 중인 영업 기회의 데이터 세트를 반환합니다. 이 단계에서는 예상 결과를 반환하는 기본 쿼리를 작성하는 것이 목표입니다.

    SELECT
      o.id AS `OppId`,
      a.region__c AS `Region`,
      o.name AS `Opportunity Name`,
      o.forecastcategory AS `Forecast Category`,
      o.stagename,
      o.closedate AS `Close Date`,
      o.amount AS `Opp Amount`
    FROM
    users.user_name.opportunity o
    JOIN catalog.schema.accounts a ON o.accountid = a.id
    WHERE
    o.forecastcategory = 'Pipeline'
    AND o.stagename NOT LIKE '%closed%';
    
  2. Unity 카탈로그 함수를 정의합니다.

    Unity 카탈로그 함수는 쿼리를 매개 변수화하고 사용자가 요청할 것으로 예상되는 특정 조건과 일치하는 결과를 생성해야 합니다. 영업 관리자가 특정 지역 또는 지역 그룹에 집중하여 결과 집합의 범위를 좁히려고 하는 경우를 가정해 보겠습니다.

    다음 예제에서는 지역 목록을 매개 변수로 사용하고 테이블을 반환하는 Unity 카탈로그 함수를 정의합니다. 함수 반환은 지역이 제공된 경우 지역별로 결과를 필터링하도록 수정된 WHERE 절을 제외하고 이전 단계의 SQL 문과 거의 동일합니다. 함수 정의에 제공된 주석은 함수를 호출하는 시기와 방법을 Genie 공간에 지시하는 데 중요합니다.

    • 매개 변수 주석: open_opps_in_region 함수는 문자열 배열을 매개 변수로 예상합니다. 주석에는 예상된 입력의 예가 포함되어 있습니다. 매개 변수가 제공되지 않으면 기본값은 NULL입니다. 선택적 매개 변수 및 주석을 포함하는 방법에 대한 자세한 내용은 함수 작성 팁을 참조하세요.
    • 함수 주석: SQL 테이블 함수의 주석은 함수의 기능에 대한 자세한 설명을 제공합니다. 이는 사용자 질문에 대한 응답으로 함수를 사용해야 하는 시기를 Genie에 알리기 때문에 중요합니다. 주석은 함수의 용도를 가능한 한 정확하게 설명해야 합니다. 이 정보는 Genie가 특정 질문과 함수의 관련성을 인식하도록 안내합니다.
    
    CREATE
    OR REPLACE FUNCTION users.user_name.open_opps_in_region (
      regions ARRAY < STRING >
      COMMENT 'List of regions.  Example: ["APAC", "EMEA"]' DEFAULT NULL
    ) RETURNS TABLE
    COMMENT 'Addresses questions about the pipeline in the specified regions by returning
     a list of all the open opportunities. If no region is specified, returns all open opportunities.
     Example questions: "What is the pipeline for APAC and EMEA?", "Open opportunities in
     APAC"'
    RETURN
      SELECT
      o.id AS `OppId`,
      a.region__c AS `Region`,
      o.name AS `Opportunity Name`,
      o.forecastcategory AS `Forecast Category`,
      o.stagename,
      o.closedate AS `Close Date`,
      o.amount AS `Opp Amount`
      FROM
      catalog.schema.opportunity o
      JOIN catalog.schema.accounts a ON o.accountid = a.id
      WHERE
      o.forecastcategory = 'Pipeline'
      AND o.stagename NOT LIKE '%closed%'
      AND (
        isnull(open_opps_in_region.regions)
        OR array_contains(open_opps_in_region.regions, region__c)
      );
    

    코드를 실행하여 함수를 만들면 기본적으로 현재 활성 스키마에 등록됩니다. Unity 카탈로그의 사용자 지정 SQL 함수를 참조하세요. 구문 및 예제는 SQL 테이블 함수 만들기를 참조하세요.

  3. 신뢰할 수 있는 자산을 추가합니다.

    Unity 카탈로그에서 함수를 만든 후 Genie 공간에 대해 적어도 CAN EDIT 권한이 있는 사용자는 Genie 공간의 지침 탭에서 함수를 추가할 수 있습니다.

필요한 사용 권한

Genie 공간에 대해 적어도 CAN EDIT 권한이 있는 사용자는 신뢰할 수 있는 자산을 추가하거나 제거할 수 있습니다.

Genie 공간 사용자는 함수를 포함하는 카탈로그 및 스키마에 대한 CAN USE 권한이 있어야 합니다. 신뢰할 수 있는 자산을 호출하려면 Unity 카탈로그의 함수에 대한 EXECUTE 권한이 있어야 합니다. Unity 카탈로그 보안 개체는 부모 컨테이너에서 권한을 상속합니다. Unity 카탈로그의 보안 개체를 참조하세요.

Genie 공간에서의 공유를 간소화하기 위해 Databricks는 Genie 공간에서 사용하려는 모든 함수를 포함하도록 전용 스키마를 만드는 것이 좋습니다.

함수 작성 팁

다음 예제를 검토하여 신뢰할 수 있는 자산에 대한 동적 함수를 만드는 방법을 알아봅니다.

기본 매개 변수 값 포함

매개 변수의 기본값을 지정할 수 있습니다. 다음 예제와 같이 함수 서명에 DEFAULT 절을 사용합니다.

countries ARRAY<STRING> COMMENT 'List of countries' DEFAULT ARRAY()

예제 매개 변수 값 포함

값의 열거형이 설정된 열의 경우 주석에서 명확하게 정의하여 정확도를 높입니다. 다음 예제에서는 값의 샘플 목록을 제공합니다.

regions ARRAY < STRING > COMMENT 'List of regions. Values: ["AF","AN","AS", "EU", "NA", "OC", "SA", NULL]'

선택적 매개 변수 만들기

선택적 매개 변수를 만들려면 다음 예제와 같이 기본 매개 변수를 NULL로 설정합니다.

min_date STRING DEFAULT NULL

주석을 사용하여 서식 지정

다음 예제와 같이 주석에 매개 변수를 포함하여 매개 변수의 정확한 형식을 지정할 수 있습니다.

min_date STRING COMMENT 'minimum date (included) for a transaction, in `yyyy-mm-dd` format'

NULL 값에 대한 명시적 확인

선택적 매개 변수를 포함하는 경우 예상할 수 있는 값 중 하나는 NULL입니다. NULL을 사용한 비교를 통해 예측할 수 없는 결과를 얻을 수 있으므로 함수에 NULL 값에 대한 검사를 명시적으로 작성해야 합니다. 다음 예제에서는 예제 구문을 제공합니다.

WHERE (isnull(min_date) OR created_date >= min_date)