로드 중...
검색 결과가 없습니다.

Google Cloud Skills Boost

Google Cloud 콘솔에서 기술 적용


700개 이상의 실습 및 과정 이용하기

Gen AI SDK를 사용하여 Google 생성형 AI 시작하기

실습 1시간 universal_currency_alt 무료 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
700개 이상의 실습 및 과정 이용하기

GSP1209

Google Cloud 사용자 주도형 실습 로고

개요

Google Gen AI SDK는 Google의 생성형 AI API 서비스에 대한 통합 인터페이스를 제공합니다. 이 SDK는 생성형 AI 기능을 애플리케이션과 서비스에 통합하는 프로세스를 간소화하여 개발자가 다양한 작업에 Google의 고급 AI 모델을 활용할 수 있게 합니다. 이 실습에서는 Google Gen AI SDK를 살펴보면서 AI 서비스에 연결하고, 다양한 프롬프트를 보내고, Gemini의 대답을 세부 조정하는 방법을 학습합니다. 또한 고급 기법을 직접 경험하는 실무형 실습으로 나만의 프로젝트에 생성형 AI의 강력한 기능을 활용할 준비를 완료할 수 있습니다.

목표

이 실습에서는 Python용 Google Gen AI SDK를 사용하여 Gemini를 비롯한 Google의 생성형 AI 서비스 및 모델과 상호작용하는 방법을 알아봅니다. 다음과 같은 내용을 다룹니다.

  • Gen AI SDK 설치
  • API 서비스에 연결
  • 텍스트 및 멀티모달 프롬프트 보내기
  • 시스템 요청 사항 설정
  • 모델 파라미터 및 안전 필터 구성
  • 모델 상호작용 관리(멀티턴 채팅, 콘텐츠 스트리밍, 비동기식 요청)
  • 고급 기능 사용(토큰 집계, 컨텍스트 캐싱, 함수 호출, 일괄 예측, 텍스트 임베딩)

기본 요건

이 실습을 시작하기 전에 다음 개념을 숙지해야 합니다.

  • 기본 Python 프로그래밍
  • 일반적인 API 개념
  • Vertex AI Workbench의 Jupyter 노트북에서 Python 코드를 실행하는 방법

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드(권장) 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학습자 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간(실습을 시작하고 나면 일시중지할 수 없음)
참고: 이 실습에는 학습자 계정만 사용하세요. 다른 Google Cloud 계정을 사용하는 경우 해당 계정에 비용이 청구될 수 있습니다.

실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 대화상자가 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 창이 있습니다.

    • Google Cloud 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).

    실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.

    {{{user_0.username | "Username"}}}

    실습 세부정보 창에서도 사용자 이름을 확인할 수 있습니다.

  4. 다음을 클릭합니다.

  5. 아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.

    {{{user_0.password | "Password"}}}

    실습 세부정보 창에서도 비밀번호를 확인할 수 있습니다.

  6. 다음을 클릭합니다.

    중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  7. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 체험판을 신청하지 않습니다.

잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.

참고: Google Cloud 제품 및 서비스에 액세스하려면 탐색 메뉴를 클릭하거나 검색창에 제품 또는 서비스 이름을 입력합니다. 탐색 메뉴 아이콘 및 검색창

작업 1. Vertex AI Workbench에서 노트북 열기

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Vertex AI > Workbench를 클릭합니다.

  2. 인스턴스를 찾아 JupyterLab 열기 버튼을 클릭합니다.

Workbench 인스턴스의 JupyterLab 인터페이스가 새 브라우저 탭에서 열립니다.

작업 2. 노트북 설정

노트북 파일을 열고 라이브러리를 가져온 다음 모델을 선택합니다.

  1. 파일을 엽니다.

  2. 커널 선택 대화상자에서 사용 가능한 커널 목록 중 Python 3을 선택합니다.

  3. 노트북의 다음 섹션을 실행합니다.

    • 시작하기
    • Google Gen AI SDK 사용
    • 생성형 AI API 서비스에 연결

Project ID(프로젝트 ID)로는 을(를) 사용하고, Location(위치)으로는 을(를) 사용합니다.

참고: Colab only(Colab만 해당)이라고 되어 있는 노트북 셀은 건너뛰어도 됩니다. 노트북 셀 실행 중 429 응답이 발생하는 경우 1분 동안 기다린 다음 다시 셀을 실행하여 계속 진행하세요.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 라이브러리 가져오기 및 노트북 설정

