Gemini API はバッチ API をサポートしており、1 回の呼び出しで複数のリクエストを処理できます。詳細については、Batch API ガイドをご覧ください。
メソッド: models.batchGenerateContent
バッチ処理用に models.generateContent
件のリクエストのバッチをキューに登録します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:batchGenerateContent
パスパラメータ
batch.model
string
必須。補完の生成に使用する Model
の名前。
形式: models/{model}
。形式は models/{model}
です。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
batch.name
string
出力専用。ID。バッチのリソース名。
形式: batches/{batchId}
。
batch.displayName
string
必須。このバッチのユーザー定義名。
batch.inputConfig
object (InputConfig
)
必須。バッチ処理が実行されるインスタンスの入力構成。
batch.output
object (GenerateContentBatchOutput
)
出力専用。バッチ リクエストの出力。
batch.createTime
string (Timestamp
format)
出力専用。バッチが作成された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batch.endTime
string (Timestamp
format)
出力専用。バッチ処理が完了した時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batch.updateTime
string (Timestamp
format)
出力専用。バッチが最後に更新された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batch.batchStats
object (BatchStats
)
出力専用。バッチに関する統計情報。
batch.state
enum (BatchState
)
出力専用。バッチの状態。
batch.priority
string (int64 format)
省略可。バッチの優先度。優先度の高い値を持つバッチは、優先度の低い値を持つバッチよりも先に処理されます。負の値を使用できます。デフォルトは 0 です。
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
GenerateContentRequest
モデルから補完を生成するリクエスト。
model
string
必須。補完の生成に使用する Model
の名前。
形式: models/{model}
。
toolConfig
object (ToolConfig
)
省略可。リクエストで指定された Tool
のツール構成。使用例については、関数呼び出しガイドをご覧ください。
safetySettings[]
object (SafetySetting
)
省略可。安全でないコンテンツをブロックするための、一意の SafetySetting
インスタンスのリスト。
この条件は GenerateContentRequest.contents
と GenerateContentResponse.candidates
に適用されます。SafetyCategory
タイプごとに設定は 1 つだけにする必要があります。API は、これらの設定で設定されたしきい値を満たさないコンテンツとレスポンスをブロックします。このリストは、safetySettings で指定された各 SafetyCategory
のデフォルト設定をオーバーライドします。リストに指定された特定の SafetyCategory
に SafetySetting
がない場合、API はそのカテゴリのデフォルトの安全性設定を使用します。有害カテゴリ HARM_CATEGORY_HATE_SPEECH、HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENT、HARM_CATEGORY_HARASSMENT、HARM_CATEGORY_CIVIC_INTEGRITY がサポートされています。利用可能な安全設定の詳細については、ガイドをご覧ください。AI アプリケーションに安全性の考慮事項を組み込む方法については、安全に関するガイダンスもご覧ください。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測を提供するためにコンテキストとして使用される、キャッシュに保存されたコンテンツの名前。形式: cachedContents/{cachedContent}
JSON 表現 |
---|
{ "model": string, "contents": [ { object ( |
メソッド: models.asyncBatchEmbedContent
バッチ処理用に models.embedContent
件のリクエストのバッチをキューに追加します。GenerativeService
に models.batchEmbedContents
ハンドラがありますが、同期されていました。混乱を避けるため、この名前を Async
にします。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:asyncBatchEmbedContent
パスパラメータ
batch.model
string
必須。補完の生成に使用する Model
の名前。
形式: models/{model}
。形式は models/{model}
です。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
batch.name
string
出力専用。ID。バッチのリソース名。
形式: batches/{batchId}
。
batch.displayName
string
必須。このバッチのユーザー定義名。
batch.inputConfig
object (InputEmbedContentConfig
)
必須。バッチ処理が実行されるインスタンスの入力構成。
batch.output
object (EmbedContentBatchOutput
)
出力専用。バッチ リクエストの出力。
batch.createTime
string (Timestamp
format)
出力専用。バッチが作成された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batch.endTime
string (Timestamp
format)
出力専用。バッチ処理が完了した時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batch.updateTime
string (Timestamp
format)
出力専用。バッチが最後に更新された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batch.batchStats
object (EmbedContentBatchStats
)
出力専用。バッチに関する統計情報。
batch.state
enum (BatchState
)
出力専用。バッチの状態。
batch.priority
string (int64 format)
省略可。バッチの優先度。優先度の高い値を持つバッチは、優先度の低い値を持つバッチよりも先に処理されます。負の値を使用できます。デフォルトは 0 です。
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
EmbedContentRequest
エンベディングするモデルの Content
を含むリクエスト。
model
string
必須。モデルのリソース名。これは、使用するモデルの ID として機能します。
この名前は、models.list
メソッドから返されるモデル名と一致する必要があります。
形式: models/{model}
content
object (Content
)
必須。埋め込むコンテンツ。parts.text
フィールドのみがカウントされます。
taskType
enum (TaskType
)
省略可。エンベディングが使用されるオプションのタスクタイプ。以前のモデル(models/embedding-001
)ではサポートされていません。
title
string
省略可。テキストのタイトル(省略可)。TaskType が RETRIEVAL_DOCUMENT
の場合にのみ適用されます。
注: RETRIEVAL_DOCUMENT
に title
を指定すると、検索用のエンベディングの品質が向上します。
outputDimensionality
integer
省略可。出力エンベディングのオプションの削減ディメンション。設定すると、出力エンベディングの過剰な値が末尾から切り捨てられます。2024 年以降の新しいモデルでのみサポートされます。以前のモデル(models/embedding-001
)を使用している場合は、この値を設定できません。
メソッド: batches.get
長時間実行オペレーションの最新状態を取得します。クライアントはこのメソッドを使用して、API サービスで推奨される間隔でオペレーションの結果をポーリングできます。
エンドポイント
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}
パスパラメータ
name
string
オペレーション リソースの名前。形式は batches/{batches}
です。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
メソッド: batches.list
リクエストで指定されたフィルタに一致するオペレーションをリストします。このメソッドがサーバーでサポートされていない場合は、UNIMPLEMENTED
を返します。
エンドポイント
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=batches}
パスパラメータ
name
string
オペレーションの親リソースの名前。形式は batches
です。
クエリ パラメータ
filter
string
標準リストフィルタ。
pageSize
integer
標準的なリストのページサイズ。
pageToken
string
標準的なリストのページトークン。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には ListOperationsResponse
のインスタンスが含まれます。
メソッド: batches.cancel
長時間実行オペレーションの非同期キャンセルを開始します。サーバーは操作のキャンセルに全力を尽くしますが、成功は保証されません。このメソッドがサーバーでサポートされていない場合は、google.rpc.Code.UNIMPLEMENTED
を返します。クライアントは Operations.GetOperation
などのメソッドを使用して、キャンセルが成功したか、あるいはキャンセルしたにもかかわらずオペレーションが完了したかを確認できます。キャンセルが成功するとそのオペレーションは削除されず、google.rpc.Status.code
が 1
の Operation.error
値を持つオペレーションになります。これは Code.CANCELLED
に相当します。
エンドポイント
投稿https: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}:cancel
パスパラメータ
name
string
キャンセルするオペレーション リソースの名前。形式は batches/{batches}
です。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文は空の JSON オブジェクトになります。
メソッド: batches.delete
長時間実行オペレーションを削除します。このメソッドは、クライアントがそのオペレーション結果に関心がなくなったことを表しています。このメソッドではオペレーションはキャンセルされません。このメソッドがサーバーでサポートされていない場合は、google.rpc.Code.UNIMPLEMENTED
を返します。
エンドポイント
削除https: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}
パスパラメータ
name
string
削除するオペレーション リソースの名前。形式は batches/{batches}
です。
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文は空の JSON オブジェクトになります。
GenerateContentBatch
- JSON 表現
- InputConfig
- InlinedRequests
- InlinedRequest
- GenerateContentBatchOutput
- InlinedResponses
- InlinedResponse
- BatchStats
GenerateContent
リクエストのバッチを表すリソース。
model
string
必須。補完の生成に使用する Model
の名前。
形式: models/{model}
。
name
string
出力専用。ID。バッチのリソース名。
形式: batches/{batchId}
。
displayName
string
必須。このバッチのユーザー定義名。
inputConfig
object (InputConfig
)
必須。バッチ処理が実行されるインスタンスの入力構成。
output
object (GenerateContentBatchOutput
)
出力専用。バッチ リクエストの出力。
createTime
string (Timestamp
format)
出力専用。バッチが作成された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
endTime
string (Timestamp
format)
出力専用。バッチ処理が完了した時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
updateTime
string (Timestamp
format)
出力専用。バッチが最後に更新された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batchStats
object (BatchStats
)
出力専用。バッチに関する統計情報。
state
enum (BatchState
)
出力専用。バッチの状態。
priority
string (int64 format)
省略可。バッチの優先度。優先度の高い値を持つバッチは、優先度の低い値を持つバッチよりも先に処理されます。負の値を使用できます。デフォルトは 0 です。
JSON 表現 |
---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputConfig
バッチ リクエストの入力を構成します。
source
Union type
source
は次のいずれかになります。fileName
string
入力リクエストを含む File
の名前。
requests
object (InlinedRequests
)
バッチで処理されるリクエスト。
JSON 表現 |
---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedRequests
バッチ作成リクエストの一部として指定された場合、バッチで処理されるリクエスト。
requests[]
object (InlinedRequest
)
必須。バッチで処理されるリクエスト。
JSON 表現 |
---|
{
"requests": [
{
object ( |
InlinedRequest
バッチで処理されるリクエスト。
request
object (GenerateContentRequest
)
必須。バッチで処理されるリクエスト。
metadata
object (Struct
format)
省略可。リクエストに関連付けるメタデータ。
JSON 表現 |
---|
{
"request": {
object ( |
GenerateContentBatchOutput
バッチ リクエストの出力。これは、BatchGenerateContentResponse
フィールドまたは GenerateContentBatch.output
フィールドで返されます。
output
Union type
output
は次のいずれかになります。responsesFile
string
出力専用。回答を含むファイルのファイル ID。ファイルは、1 行に 1 つのレスポンスを含む JSONL ファイルになります。レスポンスは JSON 形式の GenerateContentResponse
メッセージになります。レスポンスは、入力リクエストと同じ順序で書き込まれます。
inlinedResponses
object (InlinedResponses
)
出力専用。バッチ内のリクエストに対するレスポンス。バッチがインライン リクエストを使用して作成された場合に返されます。レスポンスは、入力リクエストと同じ順序で返されます。
JSON 表現 |
---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedResponses
バッチ内のリクエストに対するレスポンス。
inlinedResponses[]
object (InlinedResponse
)
出力専用。バッチ内のリクエストに対するレスポンス。
JSON 表現 |
---|
{
"inlinedResponses": [
{
object ( |
InlinedResponse
バッチ内の単一のリクエストに対するレスポンス。
metadata
object (Struct
format)
出力専用。リクエストに関連付けられたメタデータ。
output
Union type
output
は次のいずれかになります。error
object (Status
)
出力専用。リクエストの処理中に発生したエラー。
response
object (GenerateContentResponse
)
出力専用。リクエストに対するレスポンス。
JSON 表現 |
---|
{ "metadata": { object }, // output "error": { object ( |
BatchStats
バッチに関する統計情報。
requestCount
string (int64 format)
出力専用。バッチ内のリクエストの数。
successfulRequestCount
string (int64 format)
出力専用。正常に処理されたリクエストの数。
failedRequestCount
string (int64 format)
出力専用。処理に失敗したリクエストの数。
pendingRequestCount
string (int64 format)
出力専用。処理が保留中のリクエストの数。
JSON 表現 |
---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |
EmbedContentBatch
- JSON 表現
- InputEmbedContentConfig
- InlinedEmbedContentRequests
- InlinedEmbedContentRequest
- EmbedContentBatchOutput
- InlinedEmbedContentResponses
- InlinedEmbedContentResponse
- EmbedContentBatchStats
EmbedContent
リクエストのバッチを表すリソース。
model
string
必須。補完の生成に使用する Model
の名前。
形式: models/{model}
。
name
string
出力専用。ID。バッチのリソース名。
形式: batches/{batchId}
。
displayName
string
必須。このバッチのユーザー定義名。
inputConfig
object (InputEmbedContentConfig
)
必須。バッチ処理が実行されるインスタンスの入力構成。
output
object (EmbedContentBatchOutput
)
出力専用。バッチ リクエストの出力。
createTime
string (Timestamp
format)
出力専用。バッチが作成された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
endTime
string (Timestamp
format)
出力専用。バッチ処理が完了した時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
updateTime
string (Timestamp
format)
出力専用。バッチが最後に更新された時刻。
RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z"
、"2014-10-02T15:01:23.045123456Z"
、"2014-10-02T15:01:23+05:30"
。
batchStats
object (EmbedContentBatchStats
)
出力専用。バッチに関する統計情報。
state
enum (BatchState
)
出力専用。バッチの状態。
priority
string (int64 format)
省略可。バッチの優先度。優先度の高い値を持つバッチは、優先度の低い値を持つバッチよりも先に処理されます。負の値を使用できます。デフォルトは 0 です。
JSON 表現 |
---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputEmbedContentConfig
バッチ リクエストの入力を構成します。
source
Union type
source
は次のいずれかになります。fileName
string
入力リクエストを含む File
の名前。
requests
object (InlinedEmbedContentRequests
)
バッチで処理されるリクエスト。
JSON 表現 |
---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedEmbedContentRequests
バッチ作成リクエストの一部として指定された場合、バッチで処理されるリクエスト。
requests[]
object (InlinedEmbedContentRequest
)
必須。バッチで処理されるリクエスト。
JSON 表現 |
---|
{
"requests": [
{
object ( |
InlinedEmbedContentRequest
バッチで処理されるリクエスト。
request
object (EmbedContentRequest
)
必須。バッチで処理されるリクエスト。
metadata
object (Struct
format)
省略可。リクエストに関連付けるメタデータ。
JSON 表現 |
---|
{
"request": {
object ( |
EmbedContentBatchOutput
バッチ リクエストの出力。これは、AsyncBatchEmbedContentResponse
フィールドまたは EmbedContentBatch.output
フィールドで返されます。
output
Union type
output
は次のいずれかになります。responsesFile
string
出力専用。回答を含むファイルのファイル ID。ファイルは、1 行に 1 つのレスポンスを含む JSONL ファイルになります。レスポンスは JSON 形式の EmbedContentResponse
メッセージになります。レスポンスは、入力リクエストと同じ順序で書き込まれます。
inlinedResponses
object (InlinedEmbedContentResponses
)
出力専用。バッチ内のリクエストに対するレスポンス。バッチがインライン リクエストを使用して作成された場合に返されます。レスポンスは、入力リクエストと同じ順序で返されます。
JSON 表現 |
---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedEmbedContentResponses
バッチ内のリクエストに対するレスポンス。
inlinedResponses[]
object (InlinedEmbedContentResponse
)
出力専用。バッチ内のリクエストに対するレスポンス。
JSON 表現 |
---|
{
"inlinedResponses": [
{
object ( |
InlinedEmbedContentResponse
バッチ内の単一のリクエストに対するレスポンス。
metadata
object (Struct
format)
出力専用。リクエストに関連付けられたメタデータ。
output
Union type
output
は次のいずれかになります。error
object (Status
)
出力専用。リクエストの処理中に発生したエラー。
response
object (EmbedContentResponse
)
出力専用。リクエストに対するレスポンス。
JSON 表現 |
---|
{ "metadata": { object }, // output "error": { object ( |
EmbedContentBatchStats
バッチに関する統計情報。
requestCount
string (int64 format)
出力専用。バッチ内のリクエストの数。
successfulRequestCount
string (int64 format)
出力専用。正常に処理されたリクエストの数。
failedRequestCount
string (int64 format)
出力専用。処理に失敗したリクエストの数。
pendingRequestCount
string (int64 format)
出力専用。処理が保留中のリクエストの数。
JSON 表現 |
---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |
BatchState
バッチの状態。
列挙型 | |
---|---|
BATCH_STATE_UNSPECIFIED |
バッチの状態は指定されていません。 |
BATCH_STATE_PENDING |
サービスはバッチを実行する準備をしています。 |
BATCH_STATE_RUNNING |
バッチは進行中です。 |
BATCH_STATE_SUCCEEDED |
バッチは正常に完了しました。 |
BATCH_STATE_FAILED |
バッチが失敗しました。 |
BATCH_STATE_CANCELLED |
バッチがキャンセルされました。 |
BATCH_STATE_EXPIRED |
バッチの有効期限が切れています。 |
REST リソース: batches
リソース: Operation
このリソースは、ネットワーク API 呼び出しの結果である長時間実行オペレーションを表します。
name
string
サーバーによって割り当てられる名前。最初にその名前を返すサービスと同じサービス内でのみ一意になります。デフォルトの HTTP マッピングを使用している場合は、name
を operations/{unique_id}
で終わるリソース名にします。
metadata
object
オペレーションに関連付けられているサービス固有のメタデータ。通常は進捗情報や、作成日時などの共通メタデータが含まれます。一部のサービスでは、このようなメタデータが提供されないこともあります。メタデータがある場合、長時間実行オペレーションを返すメソッドでは、メタデータの型をドキュメント化しておく必要があります。
任意の型のフィールドを含むオブジェクト。追加フィールドの "@type"
には、その型を識別する URI が含まれます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
値が false
の場合は、オペレーションが進行中であることを意味します。true
の場合、オペレーションは完了しており、error
または response
が利用可能です。
result
Union type
error
または有効な response
になります。done
== false
の場合、error
も response
も設定されません。done
== true
の場合、error
または response
のどちらか 1 つだけが設定されます。一部のサービスでは結果が返されない場合があります。result
は次のいずれかになります。error
object (Status
)
失敗またはキャンセルされた場合のオペレーションのエラー結果。
response
object
オペレーションの通常の成功レスポンス。元のメソッドで成功時にデータが返されない場合(Delete
など)、レスポンスは google.protobuf.Empty
になります。元のメソッドが標準の Get
/Create
/Update
である場合、レスポンスはリソースになります。他のメソッドについては、レスポンスの型が XxxResponse
(Xxx
は元のメソッド名)になります。たとえば、元のメソッド名が TakeSnapshot()
であれば、レスポンスの型は TakeSnapshotResponse
になると推測できます。
任意の型のフィールドを含むオブジェクト。追加フィールドの "@type"
には、その型を識別する URI が含まれます。例: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 表現 |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |