ゴール
Gemini Pro Visionモデルを使用してGoogle Cloudにアップロードした動画を解析します。
環境
- Python 3.11.5
- Google Cloud Storage
- Google Cloud CLI
実装
Google Cloudに動画をアップロードする
Cloud Storageのバケットページに移動し、「作成」を選択します。
バケット名を入力し、「続行」します。
オブジェクトのアクセスは、「このバケットに対する公開アクセス禁止を適用する」のチェックを外し、アクセス制御は「きめ細かい管理」を選択し、「続行」します。
解析する動画はこちらです。
アップロードできる動画の長さの制限は2分となっています。
先ほど作成したバケット画面で、「ファイルをアップロード」を選択し、ダウンロードした動画をアップロードしてください。
アップロードした動画の右端の3点リーダーから「gsutil URLをコピー」を選択します。後ほどのPythonプログラムで子のURLは使用します。
Google Cloud CLIをインストールする
test.pyを作成し、以下のコマンドでgoogle-cloud-aiplatformをインストールします。
pip install --upgrade google-cloud-aiplatform
以下を参考にGoogle Cloud CLIをインストールします。
Google Cloud CLIのインストールが完了したら以下のコマンドを入力し、設定を進めます。
gcloud init
googleアカウントは動画をアップロードしたアカウント、projectは動画をアップロードしたプロジェクトのIDを選択してください。プロジェクトIDはGoogle Cloudの「ダッシュボード」から確認できます。
Pythonプログラムを実行する
test.pyに以下のコードを追加してください。
import vertexai
from vertexai.preview.generative_models import GenerativeModel, Part
PROJECT_ID = "プロジェクトID"
LOCATION = "asia-northeast1"
RESOURCE_ID = "gemini-pro-vision"
vertexai.init(project=PROJECT_ID, location=LOCATION)
VIDEO_FILE = "先ほどコピーしたgsutil URL"
model = GenerativeModel(RESOURCE_ID)
response = model.generate_content(
[
"この動画を詳しく解説してください。",
Part.from_uri(
VIDEO_FILE,
mime_type="video/mp4",
),
]
)
print(response)
Pythonファイルを実行します。
実行結果は以下の通りです。
candidates {
content {
role: "model"
parts {
text: " この動画には、3匹のヒヒが暗闇の中でこちらを凝視しています。中央のヒヒは毛づくろいをしており、左のヒヒは右 のヒヒの背中をかいています。右のヒヒは、こちらをじっと見つめています。"
}
}
finish_reason: STOP
safety_ratings {
category: HARM_CATEGORY_HARASSMENT
probability: NEGLIGIBLE
}
safety_ratings {
category: HARM_CATEGORY_HATE_SPEECH
probability: NEGLIGIBLE
}
safety_ratings {
category: HARM_CATEGORY_SEXUALLY_EXPLICIT
probability: NEGLIGIBLE
}
safety_ratings {
category: HARM_CATEGORY_DANGEROUS_CONTENT
probability: NEGLIGIBLE
}
}
usage_metadata {
prompt_token_count: 1039
candidates_token_count: 58
total_token_count: 1097
}
ヒヒであることはもちろん、毛づくろいやそれぞれのヒヒの視線の解説までしてくれています。
終わりに
お疲れ様でした!
以下のXアカウウントで情報発信も行っています!
参考文献