![[Databricks] Genie의 '파라미터화된 예시 SQL 쿼리'로 답변을 Trusted로 만들기 대표 이미지](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%3Fixlib%3Drb-4.1.1%26w%3D1200%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkZxaWl0YS1pbWFnZS1zdG9yZSUyRjAlMkY0NDExNTY5JTJGOTcwMTlkNGQwOTFlNjg2OTQxNjVlODdjZjU2Mjk0ZDc0NmVkNzIyNiUyRmxhcmdlLnBuZyUzRjE3ODE0MTI1MzY_aXhsaWI9cmItNC4xLjEmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmJnPUZGRkZGRiZmbT1wbmczMiZzPTczYTQ1ODkwYzAxODk2NmQ5OGUxZGUwOTc0OThhOGZl%26blend-x%3D120%26blend-y%3D467%26blend-w%3D82%26blend-h%3D82%26blend-mode%3Dnormal%26s%3Da654625c15b54b504fd5f9ca21f0f55b?ixlib=rb-4.1.1&w=1200&fm=jpg&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjEuMSZ3PTk2MCZoPTMyNCZ0eHQ9JTVCRGF0YWJyaWNrcyU1RCUyMEdlbmllJTIwJUUzJTgxJUFFJUUzJTgwJThDJUUzJTgzJTkxJUUzJTgzJUE5JUUzJTgzJUExJUUzJTgzJUJDJUUzJTgyJUJGJUU1JThDJTk2JUUzJTgxJTk3JUUzJTgxJTlGJUU0JUJFJThCU1FMJUUzJTgyJUFGJUUzJTgyJUE4JUUzJTgzJUFBJUUzJTgwJThEJUUzJTgxJUE3JUU1JTlCJTlFJUU3JUFEJTk0JUUzJTgyJTkyJTIwVHJ1c3RlZCUyMCVFMyU4MSVBQiVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPTY3ZWMyMWRjZTM2Nzg3MjVhYjcyZWRmZTNlYTdmNzAx&mark-x=120&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjEuMSZ3PTgzOCZoPTU4JnR4dD0lNDAwZmYwMGRleDdmM2EmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz1mNmE2YmU2YjMzZDcwY2I5Yjg3ZTExZGVmZTgwMDdkZA&blend-x=242&blend-y=480&blend-w=838&blend-h=46&blend-fit=crop&blend-crop=left%2Cbottom&blend-mode=normal&s=5fd605d81ee7177a1d357246df7f9c63)
[Databricks] Genie의 '파라미터화된 예시 SQL 쿼리'로 답변을 Trusted로 만들기
요약
Databricks의 AI/BI Genie에서 파라미터화된 예시 SQL 쿼리를 사용하여 답변의 신뢰도를 높이는 방법을 설명합니다. 사용자가 입력한 파라미터 값을 통해 쿼리를 재실행할 수 있으며, 해당 답변은 'Trusted'로 분류됩니다.
핵심 포인트
- ':parameter_name' 형식을 사용하여 SQL 내에 파라미터 삽입 가능
- 파라미터화된 쿼리를 활용한 답변은 'Trusted' 자산으로 취급됨
- String, Date, Integer 등 다양한 데이터 타입 지원
- 사용자가 UI에서 파라미터 값을 직접 편집하여 답변 재실행 가능
Databricks의 AI/BI Genie(현재 Genie Agent, 이전 Genie Space)에서는 미리 '예시 SQL 쿼리(Example query)'를 등록해 두어, Genie가 자연어 질문에 답변할 때의 단서로 활용할 수 있습니다. 이 예시 SQL 쿼리의 일부를 '파라미터(Parameter)'로 설정해 두면, 실행 시 사용자의 입력으로 값을 교체할 수 있게 되며, 해당 질문에 대한 답변은 'Trusted(검증됨)'로 취급됩니다.
본 기사에서는 샘플 스페이스인 'Bakehouse Sales Starter Space'를 사용하여, 파라미터화된 예시 SQL 쿼리를 실제로 등록하고 채팅을 통해 Trusted한 답변이 반환되는 과정을 실기(実機)로 확인했습니다.
먼저 요점을 정리하면 다음과 같습니다.
- 파라미터는
:parameter_name이라는 표기법으로 예시 SQL 쿼리에 삽입합니다. 데이터 타입은 String / Date / Date and Time / Decimal / Integer 중에서 선택할 수 있습니다. - 파라미터화된 쿼리의 텍스트가 답변 생성에 사용되면, 답변은 Trusted(Trusted Asset)로 취급됩니다.
- 사용자는 답변 화면에서 파라미터 값을 편집하여 재실행할 수 있습니다.
Databricks의 공식 문서(AWS 버전)에서는 파라미터화된 예시 SQL 쿼리의 설정 위치를 'Configure > Instructions > SQL Queries 탭'이라고 설명하고 있습니다. 하지만 이번에 검증한 Free Edition의 현재 UI에서는 예시 SQL 쿼리가 Instructions가 아닌 Examples 탭에 통합되어 있으며, Add > Example query를 통해 등록하는 방식이었습니다.
즉, 실기에서의 경로는 다음과 같습니다.
Configure > Examples > Add > Example query
대상 클라우드(AWS / Azure / GCP)나 에디션에 따라 UI 문구 및 경로에 차이가 있을 수 있으므로, 최종적으로는 본인의 환경에 맞는 문서와 UI를 확인하시기 바랍니다. 본 기사의 스크린샷은 모두 Free Edition의 현재 UI 기준입니다.
Configure를 열고 Examples 탭을 선택합니다. 여기에는 기존 예시(QUERY / MEASURE 등)가 목록으로 표시됩니다.
우측 상단의 Add를 클릭하면 Example query / Filter / Measure / Field / Join 선택지가 나타납니다. 파라미터화된 예시 SQL 쿼리를 만들 것이므로 Example query를 선택합니다.
상단의 'What question does this query answer?'에 이 쿼리가 답변할 질문을 입력합니다. 이어서 아래 에디터에 SQL을 입력합니다.
이번에는 다음 SQL을 입력했습니다. 파라미터로 만들고 싶은 위치에 :payment_method라고 직접 작성했습니다.
SELECT * FROM samples.bakehouse.sales_transactions
WHERE paymentMethod = :payment_method
LIMIT 100
:parameter_name 형식으로 SQL 본문에 직접 작성하면 해당 이름의 파라미터가 자동으로 등록됩니다(Add parameter 버튼을 통해 추가할 수도 있습니다). 하단의 Parameters 섹션을 열면 payment_method가 등록되어 있는 것을 확인할 수 있습니다.
파라미터 이름 옆의 톱니바퀴 아이콘을 클릭하면 Parameter details 다이얼로그가 열립니다.
설정 항목은 다음 3가지입니다.
| 항목 | 내용 |
|---|---|
| Keyword | 쿼리 내에서 파라미터를 나타내는 이름. SQL 본문의 :name 토큰과 대응 |
| ... |
Data type의 선택지는 다음과 같습니다.
이번에는 Data type을 String으로 유지하고, Comment에 '결제 방법. visa / mastercard / amex / paypal 중 하나'라고 보충 설명을 넣었습니다.
Parameters 섹션에서 파라미터에 테스트 값(이번에는 visa)을 입력하고 Preview를 누르면, 해당 값으로 쿼리가 실행되어 결과가 표시됩니다. 여기서 SQL의 타당성을 확인할 수 있습니다.
문제가 없다면 Save를 눌러 저장합니다. 저장하면 목록에 QUERY 타입의 예시로 추가됩니다.
채팅(Chat 모드)에서 등록한 질문과 유사한 내용을 물어봅니다. 여기서는 "mastercard로 결제된 거래를 보여줘"라고 질문했습니다.
답변에는 녹색의 Trusted 배지와 "Found a trusted query that might match your question: 지정한 결제 수단의 거래를 표시합니다"라는 표시가 붙었습니다. 파라미터화된 쿼리(Parameterized query)의 텍스트가 답변 생성에 사용되었기 때문에, 답변이 검증된 자산(Trusted Asset)으로 취급되고 있음을 알 수 있습니다. 답변에는 payment_method: mastercard라는 파라미터 값 필(Pill)과 결과 테이블(100행)이 포함되어 있습니다.
payment_method: mastercard 필을 클릭하면 파라미터 값을 편집할 수 있는 입력란이 열립니다. 값을 수정하고 다시 실행하면, 동일한 쿼리를 다른 결제 수단으로 실행할 수 있습니다.
- 입력값이 지정된 데이터 타입(Data type)과 일치하지 않으면, Genie는 이를 잘못된 타입으로 처리하여 부정확한 결과를 초래할 수 있습니다. 타입 지정은 정확하게 수행하고,
Comment를 통해 취할 수 있는 값의 범위를 보충해 두는 것이 좋습니다. - 파라미터를 가지지 않는 정적인 예시 쿼리는 Trusted가 되지 않으며, 문맥 제공 및 SQL 생성의 단서 역할에 그칩니다. 답변을 Trusted로 만들고 싶다면 파라미터화가 필요합니다.
Trusted Asset(파라미터화된 쿼리 포함)의 추가 및 삭제에는 대상 Genie Agent에 대한 CAN EDIT 권한이 필요합니다.
-
파라미터화된 예시 SQL 쿼리는
:parameter_name표기법으로 SQL 본문에 삽입합니다. -
Parameter details에서 Keyword / Data type / Comment를 설정합니다. -
테스트 값과
Preview로 타당성을 확인한 후Save합니다. -
파라미터화된 쿼리가 사용된 답변은
Trusted가 되며, 사용자가 값을 편집하여 재실행할 수 있습니다. -
현재 Free Edition UI에서는
Configure > Examples > Add > Example query를 통해 등록합니다 (AWS 버전 문서의 "SQL Queries 탭"과는 경로가 다릅니다). -
Genie 튜닝(품질 향상): https://docs.databricks.com/aws/en/genie/tune-quality
-
Trusted assets: https://docs.databricks.com/aws/en/genie/trusted-assets.html
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기