데이터 통계 에이전트로 유용한 정보 얻기

데이터 통계 에이전트는 Google에서 만든 에이전트입니다. BigQuery 데이터에서 데이터 인사이트를 제공합니다. 데이터 통계 에이전트를 사용하면 SQL에 대한 사전 지식이 필요하지 않습니다. 이를 통해 정보에 입각한 데이터 기반 비즈니스 결정을 내릴 수 있으며 데이터 분석가는 더 복잡한 작업에 집중할 수 있습니다.

이 페이지에서는 Google Cloud 프로젝트 관리자가 Google Cloud 콘솔REST API를 사용하여 데이터 통계 에이전트를 승인, 생성, 배포하는 방법을 설명합니다. 이 페이지에서는 최종 사용자가 에이전트를 사용하는 방법도 보여줍니다.

개요

데이터 통계 에이전트는 다음 작업을 수행하도록 설계되었습니다.

  • 사용자의 의도 파악: 연결된 데이터 소스의 컨텍스트와 사용자의 자연어 질문을 분석하여 사용자의 목표를 파악합니다.
  • SQL 생성: 이러한 이해를 바탕으로 사용자의 질문을 구문 및 의미적으로 올바른 SQL 쿼리로 변환합니다.
  • 데이터 가져오기: 생성된 SQL을 실행하여 연결된 데이터 소스인 BigQuery 데이터 세트에서 관련 데이터를 직접 가져옵니다.
  • 인사이트 제공: 검색된 데이터를 차트, 표와 같은 시각화 또는 텍스트 기반 요약으로 표시하여 사용자의 질문에 답합니다.

데이터 통계 에이전트에게 질문할 수 있는 쿼리의 예

데이터 통계 에이전트에게 물어볼 수 있는 질문의 예는 다음과 같습니다.

  • 데이터 집계 및 시각화:
    • '올해 2분기 라틴 아메리카 지역의 매출은 작년 2분기와 비교해 어때?'
    • '이 지역의 상위 5개 국가를 각각 비교하는 막대 그래프를 그려 줘.'
  • 추세 분석:
    • '지난 6개월 동안 발신 전화량이 지역별로 어떻게 달라졌어?'
    • '별점이 3개를 초과하는 리스본 호텔의 예약 패턴을 분석해 줘.'
  • 데이터 마이닝:
    • "고객이 상품을 구매할 때 총 판매 가치와 상관관계가 있는 요소는 무엇인가요? 관계를 보여주는 히트맵을 만들어 줘'라고 말합니다.
  • 분석 및 보고:
    • '기회 및 계정 표를 요약하고 주요 추세를 강조하는 간단한 보고서를 만들어 줘.'

시작하기 전에

Gemini Enterprise에서 데이터 통계 에이전트를 사용하려면 다음 단계를 따르세요.

  • 안내에 따라 Gemini Enterprise를 시작하세요.
  • 안내에 따라 Gemini Enterprise 라이선스를 구매합니다.
  • 데이터 통계 에이전트에 액세스하려면 Google 계정 관리자에게 문의하세요.
  • BigQuery 데이터를 준비합니다. 자세한 내용은 BigQuery 문서를 참고하세요.
  • 에이전트를 최대한 활용하려면 BigQuery 데이터 세트의 데이터를 이해해야 합니다.

BigQuery 데이터에 대한 액세스 권한 부여

데이터 통계 에이전트가 BigQuery 데이터를 보고 쿼리할 수 있도록 에이전트 사용자에게 Identity and Access Management (IAM) 역할을 부여합니다.

워크플로

데이터 통계 에이전트를 설정하고 사용하는 전체 워크플로는 다음과 같습니다.

승인 세부정보 가져오기

다음 단계에 따라 승인을 설정하세요. 획득한 세부정보는 데이터 통계 에이전트가 BigQuery 데이터에 연결하도록 승인하는 데 필요합니다.

  1. Google Cloud 콘솔에서 API 및 서비스사용자 인증 정보 페이지로 이동합니다.

    사용자 인증 정보로 이동

  2. 에이전트가 쿼리할 BigQuery 데이터 세트가 포함된 Google Cloud 프로젝트를 선택합니다.

  3. 사용자 인증 정보 만들기를 클릭하고 OAuth 클라이언트 ID를 선택합니다.

  4. 애플리케이션 유형에서 웹 애플리케이션을 선택합니다.

  5. 승인된 리디렉션 URI 섹션에 다음 URI를 추가합니다.

    • https://vertexaisearch.cloud.google.com/oauth-redirect
    • https://vertexaisearch.cloud.google.com/static/oauth/oauth.html
  6. 만들기를 클릭합니다.

  7. OAuth 클라이언트 생성됨 패널에서 JSON 다운로드를 클릭합니다. 다운로드된 JSON에는 선택한Google Cloud 프로젝트에 대한 다음 세부정보가 포함됩니다. 승인 리소스를 만들려면 다음 세부정보가 필요합니다.

    • Client ID(클라이언트 ID): CLIENT_ID
    • 승인 URI:
      https://accounts.google.com/o/oauth2/v2/auth?client_id=CLIENT_ID&redirect_uri=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fstatic%2Foauth%2Foauth.html&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fbigquery&include_granted_scopes=true&response_type=code&access_type=offline&prompt=consent
      
    • 토큰 URI: TOKEN_URI
    • 클라이언트 보안 비밀: CLIENT_SECRET

