이 솔루션은 Vertex AI와 Gemini를 사용하여 Gmail 메일을 분석하고 감정에 따라 라벨을 지정합니다.
코딩 수준: 중급
기간: 30분
프로젝트 유형: Google Workspace 부가기능
-
그림 1: 감정 분석 부가기능은 Gmail에 사이드바를 표시하며, 사용자는 Gemini에 감정을 기반으로 메시지를 분석하고 라벨을 적용하도록 요청할 수 있습니다. -
그림 2: 부가기능이 Gmail 메일에 중립적인 어조 😐 라벨을 지정합니다. -
그림 3: 부가기능이 Gmail 메시지에 HAPPY TONE 😊 라벨을 지정합니다. -
그림 4: 부가기능이 Gmail 메일에 불쾌한 어조 😡 라벨을 지정합니다.
목표
- 솔루션의 기능을 이해합니다.
- 솔루션 내에서 Google 서비스가 하는 역할을 이해합니다.
- 환경을 설정합니다.
- Google Apps Script 프로젝트를 설정합니다.
- 스크립트를 실행합니다.
이 솔루션 정보
이 솔루션은 Gmail 메일의 감정을 기반으로 라벨을 적용하는 Google Workspace 부가기능입니다. 메시지 콘텐츠를 분석하기 위해 부가기능은 Vertex AI를 사용하여 Gemini 2.5 Flash 모델에 프롬프트를 표시하고 다음 감정 중 하나를 반환합니다.
- 긍정적
- 음성
- 보통
Gemini의 대답을 통해 부가기능은 메일에 해당하는 Gmail 라벨을 적용합니다.
Vertex AI API에 대한 요청을 제한하기 위해 이 부가기능은 Gmail 사용자 받은편지함의 가장 최근 메시지 10개만 분석하고 라벨을 적용합니다. 할당량 및 한도에 대해 자세히 알아보려면 Vertex AI 문서를 참고하세요.
작동 방식
이 솔루션은 Google Apps Script로 빌드되며 다음 Google 서비스 및 제품을 사용합니다.
- Vertex AI API: Gemini 2.5 Flash 모델에 Gmail 메시지의 콘텐츠를 분석하고 감정을 식별하도록 프롬프트를 표시합니다.
Apps Script 서비스:
- Gmail 서비스: Gmail 메일을 가져와 라벨을 적용합니다. 선택적으로 부가기능 테스트를 위한 샘플 메시지를 만듭니다.
- 카드 서비스 - Gmail의 사이드바로 표시되는 부가기능의 사용자 인터페이스를 만듭니다.
- URL 가져오기 서비스: 감정 분석을 위해 Vertex AI API에 연결됩니다.
- 스크립트 서비스: Vertex AI API를 호출하기 위해
getOAuthToken
메서드를 사용하여 부가기능의 OAuth 2.0 액세스 토큰을 가져옵니다.
기본 요건
- 결제가 사용 설정된 Google Cloud 프로젝트 액세스 권한이 있는지 확인하려면 결제를 사용 설정하는 데 필요한 권한을 참고하세요.
환경 설정
이 섹션에서는 Google Cloud 콘솔 및 Apps Script에서 환경을 구성하고 설정하는 방법을 설명합니다.
Google Cloud 콘솔에서 클라우드 프로젝트 구성
이 섹션에서는 Cloud 프로젝트에서 Vertex AI API를 사용 설정하고 OAuth 동의 화면을 구성하는 방법을 보여줍니다.
Vertex AI API 사용 설정
Google Cloud 콘솔에서 Google Cloud 프로젝트를 열고 Vertex AI API를 사용 설정합니다.
올바른 Cloud 프로젝트에서 API를 사용 설정하고 있는지 확인한 후 다음을 클릭합니다.
올바른 API를 사용 설정했는지 확인한 후 사용 설정을 클릭합니다.
OAuth 동의 화면 구성
Google Workspace 부가기능에는 동의 화면 구성이 필요합니다. 부가기능의 OAuth 동의 화면을 구성하면 Google에서 사용자에게 표시하는 내용이 정의됩니다.
- Google Cloud 콘솔에서 메뉴 > > 브랜딩으로 이동합니다.
- 을 이미 구성한 경우 브랜딩, 잠재고객, 데이터 액세스에서 다음 OAuth 동의 화면 설정을 구성할 수 있습니다. 아직 구성되지 않음이라는 메시지가 표시되면 시작하기를 클릭합니다.
- 앱 정보의 앱 이름에 앱 이름을 입력합니다.
- 사용자 지원 이메일에서 사용자가 동의에 대해 문의할 수 있는 지원 이메일 주소를 선택합니다.
- 다음을 클릭합니다.
- 시청자층에서 내부를 선택합니다.
- 다음을 클릭합니다.
- 연락처 정보에서 프로젝트 변경사항에 대한 알림을 받을 수 있는 이메일 주소를 입력합니다.
- 다음을 클릭합니다.
- 완료에서 Google API 서비스 사용자 데이터 정책을 검토하고 동의하는 경우 Google API 서비스: 사용자 데이터 정책에 동의합니다를 선택합니다.
- 계속을 클릭합니다.
- 만들기를 클릭합니다.
- 지금은 범위를 추가하지 않아도 됩니다. 향후 Google Workspace 조직 외부에서 사용할 앱을 만들 때는 사용자 유형을 외부로 변경해야 합니다. 그런 다음 앱에 필요한 승인 범위를 추가합니다. 자세한 내용은 OAuth 동의 구성 가이드를 참고하세요.
Apps Script 프로젝트 만들기 및 설정
부가기능용 Apps Script 프로젝트를 만들고 설정하려면 다음 단계를 완료하세요.
다음 버튼을 클릭하여 Gmail Sentiment Analysis with Gemini and Vertex AI(Gmail의 감정 분석(Gemini 및 Vertex AI 사용)) Apps Script 프로젝트를 엽니다.
Apps Script 프로젝트 열기개요
를 클릭합니다.개요 페이지에서 사본 만들기
를 클릭합니다.
Cloud 프로젝트 번호를 가져옵니다.
- Google Cloud 콘솔에서 메뉴 > IAM 및 관리자 > 설정으로 이동합니다.
- 프로젝트 번호 필드에서 값을 복사합니다.
Cloud 프로젝트를 Apps Script 프로젝트와 연결합니다.
- 복사된 Apps Script 프로젝트에서 프로젝트 설정
을 클릭합니다.
- Google Cloud Platform(GCP) 프로젝트에서 프로젝트 변경을 클릭합니다.
- GCP 프로젝트 번호에 Cloud 프로젝트 번호를 붙여넣습니다.
- 프로젝트 설정을 클릭합니다.
- 복사된 Apps Script 프로젝트에서 프로젝트 설정
부가기능 테스트
부가기능을 사용해 보려면 테스트 배포를 설치한 다음 Gmail에서 부가기능을 엽니다.
- Apps Script 테스트 배포를 만들고 설치합니다.
- 복사된 Apps Script 프로젝트에서 편집기 를 클릭합니다.
Code.gs
파일을 열고 실행을 클릭합니다. 메시지가 표시되면 스크립트를 승인합니다.- 배포 > 배포 테스트를 클릭합니다.
- 설치 > 완료를 클릭합니다.
Gmail을 엽니다.
오른쪽 사이드바에서 부가기능
감정 분석을 엽니다.메시지가 표시되면 부가기능을 승인합니다.
선택사항: 부가기능으로 테스트할 메시지를 만들려면 샘플 이메일 생성을 클릭합니다. 받은편지함에 메시지 3개가 표시됩니다. 표시되지 않으면 페이지를 새로고침하세요.
라벨을 추가하려면 이메일 분석을 클릭합니다.
이 부가기능은 받은편지함의 최신 메시지 10개를 검토한 다음 메시지 콘텐츠에 따라 다음 라벨 중 하나를 적용합니다.
- 밝은 어조 😊
- 중립적인 어조 😐
- 화난 어조 😡
코드 검토
이 솔루션의 Apps Script 코드를 검토합니다.
소스 코드 보기
Code.gs
Cards.gs
Gmail.gs
Vertex.gs
appsscript.json
삭제
이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 Cloud 프로젝트를 삭제하는 것이 좋습니다.
- Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다. 메뉴 > IAM 및 관리자 > 리소스 관리를 클릭합니다.
- 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.
- 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.