작업 3. 모델과 상호작용

Vertex AI의 모든 AI 모델과 API에 대한 자세한 내용은 Google 모델Model Garden을 참조하세요.

모델 선택

  • 노트북의 모델 선택 섹션을 실행합니다.

텍스트 프롬프트 보내기

generate_content 메서드를 사용하여 프롬프트에 대한 대답을 생성합니다. generate_content에 텍스트를 전달하고 .text 속성을 사용하여 대답의 텍스트 콘텐츠를 가져올 수 있습니다.

  • 노트북의 텍스트 프롬프트 보내기 섹션을 실행합니다.

멀티모달 프롬프트 보내기

프롬프트 요청에 텍스트, PDF 문서, 이미지, 오디오, 동영상을 포함하고 텍스트 또는 코드 형태의 대답을 얻을 수 있습니다.

요청에서 Part.from_uri의 파일 URL을 모델에 직접 전달할 수도 있습니다.

  • 노트북의 멀티모달 프롬프트 보내기 섹션을 실행합니다.

시스템 요청 사항 설정

시스템 요청 사항을 통해 모델 동작을 제어할 수 있습니다. 작업을 이해하고, 더욱 맞춤설정된 대답을 제공하고, 사용자 상호작용에 대한 가이드라인을 준수하도록 모델에 추가 컨텍스트를 제공하기 위해 시스템 요청 사항을 설정합니다.

  • 노트북의 시스템 요청 사항 설정 섹션을 실행합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 모델과 상호작용

작업 4. 모델 구성 및 제어

모델 파라미터 구성

모델에 보내는 각 호출에 파라미터 값을 포함하여 모델의 대답 생성 방식을 제어할 수 있습니다. 자세한 내용은 파라미터 값 실험을 참조하세요.

  • 노트북의 모델 파라미터 구성 섹션을 실행합니다.

안전 필터 구성

Gemini API는 여러 필터 카테고리에서 조정 가능한 안전 필터를 제공하여 특정 유형의 콘텐츠를 제한하거나 허용할 수 있습니다. 이러한 필터를 사용하면 사용 사례에 적합한 결과를 조정할 수 있습니다. 자세한 내용은 안전 필터 구성 페이지를 참조하세요.

모델에 요청하면 콘텐츠가 분석되고 안전 등급이 지정됩니다. 이 예처럼 모델 대답을 출력하여 생성된 콘텐츠의 안전 등급을 검사할 수 있습니다.

  • 노트북의 안전 필터 구성 섹션을 실행합니다.

멀티턴 채팅 시작

Gemini API를 사용하면 여러 차례에 걸쳐 자유로운 형식으로 대화를 나눌 수 있습니다.

  • 노트북의 멀티턴 채팅 시작 섹션을 실행합니다.

생성된 출력 제어

Gemini API의 제어 생성 기능을 사용하면 모델 출력을 정형화된 형식으로 제한할 수 있습니다. 스키마를 Pydantic 모델 또는 JSON 문자열로 제공할 수 있습니다.

Python 사전에서 응답 스키마를 정의해도 됩니다. 아래의 필드만 사용할 수 있습니다. 다른 모든 필드는 무시됩니다.

  • enum
  • items
  • maxItems
  • nullable
  • properties
  • required

이 예에서는 모델에 제품 리뷰 데이터를 분석하고, 주요 항목을 추출하고, 감정 분류(객관식)를 수행하고, 추가 설명을 제공하고, 결과를 JSON 형식으로 출력하도록 요청합니다.

  • 노트북의 생성된 출력 제어 섹션을 실행합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 모델 구성 및 제어

작업 5. 모델 상호작용 관리

콘텐츠 스트림 생성

기본적으로 모델은 전체 생성 프로세스를 완료한 후 대답을 반환합니다. generate_content_stream 메서드를 사용하여 대답이 생성될 때 스트리밍할 수도 있습니다. 모델은 생성되는 대답의 청크를 반환합니다.

  • 노트북의 콘텐츠 스트림 생성 섹션을 실행합니다.

비동기식 요청 보내기

client.aio 모듈을 사용하여 비동기식 요청을 보낼 수 있습니다. 이 모듈은 client에서 사용할 수 있는 유사한 모든 비동기 메서드를 노출합니다.

