Gemini Batch API がエンベディングと OpenAI 互換性のサポートを開始

2025年9月10日
Lucia Loher Product Manager
Patrick Löber Developer Relations Engineer

Batch API がエンベディングと OpenAI 互換性をサポートするようになりました

このたび、Gemini Batch API を拡張して、新しくリリースされた Gemini エンベディング モデルをサポートするとともに、デベロッパーが OpenAI SDK を活用してバッチの送信および処理を行える機能を提供します。

これは、大容量でレイテンシ許容度の高いユースケース向けに、50% 低いレートでの非同期処理を可能にする Gemini Batch API の初期リリースを基盤としています。

Batch API のエンベディング サポート

Google の新しい Gemini エンベディング モデルは、すでに数千もの本番環境のデプロイで利用されています。このたび、Batch API を使用して、このモデルをより高いレート制限と半額の料金(100 万入力トークンあたり $ 0.075)で利用できるようになり、コスト重視、レイテンシ許容度、または非同期処理といったより高度なユースケースの実現が可能になりました。

わずか数行のコードで、バッチ エンベディングを開始できます。

# Create a JSONL with your requests:
# {"key": "request_1", "request": {"output_dimensionality": 512, "content": {"parts": [{"text": "Explain GenAI"}]}}}
# {"key": "request_2", "request": {"output_dimensionality": 512, "content": {"parts": [{"text": "Explain quantum computing"}]}}}
 
from google import genai
 
client = genai.Client()
 
uploaded_batch_requests = client.files.upload(file='embedding_requests.jsonl')
 
batch_job = client.batches.create_embeddings(
    model="gemini-embedding-001",
    src={"file_name": uploaded_batch_requests.name}
)
 
 
print(f"Created embedding batch job: {batch_job.name}")
 
# Wait for up to 24 hours
 
if batch_job.state.name == 'JOB_STATE_SUCCEEDED':
    result_file_name = batch_job.dest.file_name
    file_content_bytes = client.files.download(file=result_file_name)
    file_content = file_content_bytes.decode('utf-8')
 
    for line in file_content.splitlines():
        print(line)
Python

Batch API の OpenAI 互換性

OpenAI SDK 互換レイヤを使用する場合、Gemini Batch API への切り替えはわずか数行のコードを更新するだけで簡単に行えます。

from openai import OpenAI
 
openai_client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
 
# Upload JSONL file in OpenAI batch input format...
 
# Create batch
batch = openai_client.batches.create(
    input_file_id=batch_input_file_id,
    endpoint="/v1/chat/completions",
    completion_window="24h"
)
 
# Wait for up to 24 hours & poll for status
batch = openai_client.batches.retrieve(batch.id)
 
if batch.status == "completed":
    # Download results...
Python

OpenAI 互換レイヤとバッチサポートについて詳しくは、Google のドキュメントをご覧ください。

Gemini API の使用コストをさらに最適化するために、バッチの機能を継続的に拡大しています。今後の更新にご期待ください。それでは開発をお楽しみください!