Google Cloud 콘솔을 사용하여 에이전트 설정

이 섹션에서는 Google Cloud 콘솔을 사용하여 데이터 통계 에이전트의 인스턴스를 승인, 생성, 배포하는 방법을 보여줍니다. 생성된 에이전트에 액세스할 수 있는 사용자를 결정하는 사용자 권한을 추가할 수도 있습니다.

에이전트 인스턴스 승인 및 만들기

다음 단계에 따라 데이터 통계 에이전트 인스턴스를 승인하고 만드세요.

  1. Google Cloud 콘솔에서 Gemini Enterprise로 이동합니다.

    Gemini Enterprise로 이동

  2. 에이전트를 만들 앱을 선택합니다.

  3. 메뉴에서 에이전트를 클릭합니다.

    에이전트 페이지에 기존 에이전트가 표시됩니다.

  4. 에이전트 추가를 클릭합니다.

  5. 에이전트 만들기 창의 데이터 에이전트 카드에서 만들기를 클릭합니다.

  6. 승인에서 승인 추가를 클릭하고 승인 세부정보를 입력합니다. 자세한 내용은 승인 획득을 참고하세요.

  7. 완료를 클릭합니다.

  8. 다음을 클릭합니다.

  9. 다음과 같이 에이전트를 구성합니다.

    1. 에이전트 이름과 설명을 입력합니다.
    2. BigQuery 데이터 세트에서 찾아보기를 클릭하고 다음 중 하나를 실행합니다.
      • 사용 가능한 데이터 세트를 선택하고 선택을 클릭합니다.
      • 필요한 BigQuery 데이터 세트의 경로를 입력하고 검색을 클릭한 다음 선택하고 선택을 선택합니다.
    3. 선택사항: 고급 옵션을 보려면 더보기를 클릭합니다.

    4. 올바른 테이블 액세스 옵션을 선택합니다. 허용 목록 또는 차단 목록을 적용하려면 제한된 테이블의 경로를 지정합니다.

    5. 선택사항: 자연어에서 SQL 또는 Python 코드로의 변환에 특화된 맞춤설정을 제공하도록 자연어 쿼리 구성을 정의합니다. 자연어 쿼리, 예상되는 SQL 출력, 예상되는 응답을 사용하여 SQL 예를 제공할 수도 있습니다. 이렇게 하면 에이전트 출력의 품질이 향상됩니다.

      • 스키마 설명: BigQuery 데이터 세트의 스키마를 설명하는 자연어 문자열입니다.
      • 자연어 쿼리의 SQL 변환 프롬프트: 자연어 쿼리가 SQL 명령어로 변환됩니다.
      • 자연어 쿼리의 Python 변환 프롬프트: 자연어로 된 쿼리가 Python 명령어로 변환됩니다.
    6. 선택사항: SQL 쿼리로 변환된 자연어 쿼리의 예시를 추가합니다.

      • 질문: SQL 쿼리로 변환해야 하는 자연어 질문의 예입니다. 예를 들어 '캘리포니아에 거주하는 고객의 이름과 이메일 주소는 뭐야?'라고 말하면 됩니다.
      • 예상 SQL: 자연어 질문에 해당하는 SQL 쿼리의 예를 보여주는 문자열입니다. 예를 들어 customers라는 BigQuery 테이블이 있다고 가정해 보겠습니다. 그러면 예상되는 SQL 쿼리는 SELECT customer_name, email FROM customers WHERE state = 'California'가 됩니다.
      • 예상 응답: 예상 SQL 쿼리를 실행하여 쿼리에 대한 예상 답변을 제공하는 문자열입니다. 예를 들면 다음과 같습니다.
      Here are the names and email addresses of your customers in California: \
      * Customer name: Lara B, Email address: 222larabrown@gmail.com \
      * Customer name: Alex A, Email address: baklavainthebalkans@gmail.com \
      * Customer name: Bola C, Email address: cloudysanfrancisco@gmail.com \
      
  10. 만들기를 클릭합니다.

    데이터 통계 에이전트 인스턴스가 에이전트 목록에 표시됩니다.
    에이전트 작업을 시작하려면 에이전트 상태 열에 인스턴스가 사용 설정됨으로 표시될 때까지 기다립니다.

