이제 Gemini Batch API가 Embedding 및 OpenAI 호환성 지원

2025년 9월 10일
Lucia Loher Product Manager
Patrick Löber Developer Relations Engineer

이제 Batch API가 Embedding 및 OpenAI 호환성 지원

오늘, 저희는 Gemini Batch API를 확장하여 새로 출시된 Gemini Embedding 모델을 지원하고, 또한 개발자가 OpenAI SDK를 활용하여 배치를 제출 및 처리할 수 있는 기능도 제공합니다.

Gemini Batch API의 초기 출시 버전을 기반으로 하여 이 API는 대용량 처리 및 지연 시간 허용 사용 사례에서 비동기 처리를 50% 낮은 요금으로 가능하게 합니다.

배치 API Embedding 지원

새로운 Gemini Embedding Model은 이미 수천 건의 프로덕션 배포에 사용되고 있습니다. 이제는 Batch API를 통해 훨씬 더 높은 요청 한도와 절반의 비용(입력 토큰 1백만 개당 $0.075)으로 모델을 활용할 수 있어, 비용에 민감하거나 지연 시간을 허용, 비동기적 사용 사례를 더 폭넓게 구현할 수 있습니다.

다음과 같이 단 몇 줄의 코드로 Batch Embedding을 시작해 보세요.

# 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 호환성 계층과 배치 지원에 대한 자세한 내용은 설명서에서 확인할 수 있습니다.

Gemini API 사용 비용을 더욱 최적화하기 위해 배치 제공을 지속적으로 확대하고 있습니다. 추가 업데이트를 계속 지켜봐 주시기 바랍니다. 그동안 즐거운 개발하세요!