예를 들어 client.aio.models.generate_contentclient.models.generate_content의 비동기 버전입니다.

  • 노트북의 비동기식 요청 보내기 섹션을 실행합니다.

토큰 집계 및 컴퓨팅

count_tokens 메서드를 사용하여 Gemini API에 요청을 보내기 전에 입력 토큰 수를 집계할 수 있습니다. 자세한 내용은 토큰 나열 및 집계 페이지를 참조하세요.

토큰 집계

  • 노트북의 토큰 집계 섹션을 실행합니다.

토큰 컴퓨팅

  • 노트북의 토큰 컴퓨팅 섹션을 실행합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 모델 상호작용 관리

작업 6. 고급 기능

함수 호출

함수 호출을 사용하면 모델이 사용자의 프롬프트에 대답하는 데 사용할 도구 모음을 제공할 수 있습니다. 함수에 대한 설명을 코드에 작성한 다음, 요청 시 해당 설명을 언어 모델에 전달합니다. 모델의 대답에는 설명과 일치하는 함수의 이름과 함께 이를 호출할 인수가 포함됩니다.

함수 호출의 더 많은 예는 이 노트북을 참조하세요.

  • 노트북의 함수 호출 섹션을 실행합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 함수 호출

컨텍스트 캐싱 사용

컨텍스트 캐싱을 사용하면 자주 사용하는 입력 토큰을 전용 캐시에 저장하고 후속 요청 시 참조할 수 있습니다. 이렇게 하면 동일한 토큰 집합을 모델에 반복적으로 전달할 필요가 없습니다.

참고: 컨텍스트 캐싱은 버전이 고정된 안정적인 모델(예: gemini-2.0-flash-001)에서만 사용할 수 있습니다. 버전 접미사(예: -001)를 포함해야 합니다.

캐시 만들기

  • 노트북의 컨텍스트 캐시 만들기 섹션을 실행합니다.

캐시 사용

  • 노트북의 캐시 사용 섹션을 실행합니다.

캐시 삭제

  • 노트북의 캐시 삭제 섹션을 실행합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 컨텍스트 캐싱 사용

일괄 예측

한 번에 입력 요청 하나로 제한되는 온라인(동기식) 대답 가져오기와 달리 Vertex AI의 Gemini API에 대한 일괄 예측을 사용하면 단일 일괄 요청으로 Gemini에 다수의 요청을 보낼 수 있습니다. 그러면 모델 대답이 Cloud Storage 또는 BigQuery의 스토리지 출력 위치에 비동기식으로 채워집니다.

지연 시간에 민감하지 않은 대량의 입력을 처리할 때 일괄 예측은 일반적으로 온라인 예측보다 효율적이고 비용도 효과적입니다.

일괄 입력 준비

일괄 요청의 입력은 예측을 위해 모델에 보낼 항목을 지정합니다.

Gemini에 대한 일괄 요청은 BigQuery 스토리지 소스와 Cloud Storage 소스를 허용합니다. 일괄 텍스트 생성 페이지에서 일괄 입력 형식에 대해 자세히 알아볼 수 있습니다.

이 실습에서는 Cloud Storage를 예로 사용합니다. Cloud Storage 입력의 요건은 다음과 같습니다.

  • 파일 형식: JSON Lines(JSONL)
  • us-central1에 위치함
  • 서비스 계정의 적절한 읽기 권한

모델에 보내는 각 요청에는 모델의 대답 생성 방식을 제어하는 파라미터가 포함될 수 있습니다. 파라미터 값 실험 페이지에서 Gemini 파라미터에 대해 자세히 알아보세요.

다음은 입력 JSONL 파일 batch_requests_for_multimodal_input_2.jsonl에 있는 요청의 예 중 하나입니다.

{"request":{"contents": [{"role": "user", "parts": [{"text": "List objects in this image."}, {"file_data": {"file_uri": "gs://cloud-samples-data/generative-ai/image/office-desk.jpeg", "mime_type": "image/jpeg"}}]}],"generationConfig":{"temperature": 0.4}}}
  • 노트북의 일괄 입력 준비 섹션을 실행합니다.

일괄 출력 위치 준비