REST API를 사용하여 에이전트 설정

이 섹션에서는 REST API를 사용하여 데이터 통계 에이전트 인스턴스를 승인하고, 만들고, 배포하는 방법을 설명합니다.

에이전트 승인

관리자는 Gemini Enterprise에서 승인 리소스를 만듭니다. 이렇게 하면 데이터 통계 에이전트가 BigQuery 데이터에 액세스할 수 있습니다.

  1. 승인 리소스를 만듭니다.

    REST

    다음 샘플은 authorizations.create 메서드를 사용하여 승인 리소스를 만드는 방법을 보여줍니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -H "X-Goog-User-Project: PROJECT_NUMBER" \
     "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/authorizations?authorizationId=AUTHORIZATION_ID" \
     -d '{
       "name": "projects/PROJECT_NUMBER/locations/LOCATION/authorizations/AUTHORIZATION_ID",
       "serverSideOauth2": {
         "clientId": "CLIENT_ID",
         "clientSecret": "CLIENT_SECRET",
         "authorizationUri": "AUTHORIZATION_URI",
         "tokenUri": "TOKEN_URI"
    }
    }'
    

    다음을 바꿉니다.

    • PROJECT_NUMBER: Google Cloud 프로젝트 수입니다.
    • LOCATION: Google Cloud 프로젝트의 위치입니다.
    • AUTHORIZATION_ID: 승인 리소스를 식별하기 위해 제공해야 하는 ID입니다.
    • CLIENT_ID: 이전 단계에서 가져온 클라이언트 ID입니다.
    • CLIENT_SECRET: 이전 단계에서 획득한 클라이언트 보안 비밀번호입니다.
    • AUTHORIZATION_URI: 이전 단계에서 획득한 승인 URI입니다.
    • TOKEN_URI: 이전 단계에서 획득한 토큰 URI입니다.

에이전트 인스턴스 만들기

Google Cloud 프로젝트 관리자는 데이터 통계 에이전트 인스턴스를 만들 수 있습니다. 이를 위해서는 에이전트를 사용하여 쿼리하려는 BigQuery 데이터의 프로젝트 ID와 데이터 세트 ID가 필요합니다.

REST

다음 샘플은 agents.create 메서드를 사용하여 데이터 통계 에이전트 인스턴스를 만드는 방법을 보여줍니다. 이 샘플에 추가할 수 있는 고급 필드에 대해 알아보려면 에이전트의 고급 구성 추가를 참고하세요.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-Goog-User-Project: PROJECT_NUMBER" \
  "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents" \
  -d '{
    "displayName": "AGENT_DISPLAY_NAME",
    "description": "AGENT_DESCRIPTION",
    "icon": {
       "uri": "AGENT_ICON_URI"
     },
    "managed_agent_definition": {
      "tool_settings": {
        "tool_description": "AGENT_DESCRIPTION"
      },
      "data_science_agent_config": {
        "bq_project_id": "BIGQUERY_PROJECT_ID",
        "bq_dataset_id": "BIGQUERY_DATASET_ID"
      }
    },
    "authorization_config": {
      "tool_authorizations" : [
        "AUTHORIZATION_RESOURCE_NAME"
      ]
    }
  }'

다음을 바꿉니다.

  • PROJECT_NUMBER: Google Cloud 프로젝트 수입니다.
  • LOCATION: Gemini Enterprise 앱의 위치입니다.
  • APP_ID: 앱의 ID입니다.
  • AGENT_DISPLAY_NAME: Data Insights 에이전트 인스턴스의 이름입니다.
  • AGENT_ICON_URI: 에이전트 아이콘의 URI를 제공하는 선택적 필드입니다.
  • AGENT_DESCRIPTION: 데이터 통계 에이전트 인스턴스의 설명으로, 에이전트의 목적이나 BigQuery 데이터 소스 세부정보를 나타냅니다.
  • BIGQUERY_PROJECT_ID: BigQuery 데이터 세트가 포함된Google Cloud 프로젝트의 프로젝트 ID입니다.
  • BIGQUERY_DATASET_ID: 쿼리할 데이터가 포함된 BigQuery 데이터 세트 ID입니다.
  • AUTHORIZATION_RESOURCE_NAME: 이전 섹션에서 획득한 승인 리소스 이름입니다.

