This skill should be used when the user asks to "create Gemini batch request", "prepare batch input for Gemini", "run Vertex AI batch API", or needs guidance on Vertex AI batch prediction setup.
View on GitHubvertexai-gemini-batch/skills/vertexai-gemini-batch/SKILL.md
February 4, 2026
Select agents to install to:
npx add-skill https://github.com/pokutuna/claude-marketplace/blob/main/vertexai-gemini-batch/skills/vertexai-gemini-batch/SKILL.md -a claude-code --skill vertexai-gemini-batchInstallation paths:
.claude/skills/vertexai-gemini-batch/# Vertex AI Batch Prediction for Gemini
`google-genai` SDK を使用して Vertex AI 経由で Gemini のバッチ処理を実行するための支援を行います。
## 概要
| 項目 | 内容 |
|------|------|
| SDK | `google-genai` (vertexai=True) |
| 認証 | Google Cloud ADC / サービスアカウント |
| 入力ソース | GCS / BigQuery |
| 出力先 | GCS / BigQuery (指定可) |
| コスト | 標準 API の 50% OFF |
| 処理時間 | 最大 24 時間 (通常はそれより早い) |
---
## ワークフロー
### Phase 1: 設定の収集
ユーザに以下の情報を確認する:
1. **必須情報**:
- Google Cloud プロジェクト ID
- GCS バケットパス (例: `gs://bucket-name/batch-workspace/`)
2. **推論内容**:
- この SKILL 起動までの文脈から推論内容を把握できない場合は尋ねる
- バッチで処理したいプロンプトまたはプロンプトのテンプレート
- 入力データのソース (CSV, JSONL, データベースなど)
その他の設定 (モデル、リージョン、generation_config) はスクリプトの引数やコード内で指定する
---
## 入力ファイルのデータ構造
### 入力形式 (JSONL)
各行が 1 リクエスト。`request` フィールドに `GenerateContentRequest` 相当の構造を記述:
```jsonl
{"key": "req-1", "request": {"contents": [{"role": "user", "parts": [{"text": "質問1"}]}]}}
{"key": "req-2", "request": {"contents": [{"role": "user", "parts": [{"text": "質問2"}]}], "generation_config": {"temperature": 0.7}}}
```
**`key` フィールド** (推奨): 各リクエストに一意の識別子を付与できる。出力にも同じ `key` が含まれるため、入出力の対応付けが容易になる。バッチ処理では出力順序が入力順序と異なる場合があるため、`key` の使用を推奨。
### 完全な入力例 (generation_config 含む)
```json
{
"key": "summarize-001",
"request": {
"contents": [
{
"role": "user",
"parts": [{"text": "この文章を要約してください: ..."}]
}
],
"generation_config": {
"temperature": 0.7,
"max_output_tokens": 1024,
"top_p": 0.95,
"top_k": 40,
"response_mime_type": "application/json",
"response_schema": {
"type": "object",
"properties": {
"summary": {"type": "string"},
"key_points": {
"type": "array",
"items": {"type": "string"}
}
},
"required": ["summary", "key_points"]
}
},
"safety_settings": [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
],
"system_instruction": {
"parts":