패브릭 데이터 에이전트를 사용하면 조직에서 생성 AI를 사용하여 대화형 시스템을 빌드할 수 있습니다. Power BI 의미 체계 모델을 데이터 원본으로 연결하면 팀은 복잡한 DAX 또는 SQL 쿼리를 작성하지 않고도 자연어 질문을 하고 컨텍스트가 풍부한 정확한 답변을 받을 수 있습니다.
그러나 AI 응답의 품질은 데이터 원본을 얼마나 잘 준비하는지에 따라 크게 달라집니다. 패브릭 데이터 에이전트는 레이크하우스, 웨어하우스, 이벤트하우스 및 온톨로지 등 여러 데이터 원본 형식을 지원하지만, 이 가이드에서는 특히 Power BI 의미 체계 모델에 중점을 두고 정확도 및 관련성을 최대화하도록 구성하는 모범 사례를 안내합니다.
Fabric 데이터 에이전트의 작동 방식
데이터 에이전트는 사용자 질문이 Orchestrator를 통해 흐르는 계층화된 아키텍처를 사용합니다. Orchestrator는 적절한 데이터 원본을 결정하고 쿼리를 생성, 유효성 검사 및 실행하는 Power BI 의미 체계 모델에 대한 DAX 생성 도구를 포함하여 특수 도구를 호출합니다.
쿼리 처리 흐름
질문 구문 분석: 에이전트는 Azure OpenAI를 통해 사용자 질문을 처리하여 보안 프로토콜 및 사용 권한을 준수하고 Microsoft 책임 있는 AI 원칙을 준수합니다.
데이터 원본 선택: 시스템은 사용자가 제공하는 스키마 정보 및 AI 지침을 사용하여 사용 가능한 원본에 대해 질문을 평가합니다.
쿼리 생성: 의미 체계 모델의 경우 DAX 생성 도구는 스키마, 메타데이터(동의어, 숫자 열의 최소 및 최대 값, 보고서 시각적 메타데이터 등), AI용 준비 데이터에 구성된 컨텍스트 및 대화 기록을 기반으로 DAX 쿼리를 생성합니다.
응답 형식 지정: 에이전트는 에이전트 지침에 따라 테이블, 요약 또는 인사이트를 사용하여 결과를 사람이 읽을 수 있는 응답으로 형식을 지정합니다.
AI 준비: 의미 체계 모델을 AI에 맞게 준비
Power BI의 AI 준비 기능은 패브릭 데이터 에이전트가 의미 체계 모델을 해석하는 방식에 직접적인 영향을 주는 세 가지 구성 구성 요소를 제공합니다. Power BI Desktop과 Power BI 서비스 모두에서 이러한 구성 요소에 액세스할 수 있습니다. 또한 Power BI Copilot는 AI 구성에 대한 Prep을 사용하므로 이러한 구성을 설정하는 데 시간을 투자하면 코필로트와 데이터 에이전트 응답 모두에 이점이 있습니다.
중요합니다
의미 체계 모델을 쿼리할 때 데이터 에이전트에서 사용하는 DAX 생성 도구는 의미 체계 모델의 메타데이터 및 AI 구성을 위한 준비에만 의존합니다. DAX 생성 도구는 DAX 쿼리 생성을 위해 데이터 에이전트 수준에서 추가하는 모든 지침을 무시합니다. 정확한 결과를 위해서는 AI 구성을 위한 적절한 준비가 필수적입니다.
AI 데이터 스키마
AI 데이터 스키마를 사용하면 AI 우선 순위 지정을 위한 모델의 포커스가 있는 하위 집합을 정의할 수 있습니다. 데이터 에이전트는 의미 체계 모델을 데이터 원본으로 추가할 때 자체 테이블 선택도 있지만 먼저 AI용 준비에서 스키마를 구성합니다. DAX 생성 도구는 이 스키마를 사용하여 DAX 쿼리를 만듭니다.
홈 리본에서 AI에 대한 준비 데이터를 선택하여 Power BI Desktop 또는 Power BI 서비스에서 이 스키마를 구성할 수 있습니다. 그런 다음 데이터 스키마 단순화 탭으로 이동합니다. 여기에서 응답을 생성할 때 AI가 사용해야 하는 테이블, 열 및 측정값을 선택합니다. 자세한 설정 지침은 AI 데이터 스키마 설정을 참조하세요.
데이터 에이전트에 의미 체계 모델을 추가하는 경우 AI용 준비에서 정의한 것과 동일한 테이블을 선택하여 일관된 동작을 보장합니다. 먼저 데이터 에이전트의 범위(답변해야 하는 질문 유형)를 정의합니다. 그런 다음 관련 개체만 선택합니다. 이 방법은 모호성을 줄이고 정확도를 향상시키며 응답 대기 시간을 줄입니다.
DAX 생성 도구는 모델의 메타데이터를 사용하여 질문을 해석합니다. 사용자가 데이터를 자연스럽게 참조하는 방법을 반영하는 테이블, 열 및 측정값에 대해 명확하고 비즈니스 친화적인 이름을 사용합니다. 예를 들어 'DIM_GEO_01' 대신 'TR_AMT' 또는 '판매 지역' 대신 '총 수익'을 사용합니다. 이 지침은 모호한 이름이 잘못된 쿼리 생성으로 이어질 수 있는 겹치거나 유사한 이름의 필드가 있는 대형 모델에 특히 중요합니다.
예: 필드 모호성 해결
| AI 데이터 스키마가 없는 경우 | AI 데이터 스키마 사용 |
|---|---|
사용자가 묻습니다. "What were our sales last quarter?" 의미 체계 모델에는 총 매출, 총 매출, 순매출액 및 판매 후 판매와 같은 여러 판매 관련 측정값이 포함됩니다. AI는 총 매출을 반환하지만 팀은 일반적으로 분기별 보고를 위해 순매출을 사용합니다. |
NET Sales만 포함하고 관련이 없는 다른 측정값을 제외하도록 AI 데이터 스키마를 구성한 후에는 이제 동일한 질문이 예상 메트릭을 반환합니다. AI는 더 이상 사용자가 의도한 "판매" 측정값을 추측할 필요가 없습니다. |
AI 데이터 스키마에 대한 팁
일관되고 정확한 결과를 위해서는 Ai용 Prep의 AI 데이터 스키마를 통해 정의된 패브릭 데이터 에이전트에서 동일한 테이블을 선택해야 합니다.
스키마를 선택할 때 종속 개체도 포함합니다. 예를 들어 Total Revenue 측정값이 추가 열에 종속된 두 개의 다른 측정값을 참조하는 경우 스키마에 해당 종속 개체를 모두 포함합니다. 종속성을 식별하려면 의미 체계 링크 랩 라이브러리의 get_measure_dependencies 함수를 사용합니다.
큰 의미 체계 모델이 있는 경우 모든 개체의 이름을 수동으로 바꾸는 것은 지루할 수 있습니다. Power BI 모델링 MCP 서버를 사용하여 LLM이 테이블, 열 및 측정값에 대해 비즈니스 친화적인 이름을 생성하도록 합니다. 저장하기 전에 변경 내용을 검토하고 확인하여 DAX 식, 관계 또는 기타 종속 개체가 중단되지 않도록 방지합니다.
확인된 답변
확인된 답변은 특정 질문이 트리거하는 사용자 승인 시각적 응답입니다. 그렇지 않으면 잘못 해석될 수 있는 일반 또는 복잡한 질문에 일관되고 신뢰할 수 있는 응답을 제공합니다. 확인된 답변은 보고서 수준이 아닌 의미 체계 모델 수준에서 저장하므로 동일한 모델을 사용하는 모든 데이터 에이전트에서 작동합니다. 자세한 내용은 AI용 데이터 준비 – 확인된 답변을 참조하세요.
데이터 에이전트에서 확인된 답변을 사용하는 경우 시스템은 Power BI 시각적 개체 자체를 반환하지 않습니다. 대신 사용자 질문과 시각적 개체의 속성(열, 측정값, 필터)을 사용하여 DAX 쿼리 생성에 영향을 줍니다. 이 방법은 확인된 답변이 DAX 생성 도구를 올바른 쿼리 구조로 안내하여 응답 정확도를 향상시킨다는 것을 의미합니다. 사용자가 데이터 에이전트에 질문을 하면 시스템은 먼저 새 응답을 생성하기 전에 확인된 답변에 정의된 프롬프트와 정확하거나 의미상 유사한 일치 항목을 확인합니다.
예: 지역 용어 처리
| 확인된 답변이 없는 경우 | 확인된 답변이 있는 경우 |
|---|---|
사용자가 묻습니다. "Show me performance by territory" AI는 Products 테이블에 Territory 열이 있기 때문에 "지역"을 제품 범주로 해석합니다. 사용자는 실제로 판매 지역을 의미했습니다. |
"지역별로 세분화된 판매 표시" 및 "지역 간 판매는 어떻게 분산됩니까?" 등의 "What is the sales performance by territory?"트리거 질문이 있는 지역별 판매 시각적 개체를 사용하여 확인된 답변을 만듭니다. 이제 사용자가 지역 성능에 대해 물어볼 때 지역 판매 시각적 개체에 사용되는 개체를 기반으로 지속적으로 정확한 응답을 받습니다. |
확인된 답변에 대한 구성 팁
- 확인된 답변당 5~7개의 트리거 질문을 사용하여 자연 변화를 다룹니다.
- 사용자가 시도할 수 있는 공식 및 대화형 관용구를 모두 포함합니다.
- 최대 3개의 필터를 구성하여 여러 개의 확인된 답변을 만들지 않고, 데이터를 유연하게 나눌 수 있습니다.
- 확인된 답변에서 참조된 테이블, 열 또는 측정값의 이름을 바꾸는 경우 확인된 답변을 업데이트하고 변경 내용이 적용되도록 다시 저장합니다.
AI 지침
AI용 Prep의 AI 지침은 의미 체계 모델에 대한 컨텍스트, 비즈니스 논리 및 지침을 직접 제공합니다. 용어를 명확히 하고, 분석 접근 방식을 안내하며, AI가 이해하지 못하는 중요한 비즈니스 및 의미 체계 컨텍스트를 제공합니다.
홈 리본에서 AI에 대한 준비 데이터를 선택한 다음 AI 추가 지침 탭으로 이동하여 Power BI Desktop 또는 Power BI 서비스에서 이러한 지침을 구성할 수 있습니다. 자세한 설정 지침은 AI 지침 설명서를 참조하세요.
AI 지침은 LLM이 해석하는 구조화되지 않은 지침이지만 정확하게 따른다는 보장은 없습니다. 명확하고 구체적인 지침은 복잡하거나 충돌하는 명령보다 더 효과적입니다.
앞에서 설명한 것처럼 DAX 생성 도구는 의미 체계 모델의 AI 준비에 구성된 AI 지침만 참조합니다. 데이터 에이전트 지침은 도구에 전달되지 않으며 의미 체계 모델을 쿼리할 때 무시됩니다. 따라서 데이터 에이전트 수준에서 의미 체계 모델 관련 지침을 추가하지 마세요. AI를 위한 준비 단계에서 모든 의미 체계 모델 지침을 유지하여 DAX 생성 도구에서 사용할 수 있도록 합니다. 데이터 에이전트 지침에는 일반 응답 형식 지정 기본 설정, 원본 간 라우팅 규칙, 일반적인 약어, 톤 등과 같이 에이전트에 구성된 모든 데이터 원본에 적용되는 지침만 포함되어야 합니다. 또한 다른 데이터 원본과 달리 데이터 에이전트는 의미 체계 모델에 대한 데이터 원본 지침 또는 설명을 지원하지 않습니다.
예: 비즈니스 용어 정의
| AI 지침이 없는 경우 | AI 지침 사용 |
|---|---|
| 한 사용자가 묻습니다. AI는 조직에서 "최고 수행자"가 무엇을 의미하는지 이해하지 못하며 오류를 반환하거나 설명을 요청합니다. | 작업 지침을 추가합니다: "월간 할당량의 110% 이상을 달성하는 영업 사원이 최고의 성과자로 간주됩니다." Rep_Performance 테이블을 사용하고 여기서 Quota_Attainment >= 1.1"을 필터링합니다. 이제 AI는 질문을 올바르게 해석하고 올바른 결과를 반환합니다. |
효과적인 명령 패턴
- 기간 정의: "성수기는 11월부터 1월까지입니다. 비수기는 2월부터 4월까지입니다."
- 메트릭 기본 설정: "사용자가 수익성에 대해 묻는 경우 Gross_Profit 아니라 Contribution_Margin 측정값을 사용합니다."
- 데이터 원본 라우팅: "인벤토리 관련 질문에서는 Warehouse_Inventory 테이블을 Sales_Orders 테이블보다 우선시하십시오."
- 기본 그룹화: "달리 지정하지 않는 한 월이 아닌 회계 분기별로 수익을 분석합니다."
DAX 쿼리 생성 도구는 AI용 Prep 외에도 시각적 개체 제목, 열, 측정값, 필터 등과 같은 보고서 시각적 개체의 메타데이터를 사용하여 쿼리 정확도를 향상시킵니다.
권장되는 구현 워크플로
의미 체계 모델 최적화: 먼저 성능에 대한 의미 체계 모델을 최적화합니다. 데이터 에이전트 성능이 저하되는 것은 잘못 설계된 의미 체계 모델, 비효율적인 DAX 측정값 또는 이 두 가지의 혼합에서 비롯되는 경우가 많습니다. 사용자가 질문을 하면 데이터 에이전트는 DAX 쿼리를 생성하고 모델에 대해 실행합니다. 잘 최적화된 모델은 더 적은 리소스를 사용하고 더 빠른 쿼리 실행을 달성합니다. 대화형 인터페이스에서 사용자는 빠른 응답을 기대하므로 성능 저하는 사용자 환경 및 채택에 직접적인 영향을 줍니다.
또한 불필요한 열, 테이블 및 측정값이 있는 비대해진 모델은 DAX 생성 도구가 구문 분석할 때 더 많은 노이즈를 생성하여 반응 정확도를 낮출 수 있습니다. 모델을 초기에 최적화하면 데이터가 증가하고 모델이 더 복잡해짐에 따라 성능 문제도 방지할 수 있습니다. Power BI 코스의 성능을 위한 모델 최적화에서 자세히 알아볼 수 있습니다.
패브릭 Notebook에서 모범 사례 분석기 및 의미 체계 모델 메모리 분석기를 사용하여 잘못된 데이터 형식, 불필요한 열, 높은 카디널리티 열 및 비효율적인 DAX 패턴과 같은 문제를 식별합니다. LLM이 AI 데이터 스키마에 포함된 각 개체의 용도를 이해하는 데 도움이 되는 테이블, 열 및 측정값에 설명을 추가합니다.
AI > 에 대한 준비 정의 AI 데이터 스키마: 데이터 에이전트의 범위에 따라 에이전트가 대답해야 하는 질문과 관련된 테이블, 열 및 측정값만 선택하여 AI용 준비에서 AI 데이터 스키마를 구성합니다.
AI > 용 준비 만들기 확인된 답변: 가장 일반적인 질문을 식별하고 적절한 시각적 개체를 사용하여 AI용 준비에서 확인된 답변을 구성합니다. 완전하고 강력한 질문을 트리거(부분 구가 아님)로 사용하여 일치 정확도를 향상시킵니다.
데이터 에이전트에 의미 체계 모델을 추가 합니다. PREP for AI에 AI 지침을 추가하기 전에 데이터 에이전트의 응답을 테스트하고 유효성을 검사합니다. 이 단계는 DAX 쿼리 생성을 개선하기 위해 AI 지침이 필요한 위치를 이해하는 데 도움이 됩니다.
AI > 용 준비 추가 AI 지침: 유효성 검사 결과에 따라 데이터 에이전트 지침이 아닌 AI 지침 준비에서 비즈니스 용어, 분석 기본 설정 및 데이터 원본 우선 순위를 정의합니다.
보고서 시각적 개체 준비: 숨겨진 시각적 개체 및 페이지를 포함하여 의미 체계 모델에 연결된 보고서를 검토하여 시각적 개체에 설명 제목이 있는지 확인합니다. 잘 구성된 시각적 자료는 시각적 제목, 테이블, 열, 사용된 측정값, 적용된 필터 등의 메타데이터를 활용하여 AI가 응답을 확고히 하는 데 도움이 됩니다.
DAX 확인 및 테스트: 응답 정확도는 생성된 DAX 쿼리에 따라 달라집니다. 데이터 에이전트를 테스트할 때 각 응답에서 DAX 쿼리를 검토하여 유효한지 확인하고 질문에 올바르게 대답합니다. 결과가 올바르지 않으면 DAX를 분석하여 조정이 필요한 구성(의미 체계 모델, AI 데이터 스키마, 확인된 답변 또는 AI 지침)을 식별합니다.
데이터 에이전트 구성 지침: 에이전트에 구성된 모든 데이터 원본에 적용되는 지침에 대해서만 데이터 에이전트 수준에서 지침을 추가합니다. 이 지침에는 일반적인 응답 형식 지정 기본 설정, 원본 간 라우팅 규칙, 일반적인 약어 및 톤이 포함됩니다. 여기에 의미 체계 모델 관련 지침이 DAX 생성 도구에 전달되지 않으므로 추가하지 마세요. 에이전트 지침을 구성하는 방법에 대한 지침은 구성 지침을 참조하세요.
유효성 검사 및 반복: LLM은 적절한 컨텍스트 없이 잘못된 결과를 생성할 수 있습니다. 구성을 지속적으로 반복하고 응답의 유효성을 검사하여 데이터 에이전트에 대한 신뢰를 구축합니다. 프로그래밍 방식으로 응답을 평가하려면 Fabric 데이터 에이전트 Python SDK를 사용하여 지상 진리 질문-답변 쌍에 대해 자동화된 평가를 실행하고 정확도 메트릭을 분석할 수 있습니다. SDK는 이 경우에만 평가용이며 의미 체계 모델의 AI 구성 준비는 수정할 수 없습니다. 자세한 내용은 데이터 에이전트 계산을 참조하세요. 또한 평가 프로세스에 관련자 및 최종 사용자를 참여시킵니다. 피드백은 응답이 실제 기대 및 유용성에 부합하도록 보장하여 자동화된 검사가 놓칠 수 있는 격차를 식별하는 데 도움이 됩니다.
소스 제어 및 배포 파이프라인 구현: Git 통합 및 배포 파이프라인을 사용하여 개발, 테스트 및 프로덕션 작업 영역에서 데이터 에이전트 구성을 관리합니다. 이 방법을 사용하면 최종 사용자가 액세스하는 프로덕션으로 승격되기 전에 구성 변경 내용을 테스트하고 유효성을 검사할 수 있습니다. 자세한 내용은 패브릭 데이터 에이전트에 대한 소스 제어, CI/CD 및 ALM을 참조하세요.
팁 (조언)
이 워크플로를 통해 도움이 되도록 패브릭 도구 상자 리포지토리 의 리소스를 참조로 사용할 수 있습니다. 이 리포지토리에는 다음이 포함됩니다.
- 의미 체계 모델을 데이터 원본으로 준비하고 구성하기 위한 검사 목록
- 유용한 코드 조각 및 도우미 함수가 있는 데이터 에이전트 유틸리티 노트북
피해야 할 일반적인 문제
별표 스키마를 사용하지 않음: 평평하고 비정규화된 테이블 또는 피벗된 데이터 구조를 사용하는 의미 체계 모델은 DAX를 덜 효율적이고 올바르게 작성하기 어렵게 만듭니다. DAX는 명확한 팩트 및 차원 테이블이 있는 별표 스키마에 최적화되어 있습니다. 각 행이 단일 관찰을 나타내는 정규화된 구조로 넓은 테이블을 피벗 해제합니다.
숨겨진 필드에 의존: 모델에서 숨겨진 열을 참조하는 경우 확인된 답변이 작동하지 않습니다.
불필요한 측정값 포함: 의미 체계 모델에는 보고서 대화형 작업을 향상시키는 데 사용되는 도우미 측정값과 중간 개체가 포함되어 있는 경우가 많습니다. AI 데이터 스키마를 구성할 때 실제 비즈니스 메트릭을 계산하는 측정값만 포함합니다. 도우미 측정값을 제외하면 노이즈가 줄어들고 DAX 생성 도구가 보다 정확한 쿼리를 생성하는 데 도움이 됩니다.
중복 또는 겹치는 측정값: 유사한 메트릭(예: Total Sales, Sales Amount, Revenue)을 계산하는 여러 측정값은 모호성을 만듭니다. 측정값을 통합하거나 명확하게 구분하고 AI 데이터 스키마에서 중복 항목을 제외합니다.
설명이 없는 이름 지정: TR_AMT, F_SLS 또는 DIM_GEO_01 같은 개체 이름은 DAX 생성 도구에 대한 컨텍스트를 제공하지 않습니다. 총 수익, 판매액 또는 고객 지리와 같은 명료하고 비즈니스 친화적인 이름을 사용합니다. 개체의 이름을 바꿀 수 없는 경우 설명과 동의어가 AI가 해당 용도를 이해하는 데 필요한 컨텍스트를 제공하는지 확인합니다.
암시적 측정값에 의존: 암시적 측정값은 예측할 수 없는 결과를 초래할 수 있습니다. 사용자가 쿼리할 계산에 대한 명시적 DAX 측정값을 만들고, 의도하지 않은 집계를 방지하기 위해 숫자 열에 올바른 기본 요약(합계, 평균, 없음 등)을 설정합니다.
모호한 날짜 필드: 명확한 지침 없이 여러 날짜 열(주문 날짜, 배송 날짜, 기한, 회계 분기/분기 등)은 AI에 혼란을 줍니다. AI 준비에서 확인된 답변 및 AI 지침을 사용하여 기본적으로 또는 특정 질문 유형에 사용할 날짜 필드를 지정합니다.
충돌하는 지침: 확인된 응답 구성과 모순되는 AI 지침은 예측할 수 없는 동작을 만듭니다.
스키마 구체화 건너뛰기: 비슷한 이름의 필드가 많은 대형 모델에는 포커스가 있는 AI 데이터 스키마가 필요합니다.
지나치게 복잡한 지침: 지침을 집중적이고 구체적으로 유지합니다. AI는 복잡하고 충돌하는 지침을 해석하지만 보장하지는 않습니다. 복잡한 지침은 대기 시간에 추가할 수도 있습니다.
Tools
이러한 지침을 따르려면 패브릭 도구 상자 GitHub 리포지토리에서 아래 도구를 사용할 수 있습니다.
- 권장 사항이 포함된 검사 목록입니다. 이는 지침이며 검사 목록의 모든 항목이 시나리오에 적용할 수 있는 것은 아닙니다.
- 한 곳에 유틸리티 컬렉션이 있는 Notebook입니다.
- VS Code에서 개발 및 테스트를 가속화하는 Power BI MCP 서버
- Semantic link labs 라이브러리는 Fabric Notebook에서 의미 모델을 프로그래밍 방식으로 업데이트하기 위한 것입니다.