일괄 예측 작업이 완료되면 출력이 요청에 지정한 위치에 저장됩니다.

  • 위치는 Cloud Storage 또는 BigQuery URI 접두사 형식입니다(예: gs://path/to/output/data 또는 bq://projectId.bqDatasetId).

  • 지정하지 않으면 Cloud Storage 소스의 경우 gs://STAGING_BUCKET/gen-ai-batch-prediction이 사용되고 BigQuery 소스의 경우 bq://PROJECT_ID.gen_ai_batch_prediction.predictions_TIMESTAMP가 사용됩니다.

이 실습에서는 Cloud Storage 버킷을 출력 위치의 예로 사용합니다.

BUCKET_URI에 Cloud Storage 버킷의 URI를 지정할 수 있습니다. 지정하지 않은 경우 gs://PROJECT_ID-TIMESTAMP 형식의 새 Cloud Storage 버킷이 자동으로 생성됩니다.

  • 노트북의 일괄 출력 위치 준비 섹션을 실행합니다.

일괄 예측 요청 보내기

일괄 예측 요청을 수행하려면 소스 모델 ID, 입력 소스, Vertex AI에서 일괄 예측 결과를 저장할 출력 위치를 지정합니다.

자세한 내용은 일괄 예측 API 페이지를 참조하세요. 콘솔(https://console.cloud.google.com/vertex-ai/batch-predictions)에서도 상태를 확인할 수 있습니다.

  • 노트북의 일괄 예측 요청 보내기 섹션을 실행합니다.
참고: 일괄 예측이 완료되는 데 몇 분 정도 걸릴 수 있습니다.

일괄 예측 결과 검색

일괄 예측 작업이 완료되면 예측 출력이 요청에 지정된 위치에 저장됩니다. 또한 batch_job.dest.bigquery_uri 또는 batch_job.dest.gcs_uri에서도 사용할 수 있습니다.

출력의 예:

{"status": "", "processed_time": "2024-11-13T14:04:28.376+00:00", "request": {"contents": [{"parts": [{"file_data": null, "text": "List objects in this image."}, {"file_data": {"file_uri": "gs://cloud-samples-data/generative-ai/image/gardening-tools.jpeg", "mime_type": "image/jpeg"}, "text": null}], "role": "user"}], "generationConfig": {"temperature": 0.4}}, "response": {"candidates": [{"avgLogprobs": -0.10394711927934126, "content": {"parts": [{"text": "Here's a list of the objects in the image:\n\n* **Watering can:** A green plastic watering can with a white rose head.\n* **Plant:** A small plant (possibly oregano) in a terracotta pot.\n* **Terracotta pots:** Two terracotta pots, one containing the plant and another empty, stacked on top of each other.\n* **Gardening gloves:** A pair of striped gardening gloves.\n* **Gardening tools:** A small trowel and a hand cultivator (hoe). Both are green with black handles."}], "role": "model"}, "finishReason": "STOP"}], "modelVersion": "gemini-2.0-flash-001@default", "usageMetadata": {"candidatesTokenCount": 110, "promptTokenCount": 264, "totalTokenCount": 374}}}
  • 노트북의 일괄 예측 결과 검색 섹션을 실행합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 일괄 예측 결과 검색

텍스트 임베딩 가져오기

embed_content 메서드를 사용하여 텍스트 스니펫의 텍스트 임베딩을 가져올 수 있습니다. 모든 모델은 기본적으로 768개의 차원이 있는 출력을 생성합니다. 하지만 일부 모델에서는 사용자가 출력 차원을 1~768개 사이에서 선택할 수 있습니다. 자세한 내용은 Vertex AI 텍스트 임베딩 API를 참조하세요.

  • 노트북의 텍스트 임베딩 가져오기 섹션을 실행합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 텍스트 임베딩 가져오기

수고하셨습니다

수고하셨습니다. Google Gen AI SDK를 살펴보면서 AI 서비스에 연결하고, 다양한 프롬프트를 보내고, Gemini 모델의 대답을 세부 조정하는 방법을 배웠습니다. 또한 상호작용 관리, 컨텍스트 캐싱 사용, 임베딩 작업과 같은 고급 기법을 직접 경험하는 실무형 실습을 진행했습니다. 이제 나만의 프로젝트에 생성형 AI의 강력한 기능을 활용할 준비가 완료되었습니다.

다음 단계/자세히 알아보기

Gemini에 대한 자세한 내용은 다음 리소스를 참조하세요.

Google Cloud 교육 및 자격증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2025년 5월 5일

실습 최종 테스트: 2025년 5월 5일

Copyright 2025 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.