Looker 데이터 소스의 에이전트 응답 렌더링

이 가이드에서는 Looker 데이터 소스를 사용하여 사용자 인터페이스 (UI)에서 Conversational Analytics API의 출력을 렌더링하는 데 권장되는 접근 방식을 설명합니다.

사용자가 API를 쿼리하면 최종 답변 외에 중간 추론 단계가 응답에 포함될 수 있습니다. 이 가이드에서는 기본 답변 뷰전체 세부정보 뷰를 구현하여 다양한 수준의 세부정보로 API 응답을 렌더링하는 방법을 설명합니다.

  • 기본 답변 보기에는 사용자의 질문에 대한 답변이 직접 표시됩니다. 이 뷰는 간결한 프레젠테이션을 제공하며 에이전트의 추론에 관한 세부정보를 미리 포함하지 않습니다.
  • 전체 세부정보 보기에는 기본 답변 보기의 모든 요소를 포함하여 에이전트가 최종 답변에 도달하기 위해 따르는 전체 추론 프로세스가 표시됩니다.

권장되는 UI 패턴은 기본적으로 기본 답변 뷰를 표시하고 사용자가 전체 세부정보 뷰로 전환할 수 있는 UI 컨트롤(예: 버튼 또는 전환)을 제공하는 것입니다. 추론 세부정보는 논리를 검증하는 데 유용하지만, 최종 답변에 주로 관심이 있는 사용자에게는 기본적으로 표시하면 불필요한 세부정보가 추가될 수 있습니다.

기본 답변 보기

사용자의 질문에 대한 최종 직접 답변만 렌더링하려면 이 섹션의 단계를 따르세요. 이 뷰는 최종 출력에 중점을 두며 중간 단계는 제외합니다.

시스템 메시지 렌더링 안내

다음 표에서는 최종 직접 답변으로 간주되는 시스템 메시지와 이러한 메시지를 렌더링하는 방법에 관한 권장사항을 설명합니다.

시스템 메시지 렌더링 안내
DataQuery 연결된 결과와 함께 렌더링 해당 DataResult 메시지를 렌더링하는 경우에만 이 메시지를 렌더링하세요.

다음과 같은 경우에는 DataQuery 메시지를 렌더링하지 마세요.
  • DataQuery 메시지의 name 필드가 _sample_values로 끝납니다 (예: products_brand_sample_values).
  • 해당 DataResult 메시지의 name 필드가 _sample_values로 끝납니다.
  • 해당 DataResult 메시지의 data 필드가 비어 있습니다.
요청 시 소스 쿼리를 표시하려면 전환 버튼 내부에 쿼리 텍스트를 배치하는 것이 좋습니다. 예를 들어 Looker의 대화형 분석에서는 '이 값은 어떻게 계산되었나요?' 컨트롤을 사용합니다.
DataResult 중간 결과와 빈 결과를 제외한 모든 DataResult 메시지를 렌더링합니다.

다음과 같은 경우에는 DataResult 메시지를 렌더링하지 마세요.
  • name 필드는 _sample_values으로 끝납니다. 특정 필드의 샘플 값을 가져오는 중간 단계입니다.
  • data 필드가 비어 있습니다. 이러한 결과는 최종 TextMessage 대답에 요약됩니다.
ChartResult 모든 차트를 렌더링합니다. API 응답에서 모든 ChartResult 메시지를 렌더링합니다.
TextMessage 최종 응답만 렌더링합니다. TextType 값이 FINAL_RESPONSE인 경우에만 TextMessage 메시지를 렌더링합니다.

예: 기본 답변 뷰 렌더링

이유 표시와 같은 전환 버튼을 구현하여 사용자가 기본 대답 뷰에서 전체 세부정보 뷰로 전환할 수 있습니다.

접힌 상태의 '이유 표시' 라벨이 있는 전환 버튼

다음 스크립트는 기본 답변 보기를 보여줍니다. DataQuery 메시지의 경우 기본 쿼리 로직에 대한 선택적 액세스를 제공하기 위해 스크립트에서 축소된 아이콘 ()으로 표시된 인라인 전환 뒤에 쿼리 세부정보를 숨기는 것이 좋습니다.

사용자: 2022년과 2023년의 Cymbal Group 총매출을 비교해 줘. 결과를 차트에 표시해 줘.

상담사:

다음은 Total Sales Cymbal Group 2022 2023의 쿼리 결과입니다.

생성 연도 총매출
2023 $96,627.00
2022 $93,095.50

2022년 및 2023년 Cymbal 그룹의 총매출

2022년과 2023년의 매출을 비교하는 막대 그래프

2022년 Cymbal Group의 총매출은 $93,095.50이고 2023년에는 $96,627.00입니다.

다음 표는 샘플 상호작용의 요소를 해당 API 시스템 메시지에 매핑합니다.

요소 소스 메시지
생성된 쿼리 (기본적으로 전환 뒤에 숨겨진 JSON) DataQuery
데이터 테이블 DataResult
막대 그래프 ChartResult
최종 텍스트 답변 TextMessage(FINAL_RESPONSE)

전체 세부정보 보기

이 안내를 사용하여 전체 추론 프로세스를 렌더링하세요. 이 뷰에는 기본 답변 뷰의 모든 내용이 포함되어 있으며, 콘텐츠와 단계가 상담사가 생성한 순서대로 표시됩니다. 이 뷰에는 추론 및 중간 데이터를 비롯하여 에이전트가 최종 답변에 도달하기 위해 취하는 모든 단계가 표시됩니다.

