Gemini 모델을 사용하여 채팅 프롬프트를 전송하는 애플리케이션 빌드
실습
15분
universal_currency_alt
무료
show_chart
입문
info
이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.

개요
- 실습에는 시간제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다.
- 포함된 클라우드 터미널은 gcloud SDK를 통해 사전 구성되어 있습니다.
- 터미널을 사용하여 명령어를 실행한 다음 내 진행 상황 확인하기를 클릭하여 작업을 확인하세요.
목표
Vertex AI의 생성형 AI를 사용하면 Google의 대규모 생성형 AI 모델에 액세스하여 이를 AI 기반 애플리케이션에서 사용하도록 테스트, 조정, 배포할 수 있습니다. 이 실습에서 학습할 내용은 다음과 같습니다.
-
Vertex AI(Google Cloud AI 플랫폼)에 연결: Vertex AI SDK를 사용하여 Google의 AI 서비스에 연결하는 방법을 알아봅니다.
-
사전 학습된 생성형 AI 모델(Gemini) 로드: 처음부터 AI 모델을 빌드하지 않고도 강력한 사전 학습된 AI 모델을 사용하는 방법을 알아봅니다.
-
AI 모델에 텍스트 보내기: AI가 처리할 수 있도록 입력을 제공하는 방법을 이해합니다.
-
AI에서 채팅 대답 추출: AI 모델이 생성한 채팅 대답을 처리하고 해석하는 방법을 알아봅니다.
-
AI 애플리케이션 빌드의 기본사항 이해: 소프트웨어 프로젝트에 AI를 통합하는 핵심 개념에 대한 인사이트를 얻습니다.
생성형 AI 사용
실습을 시작하면 왼쪽에는 코드 편집기가, 오른쪽에는 실습 안내가 표시된 분할 창 뷰가 나타납니다. Vertex AI Python SDK를 사용하여 생성형 AI API와 상호작용하려면 다음 단계를 따르세요.
스트림을 사용하지 않는 채팅 대답:
스트리밍은 프롬프트에 대한 대답이 생성되는 즉시 대답을 수신합니다. 즉, 모델이 출력 토큰을 생성하는 즉시 출력 토큰이 전송됩니다. 프롬프트에 대한 비스트리밍 대답은 모든 출력 토큰이 생성된 후에만 전송됩니다.
먼저 스트림을 사용하지 않고 채팅 대답을 살펴봅니다.
스트림을 사용하지 않고 채팅 대답을 가져오기 위해 새 파일을 만듭니다.
-
파일 > 새 파일을 클릭하여 코드 편집기 내에서 새 파일을 엽니다.
- 제공된 코드 스니펫을 복사하여 파일에 붙여넣습니다.
from google import genai
from google.genai.types import HttpOptions, ModelContent, Part, UserContent
import logging
from google.cloud import logging as gcp_logging
# ------ Below cloud logging code is for Qwiklab's internal use, do not edit/remove it. --------
# Initialize GCP logging
gcp_logging_client = gcp_logging.Client()
gcp_logging_client.setup_logging()
client = genai.Client(
vertexai=True,
project='{{{ project_0.project_id | "project-id" }}}',
location='{{{ project_0.default_region | "REGION" }}}',
http_options=HttpOptions(api_version="v1")
)
chat = client.chats.create(
model="gemini-2.0-flash-001",
history=[
UserContent(parts=[Part(text="Hello")]),
ModelContent(
parts=[Part(text="Great to meet you. What would you like to know?")],
),
],
)
response = chat.send_message("What are all the colors in a rainbow?")
print(response.text)
response = chat.send_message("Why does it appear when it rains?")
print(response.text)
-
파일 > 저장을 클릭하고 이름 필드에 SendChatwithoutStream.py
를 입력한 다음 저장을 클릭합니다.
-
코드 편집기 창 내의 터미널에서 아래 명령어를 실행하여 Python 파일을 실행하고 출력을 확인합니다.
/usr/bin/python3 /SendChatwithoutStream.py
코드 설명
- 이 코드 스니펫은 Vertex AI에서 Gemini(gemini-2.0-flash-001)라는 사전 학습된 AI 모델을 로드합니다.
- 이 코드는 로드된 Gemini 모델의
send_message
메서드를 호출합니다.
- 이 코드는 Gemini의 채팅 기능을 사용합니다. 프롬프트에 제공된 텍스트를 사용하여 채팅합니다.
스트림을 사용한 채팅 대답:
이제 스트림을 사용한 채팅 대답을 살펴보겠습니다.
스트림을 사용하여 채팅 대답을 가져올 새 파일을 만듭니다.
-
파일 > 새 파일을 클릭하여 코드 편집기 내에서 새 파일을 엽니다.
- 제공된 코드 스니펫을 복사하여 파일에 붙여넣습니다.
from google import genai
from google.genai.types import HttpOptions
import logging
from google.cloud import logging as gcp_logging
# ------ Below cloud logging code is for Qwiklab's internal use, do not edit/remove it. --------
# Initialize GCP logging
gcp_logging_client = gcp_logging.Client()
gcp_logging_client.setup_logging()
client = genai.Client(
vertexai=True,
project='{{{ project_0.project_id | "project-id" }}}',
location='{{{ project_0.default_region | "REGION" }}}',
http_options=HttpOptions(api_version="v1")
)
chat = client.chats.create(model="gemini-2.0-flash-001")
response_text = ""
for chunk in chat.send_message_stream("What are all the colors in a rainbow?"):
print(chunk.text, end="")
response_text += chunk.text
-
파일 > 저장을 클릭하고 이름 필드에 SendChatwithStream.py
를 입력한 다음 저장을 클릭합니다.
-
코드 편집기 창 내의 터미널에서 아래 명령어를 실행하여 Python 파일을 실행하고 출력을 확인합니다.
/usr/bin/python3 /SendChatwithStream.py
코드 설명
- 코드 스니펫은 Vertex AI에서 Gemini(gemini-2.0-flash-001)라는 사전 학습된 AI 모델을 로드합니다.
- 이 코드는 로드된 Gemini 모델의
send_message_stream
메서드를 호출합니다.
- 이 코드는 프롬프트를 이해하고 스테이트풀(Stateful) 채팅 대화를 나눌 수 있는 Gemini의 기능을 사용합니다.
직접 해 보세요. 다양한 프롬프트를 실험하여 Gemini의 기능을 살펴보세요.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
생성형 AI에 텍스트 프롬프트 요청을 보내고 채팅 대답을 받습니다.
수고하셨습니다.
실습을 완료했습니다. 수고하셨습니다.
Copyright 2025 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.