에이전트의 고급 구성 추가

원하는 경우 nlQueryConfig 필드를 정의하여 자연어 변환을 SQL 또는 Python 코드로 변환하는 데 필요한 맞춤설정을 제공할 수 있습니다. 자연어 질문, 예상되는 SQL 출력, 예상되는 대답을 사용하여 SQL 예를 제공할 수도 있습니다. 이렇게 하면 에이전트의 출력 품질이 향상됩니다. 다음 코드 스니펫은 이러한 고급 필드를 구성하는 방법을 보여줍니다.

"dataScienceAgentConfig": {
  "nlQueryConfig": {
    "nl2sqlPrompt": "NL_TO_SQL_INSTRUCTIONS",
    "nl2pyPrompt": "NL_TO_PYTHON_INSTRUCTIONS",
    "nl2sqlExample": {
      "query": "EXAMPLE_NL_QUERY",
      "expectedSql": "EXPECTED_SQL_QUERY",
      "expectedResponse": "EXPECTED_SQL_RESPONSE"
    },
    "schemaDescription": "NL_DESCRIPTION_OF_BQ_DATASET"
  }
}

다음을 바꿉니다.

  • NL_TO_SQL_INSTRUCTIONS: 자연어로 된 쿼리가 SQL 명령어로 변환됩니다.
  • NL_TO_PYTHON_INSTRUCTIONS: 자연어로 된 질문이 Python 명령어로 변환됩니다.
  • EXAMPLE_NL_QUERY: SQL 쿼리로 변환해야 하는 자연어 쿼리의 예입니다. 예를 들어 '캘리포니아에 거주하는 고객의 이름과 이메일 주소는 뭐야?'라고 말하면 됩니다.
  • EXPECTED_SQL_QUERY: 자연어 질문에 해당하는 SQL 쿼리의 예를 보여주는 문자열입니다. 예를 들어 customers라는 BigQuery 테이블이 있다고 가정해 보겠습니다. 그러면 예상되는 SQL 쿼리는 'SELECT customer_name, email FROM customers WHERE state = 'California''가 됩니다.
  • EXPECTED_SQL_RESPONSE: 쿼리의 예상 답변과 예상 SQL 쿼리를 제공하는 문자열입니다. 예를 들면 다음과 같습니다.

    Here are the names and email addresses of your customers in California: \
    * Customer name: Lara B, Email address: 222larabrown@gmail.com \
    * Customer name: Alex A, Email address: baklavainthebalkans@gmail.com \
    * Customer name: Bola C, Email address: cloudysanfrancisco@gmail.com \
    
  • NL_DESCRIPTION_OF_BQ_DATASET: BigQuery 데이터 세트의 스키마를 설명하는 자연어 문자열입니다.

인스턴스 배포

데이터 통계 에이전트 인스턴스를 만든 후 관리자는 최종 사용자가 사용할 수 있도록 이를 배포할 수 있습니다.

REST

  1. 에이전트를 배포합니다. 다음 샘플은 agents.deploy 메서드를 사용하여 생성된 에이전트를 배포하는 방법을 보여줍니다. 에이전트 배포는 장기 실행 작업 (LRO)입니다.

    curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -H "X-Goog-User-Project: PROJECT_NUMBER" \
     "https://discoveryengine.googleapis.com/v1alpha/AGENT_RESOURCE_NAME:deploy" \
     -d '{
       "name":"AGENT_RESOURCE_NAME"
     }'
    

    다음을 바꿉니다.

    • PROJECT_NUMBER: Google Cloud 프로젝트 수입니다.
    • AGENT_RESOURCE_NAME: 이전 섹션에서 에이전트를 만들 때 획득한 에이전트 리소스 이름입니다.
  2. 배포 작업의 상태를 가져옵니다. 다음 샘플은 operations.get 메서드의 배포 작업 상태를 가져오는 방법을 보여줍니다.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://discoveryengine.googleapis.com/v1alpha/DEPLOY_OPERATION_NAME"
    

    DEPLOY_OPERATION_NAME을 이전 단계에서 에이전트를 배포할 때 가져온 LRO 이름으로 바꿉니다.

    응답에서 done 필드 값이 true이면 배포가 완료된 것입니다. done 필드 값이 false이면 배포가 진행 중입니다.

사용자 및 사용자 권한 추가 또는 수정

