Conversational Analytics API 에이전트의 BigQuery 비용 관리

이 페이지에서는 BigQuery 데이터를 대상으로 쿼리를 실행하여 비용이 발생하는 Conversational Analytics API 에이전트의 BigQuery 비용을 모니터링하고 관리하는 방법을 설명합니다. 다음 방법을 사용하여 지출을 관리하고 예기치 않은 비용을 방지할 수 있습니다.

시작하기 전에

이 페이지에 설명된 비용 관리를 구현하려면 다음 요구사항을 충족해야 합니다.

  • 결제가 사용 설정된 Google Cloud 프로젝트가 있어야 합니다.
  • Google Cloud 프로젝트의 할당량과 결제를 관리하려면 필요한 Identity and Access Management (IAM) 권한이 있어야 합니다.

프로젝트 및 사용자 할당량 설정

표준 BigQuery 할당량을 적용하여 Google Cloud 프로젝트 또는 개별 사용자의 지출 한도를 설정할 수 있습니다. 이러한 한도를 사용하면 전체 비용을 관리하고 개별 사용자의 과도한 지출을 방지할 수 있습니다.

매우 크거나 파티셔닝되지 않은 테이블에 빌드된 에이전트와 같이 비용이 많이 발생할 수 있는 에이전트의 경우 먼저 자체 전용 프로젝트에서 에이전트를 격리하는 것이 좋습니다. 그런 다음 프로젝트 수준 할당량을 적용하여 프로젝트의 최대 일일 비용을 제한하거나, 사용자 수준 할당량을 적용하여 사용자 간의 공정한 사용을 보장하거나, 프로젝트 수준 및 사용자 수준 할당량을 모두 적용할 수 있습니다.

에이전트 전용 프로젝트 설정

Conversational Analytics API 에이전트를 위한 전용 프로젝트를 설정하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 새 Google Cloud 프로젝트를 만듭니다. 이 프로젝트는 상담사에게 전용으로 제공됩니다.
  2. 새 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.
  3. 에이전트가 결제에 이 새 프로젝트를 사용하도록 구성되어 있는지 확인합니다. 에이전트를 구성할 때 이 새 프로젝트의 프로젝트 ID를 지정해야 합니다.

프로젝트의 할당량 설정

전용 Google Cloud 프로젝트를 설정한 후 할당량을 적용하여 전체 프로젝트의 비용을 관리할 수 있습니다. 프로젝트 수준 할당량을 설정하려면 다음 단계를 따르세요.

  1. 에이전트의 Google Cloud 프로젝트에서 IAM 및 관리자 > 할당량으로 이동합니다.

    할당량으로 이동

  2. BigQuery API 서비스를 필터링하고 일일 쿼리 사용량 할당량을 선택합니다.

  3. 할당량을 선택한 일일 한도 (예: 10TiB)로 수정합니다. 이 한도는 프로젝트가 지정된 일일 비용을 초과하지 못하도록 하는 강제 중지를 만듭니다.

사용자 할당량 설정

개별 사용자가 많은 비용을 발생시키지 않도록 하려면 다음 단계에 따라 사용자별 할당량을 설정하세요.

  1. 에이전트의 Google Cloud 프로젝트에서 IAM 및 관리자 > 할당량으로 이동합니다.

    할당량으로 이동

  2. BigQuery API 서비스를 필터링하고 사용자당 일일 쿼리 사용량 할당량을 선택합니다.

  3. 할당량을 선택한 일일 한도 (예: 사용자당 일일 1TiB)로 수정합니다. 이 한도를 통해 단일 사용자가 과도한 양의 리소스를 소비할 수 없습니다.

개별 쿼리의 비용 제한

개별 사용자 쿼리로 인해 예기치 않은 과다한 요금이 발생하지 않도록 하려면 에이전트에서 big_query_max_billed_bytes 매개변수를 구성하여 쿼리당 비용 한도를 설정하면 됩니다.

상담사는 쿼리를 실행하기 전에 시험 실행을 통해 쿼리 비용을 추정합니다. 스캔할 예상 바이트가 big_query_max_billed_bytes 값을 초과하면 에이전트가 쿼리를 차단하고 사용자에게 오류 메시지를 보냅니다.

HTTP를 사용하여 또는 Python SDK를 사용하여 에이전트를 만들거나 구성할 때 published_context 필드 내에서 big_query_max_billed_bytes 매개변수를 설정할 수 있습니다. 다음 예시(textproto 형식으로 표시됨)는 샌프란시스코 가로수에 관한 질문에 답변하는 에이전트의 100MB 한도를 구성하는 요청의 구조를 보여줍니다.

parent: "projects/sample-project-name/locations/global"
data_agent_id: "sample-agent-id"
data_agent {
  name: "projects/sample-project-name/locations/global/dataAgents/sample-agent-id"
  data_analytics_agent {
    published_context {
      system_instruction: "This agent provides information about street trees in San Francisco, including their species, location, and planting date."
      options {
        datasource {
          big_query_max_billed_bytes {
            value: 104857600 #100MB
          }
        }
      }
      datasource_references {
        bq {
          table_references {
            project_id: "bigquery-public-data"
            dataset_id: "san_francisco"
            table_id: "street_trees"
          }
        }
      }
    }
  }
}

이 예시에서는 big_query_max_billed_bytes 매개변수가 104857600바이트 (100MB)로 설정됩니다. 이 값은 sample-agent-id 에이전트가 bigquery-public-data.san_francisco.street_trees BigQuery 테이블에서 실행하는 모든 쿼리의 한도를 설정합니다.

에이전트를 만들고 구성하는 방법의 대화형 예시는 Colaboratory 노트북을 참고하세요. API 필드에 대한 자세한 내용은 API 참조를 참고하세요.

제한사항

Conversational Analytics API 에이전트의 비용을 관리할 때 다음 제한사항에 유의하세요.

  • 이러한 비용 관리 도구는 주문형 결제를 사용하는 프로젝트에만 적용되며 슬롯 예약을 사용하는 프로젝트에는 적용되지 않습니다.
  • 개별 상담사의 할당량 설정은 지원되지 않습니다. 프로젝트 및 사용자 할당량 설정에 설명된 대로 에이전트를 자체 프로젝트에 격리한 다음 해당 프로젝트에 프로젝트 수준 또는 사용자별 할당량을 적용하는 것이 좋습니다.
  • BigQuery 라벨을 사용하여 개별 상담사의 비용을 추적하는 것은 지원되지 않습니다.