추론 및 세부 데이터 검색을 위한 렌더링 안내

다음 표에서는 에이전트의 추론과 세부 검색 단계를 나타내는 시스템 메시지와 이러한 메시지를 렌더링하는 방법에 관한 권장사항을 설명합니다.

시스템 메시지 렌더링 안내
TextType 값이 THOUGHTTextMessage 추론 단계를 렌더링합니다. 이러한 메시지를 표시하여 에이전트의 내부 사고 과정을 보여줍니다. 이러한 메시지에는 다음 두 부분이 포함됩니다.
  • parts[0]은 전체 생각 텍스트를 간략하게 요약한 생각 요약입니다.
  • parts[1]는 전체 사고 텍스트입니다.
애플리케이션에 상태 업데이트 (예: 로드 표시기 또는 진행률 표시줄)가 표시되는 경우 생각 요약 (parts[0])을 일시적인 상태 표시기로 표시하는 것이 좋습니다.
TextType 값이 PROGRESSTextMessage PROGRESS 메시지를 표시합니다. 이러한 메시지를 표시하여 에이전트의 작업에 관한 유용한 정보를 제공합니다. 이는 호출되는 도구와 같은 에이전트의 진행 상황에 관한 정보 메시지입니다. 이는 에이전트의 내부 사고 과정 (THOUGHT) 및 사용자에게 제공되는 최종 답변 (FINAL_RESPONSE)과는 다릅니다. 이러한 메시지에는 다음 두 부분이 포함됩니다.
  • parts[0]은 요약입니다.
  • parts[1]은 전체 진행 상황 텍스트입니다.
이름이 _sample_values로 끝나는 DataQueryDataResult 중간 DataQueryDataResult 메시지를 표시합니다. _sample_values로 끝나는 name 필드가 있는 DataQueryDataResult 메시지는 세부적인 데이터 검색을 위한 중간 단계이며 기본 대답 뷰에 표시되지 않습니다. 상담사가 취하는 단계를 표시하려면 전체 답변 보기 (전환 버튼 뒤)에 이를 포함하세요.
data 필드가 비어 있는 DataResult 연결된 DataQuery 메시지만 표시 어떤 뷰에서도 빈 data 필드가 있는 DataResult 메시지를 표시하지 않습니다. 전체 세부정보 보기에서 빈 결과를 초래한 DataQuery 메시지를 표시합니다 (전환 버튼 뒤). 이를 통해 사용자는 쿼리에서 결과가 나오지 않더라도 실행된 쿼리를 확인할 수 있습니다. 최종 답변 요약 (FINAL_RESPONSE 유형의 TextMessage)에서 이미 사용자에게 쿼리에서 반환된 데이터가 없다고 알렸습니다.

예: 전체 세부정보 뷰 렌더링

사용자가 이유 표시 전환 버튼을 펼쳐진 상태로 전환하면 UI에 에이전트의 단계별 이유가 표시됩니다.

펼쳐진 상태의 '이유 표시' 라벨이 있는 전환 버튼

다음 스크립트에는 추론 단계를 포함한 전체 세부정보 보기가 나와 있습니다. DataQuery 메시지의 경우 스크립트에 표시된 대로 확장된 아이콘 ()으로 표시된 인라인 전환 버튼 뒤에 쿼리 세부정보가 기본적으로 표시될 수 있습니다.

사용자: 2022년과 2023년의 Cymbal Group 총매출을 비교해 줘. 결과를 차트에 표시해 줘.

상담사:

스키마 이해하기

2022년과 2023년의 'Cymbal Group' 총매출을 비교하려면 'Order Items' Explore를 쿼리해야 합니다. 제품 이름 'Cymbal Group'과 2022년 및 2023년으로 필터링하겠습니다. 그런 다음 Total SalesCreated Year 필드를 가져옵니다.

다음은 Total Sales Cymbal Group 2022 2023의 쿼리 결과입니다.

[
 {"model":"thelook","view":"order_items","fields":["order_items.total_sale_price","order_items.created_year"],
 "filters":{"order_items.created_year":"2022,2023","products.brand":"Cymbal Group"}}
]
생성 연도 총매출
2023 $96,627.00
2022 $93,095.50

판매 분포 플롯팅

2022년과 2023년의 'Cymbal Group' 총매출을 가져왔습니다. 이제 이 비교를 시각화하는 차트를 생성한 후 최종 답변을 제공하겠습니다.

2022년과 2023년의 '심벌 그룹' 총매출을 비교하는 막대 그래프를 생성해 줘. x축은 연도를, y축은 총매출을 나타내야 합니다.

2022년과 2023년의 매출을 비교하는 막대 그래프

2022년 Cymbal Group의 총매출은 $93,095.50이고 2023년에는 $96,627.00입니다.

다음 표는 샘플 상호작용의 단계를 해당 API 시스템 메시지에 매핑합니다.

요소 소스 메시지
'스키마 이해' (생각 요약) TextMessage (유형 THOUGHT, parts[0])
'총매출을 비교하려면...' (전체 생각 텍스트) TextMessage (유형 THOUGHT, parts[1])
생성된 쿼리 ( 전환 버튼을 펼치면 JSON이 표시됨) DataQuery
데이터 테이블 DataResult
'매출 분포 플롯' (생각 요약) TextMessage (유형 THOUGHT, parts[0])
'...을 가져왔습니다.' (전체 생각 텍스트) TextMessage (유형 THOUGHT, parts[1])
막대 그래프 ChartResult
최종 텍스트 답변 TextMessage(FINAL_RESPONSE)