다음 단계에 따라 데이터 통계 에이전트 인스턴스에 주 구성원을 추가하거나 수정하고 특정 Identity and Access Management (IAM) 역할을 할당합니다.

콘솔

  1. Google Cloud 콘솔에서 Gemini Enterprise로 이동합니다.

    Gemini Enterprise로 이동

  2. 데이터 통계 에이전트 인스턴스가 포함된 앱을 선택합니다.

  3. 메뉴에서 에이전트를 클릭합니다.

    에이전트 페이지에 기존 에이전트가 표시됩니다.

  4. 사용자를 추가하거나 수정할 상담사를 클릭합니다.

    기본적으로 새로 생성된 에이전트에는 사용자가 없습니다.

  5. 권한이 있는 사용자 표에서 사용자 추가를 클릭합니다.

  6. 사용 가능한 목록에서 회원 유형을 선택합니다.

  7. 유형에 따라 구성원의 ID를 입력하고 하나 이상의 역할을 할당합니다.

    • 사용자, 그룹 또는 서비스 계정의 경우 구성원 문자열은 이메일입니다.
    • 도메인의 경우 구성원 문자열은 유효한 도메인 이름입니다.
    • 주 구성원의 경우 구성원 문자열은 유효한 주 구성원입니다. 예를 들면 principal://iam.googleapis.com/locations/global/workforcePools/pool-1/subject/subject-1입니다.
    • 주 구성원 집합의 경우 구성원 문자열은 유효한 주 구성원 집합입니다. 예를 들면 principalSet://iam.googleapis.com/locations/global/workforcePools/pool-1/group/group-1입니다.
    • 도메인 및 주 구성원 집합의 경우 해당 도메인 및 주 구성원 집합 내의 모든 사용자 ID와 그룹에 동일한 역할이 할당됩니다. 에이전트에 대한 보안 액세스를 위해 개별 그룹과 관리 도메인 또는 주 구성원 집합을 선택하고 최소 권한 역할을 할당합니다.
  8. 저장을 클릭합니다.

    IAM 정책이 업데이트되고 사용자가 권한이 있는 사용자 목록에 추가됩니다.

  9. 할당된 권한을 수정하려면 작업을 클릭하고 수정을 선택한 후 다음 중 하나를 실행합니다.

    • 할당된 역할을 수정합니다.
    • 다른 역할을 추가합니다.
    • 삭제를 클릭하여 역할을 삭제합니다. 사용자에게 역할을 하나 이상 할당해야 합니다.

인스턴스의 작동 상태 변경

데이터 통계 에이전트 인스턴스를 만들면 에이전트가 기본적으로 사용 설정됩니다. 다음 단계에 따라 작동 상태를 사용 중지됨, 정지됨, 사용 설정됨 또는 삭제됨으로 변경할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 Gemini Enterprise로 이동합니다.

    Gemini Enterprise로 이동

  2. 데이터 통계 에이전트 인스턴스가 포함된 앱을 선택합니다.

  3. 메뉴에서 에이전트를 클릭합니다.

    에이전트 페이지에 기존 에이전트가 표시됩니다.

  4. 에이전트의 작업을 클릭하고 다음 중 하나를 선택합니다.

    • 정지됨: 에이전트를 일시적으로 사용할 수 없도록 합니다. 하지만 에이전트에 액세스할 수 있는 권한이 있는 사용자는 계속해서 에이전트를 볼 수 있습니다.
    • 사용 중지됨: 에이전트를 만든 사용자를 제외한 모든 사용자가 에이전트를 사용할 수 없도록 합니다.
    • 사용 설정됨: 에이전트에 액세스할 수 있는 권한이 있는 모든 사용자가 에이전트를 사용할 수 있도록 합니다.
    • 삭제: 에이전트 인스턴스를 삭제합니다.

에이전트 사용

다음 단계에 따라 에이전트를 사용하여 데이터 통계를 확인하세요.

  1. 앱 탐색 메뉴에서 상담사를 클릭합니다.

  2. 모든 에이전트 보기를 클릭합니다.

  3. 데이터 통계 에이전트 인스턴스를 선택합니다.

  4. 상담사에게 추가 승인이 필요한 경우 승인을 클릭하고 승인 세부정보를 입력합니다.

  5. 파일 추가를 클릭하여 에이전트가 사용할 파일을 추가 데이터 소스로 포함합니다.

  6. 소스를 클릭하여 에이전트가 가장 관련성 높은 데이터 통계를 제공하기 위해 포함해야 하는 소스를 선택합니다.

  7. 질문이나 프롬프트를 입력하고 Enter 키를 누르거나 제출을 클릭합니다.