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 の活用
ラボを開始すると、分割ペイン ビューの左側にコードエディタ、右側にラボの手順が表示されます。Vertex AI Python SDK を使用して生成 AI API を操作するには、次の手順を行います。
ストリームを使用しないチャットの回答:
ストリーミングでは、プロンプトに対する回答を、生成と同時に順次受信します。つまり、モデルは出力トークンを生成すると即座に送信します。ストリーミング以外でのプロンプトに対する回答は、すべての出力トークンが生成されてから送信されます。
まずは、ストリーミングを使わないチャットの回答について見ていきましょう。
ストリームを使わずにチャットの回答を取得するための新しいファイルを作成します。
-
[File] > [New File] をクリックして、コードエディタ内に新しいファイルを開きます。
- 下のコード スニペットをコピーしてファイルに貼り付けます。
from google import genai
from google.genai.types import HttpOptions, ModelContent, Part, UserContent
import logging
from google.cloud import logging as gcp_logging
# ------ 以下のクラウド ロギング コードは Qwicklab 内部で使用するものです。編集/削除しないでください。--------
# GCP ロギングを初期化
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)
-
[File > [Save] をクリックし、[Name] フィールドに「SendChatwithoutStream.py
」と入力して [Save] をクリックします。
-
コードエディタ ペイン内のターミナルで以下のコマンドを入力して Python ファイルを実行し、出力を確認します。
/usr/bin/python3 /SendChatwithoutStream.py
コードの説明
- このコード スニペットは、Vertex AI で Gemini(gemini-2.0-flash-001)という事前トレーニング済み AI モデルを読み込みます。
- このコードは、読み込まれた Gemini モデルの
send_message
メソッドを呼び出します。
- このコードでは、Gemini のチャット機能を使用します。プロンプトで提供されたテキストを使用してチャットします。
ストリームを使用したチャットの回答:
次に、ストリームを使ったチャットの回答について見ていきましょう。
ストリームを使ってチャットの回答を取得するための新しいファイルを作成します。
-
[File] > [New File] をクリックして、コードエディタ内に新しいファイルを開きます。
- 下のコード スニペットをコピーしてファイルに貼り付けます。
from google import genai
from google.genai.types import HttpOptions
import logging
from google.cloud import logging as gcp_logging
# ------ 以下のクラウド ロギング コードは Qwicklab 内部で使用するものです。編集/削除しないでください。--------
# GCP ロギングを初期化する
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
-
[File] > [Save] をクリックし、[Name] フィールドに「SendChatwithStream.py
」と入力して、[Save] をクリックします。
-
コードエディタ ペイン内のターミナルで以下のコマンドを入力して Python ファイルを実行し、出力を確認します。
/usr/bin/python3 /SendChatwithStream.py
コードの説明
- このコード スニペットは、Vertex AI で Gemini(gemini-2.0-flash-001)という事前トレーニング済み AI モデルを読み込みます。
- このコードは、読み込まれた Gemini モデルの
send_message_stream
メソッドを呼び出します。
- このコードでは、Gemini が持つ、プロンプトを理解してステートフルなチャットを行う機能を使用します。
実際に試してみましょう。さまざまなプロンプトを試して、Gemini の機能を使ってみましょう。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
テキスト プロンプト リクエストを生成 AI に送信し、チャットの回答を受け取る
お疲れさまでした
これでラボは完了です。お疲れさまでした。
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。