Google의 Gemini API에 이제 비용을 50% 절감하면서 대규모 비동기 작업을 위해 설계된 혁신적인 업데이트인 배치 모드가 도입되었습니다. 🚀
- 이 강력한 엔드포인트를 사용하면 표준 API 가격의 절반으로 24시간 이내에 결과를 받아보며 방대한 작업을 처리할 수 있습니다.
- 이 시스템은 최대 2GB의 JSONL 파일을 처리하고 효율성 향상을 위해 컨텍스트 캐싱과 같은 최적화를 활용하는 등 높은 처리량의 워크로드를 위해 설계되었습니다.
- 또한 Google 검색과 같은 내장 도구를 지원하며, 작업을 생성, 삭제 및 검색하는 간단한 API를 통해 관리되므로 대규모 AI 처리가 더욱 저렴하고 간편해집니다.
그럼, 새로운 Google Gemini API 배치 모드를 자세히 살펴보겠습니다!
최대 생산성으로 개발팀이 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?
Apidog는 귀하의 모든 요구 사항을 충족하며, Postman을 훨씬 더 저렴한 가격으로 대체합니다!
Gemini API 배치 모드의 가격
Gemini API 배치 모드의 주요 이점은 비용을 크게 절감할 수 있다는 것입니다. 이 엔드포인트를 통해 제출된 모든 작업은 동기(실시간) 호출에 사용되는 동일 모델의 표준 요금보다 50% 저렴하게 책정됩니다.
이 50% 할인은 토큰당 가격 구조에 직접 적용됩니다. gemini-2.5-pro
, gemini-2.5-flash
또는 기타 지원되는 모델을 사용하는 경우, 배치 작업을 통해 처리할 때 입력 및 출력 토큰 모두에 대한 비용이 절반으로 줄어듭니다. 이 가격 모델은 표준 API를 사용할 경우 비용이 너무 많이 들 수 있는 대규모 작업(예: 수 테라바이트의 텍스트 데이터 분석 또는 전체 제품 카탈로그 콘텐츠 생성)을 재정적으로 실행 가능하게 만듭니다. 비용은 여전히 입력의 토큰 수와 생성된 출력에 따라 계산되지만, 토큰당 요금이 할인됩니다.
Gemini API 배치 모드 사용 방법: 단계별 가이드
Gemini API 배치 모드의 워크플로우는 파일 준비, 작업 생성 및 결과 검색을 포함하여 간단하게 설계되었습니다. 다음 섹션에서는 Google GenAI Python SDK를 사용한 실용적인 가이드를 제공합니다.

1단계: Gemini API 배치 모드용 입력 파일 준비
Gemini API 배치 모드는 JSON Lines (JSONL) 파일에서 요청을 처리합니다. 파일의 각 줄은 단일의 자체 포함된 요청을 나타내는 유효한 JSON 객체여야 합니다. 파일 크기는 최대 2GB까지 가능합니다.
파일의 각 JSON 객체에는 두 개의 필드가 포함되어야 합니다.
key
: 각 요청에 대한 고유한 문자열 식별자(사용자 선택)로, 요청과 결과를 연관시키는 데 사용됩니다.request
: 동기 Gemini API로 전송되는 요청과 구조가 동일한 요청 페이로드입니다. 모델 프롬프트가 포함된contents
필드를 포함합니다.
예시 batch_requests.jsonl
:
{"key": "request_1", "request": {"contents": [{"parts": [{"text": "Explain how AI works in a few words"}]}]}}
{"key": "request_2", "request": {"contents": [{"parts": [{"text": "Summarize the key benefits of context caching in LLMs."}]}]}}
{"key": "request_3", "request": {"contents": [{"parts": [{"text": "Write a python function to reverse a string."}]}]}}
2단계: Gemini API 배치 모드 프로그래밍 워크플로우
Python SDK는 배치 엔드포인트와 상호 작용하는 과정을 몇 가지 주요 함수 호출로 단순화합니다.
입력 파일 업로드: 먼저 JSONL 파일을 Google의 파일 서비스에 업로드해야 합니다. 이렇게 하면 작업을 생성할 때 참조할 파일 객체가 반환됩니다.
import google.generativeai as genai
# API 키를 환경 변수로 구성하는 것이 좋습니다.
# genai.configure(api_key="YOUR_API_KEY")
uploaded_batch_requests = genai.upload_file(path="batch_requests.jsonl")
배치 작업 생성: 파일이 업로드되면 이제 배치 작업을 생성할 수 있습니다. 이 호출은 사용할 모델을 지정하고 업로드된 파일을 요청 소스로 제공해야 합니다.
batch_job = genai.create_batch_job(
model="gemini-2.5-flash", # 또는 "gemini-2.5-pro" 등.
requests=uploaded_batch_requests,
config={
'display_name': "MyFirstBatchJob-1",
},
)
print(f"Created batch job: {batch_job.name}")
print(f"Initial state: {batch_job.state.name}")
이 함수는 즉시 반환되며, 작업의 이름과 초기 상태를 제공합니다. 초기 상태는 일반적으로 JOB_STATE_PENDING
입니다.
3단계: Gemini API 배치 모드에서 작업 관리 및 모니터링
배치 작업은 비동기식이므로 상태를 모니터링해야 합니다. 작업의 이름을 사용하여 언제든지 작업의 현재 상태를 검색할 수 있습니다. 작업은 24시간 이내에 완료되는 것이 보장됩니다.
가능한 작업 상태는 다음과 같습니다.
JOB_STATE_UNSPECIFIED
: 기본 상태.JOB_STATE_PENDING
: 작업이 생성되었으며 처리를 기다리는 중입니다.JOB_STATE_RUNNING
: 작업이 활발하게 처리 중입니다.JOB_STATE_SUCCEEDED
: 작업이 성공적으로 완료되었습니다.JOB_STATE_FAILED
: 작업이 실패했습니다. 작업 객체의error
필드에 진단 정보가 포함됩니다.JOB_STATE_CANCELLING
: 취소 요청이 접수되었습니다.JOB_STATE_CANCELLED
: 작업이 취소되었습니다.
작업 상태 확인 예시:
# 일정 시간이 지난 후 상태 확인
retrieved_job = genai.get_batch_job(name=batch_job.name)
print(f"Current job state: {retrieved_job.state.name}")
4단계: Gemini API 배치 모드에서 결과 처리
작업 상태가 JOB_STATE_SUCCEEDED
가 되면, 결과는 JSONL 파일로 다운로드할 수 있습니다. 출력 파일의 각 줄은 입력 파일의 요청에 해당합니다.
출력 JSON 객체에는 원본 요청의 key
와 모델의 출력을 포함하는 response
객체가 포함됩니다.
- 결과 파일 다운로드:
if retrieved_job.state.name == 'JOB_STATE_SUCCEEDED':
result_file_metadata = retrieved_job.result_file
result_file_content_bytes = genai.download_file(name=result_file_metadata.name).read()
# 결과 디코딩 및 처리
file_content = result_file_content_bytes.decode('utf-8')
for line in file_content.splitlines():
print(line)
elif retrieved_job.state.name == 'JOB_STATE_FAILED':
print(f"Job failed with error: {retrieved_job.error}")
예시 출력 파일 라인:
{"key": "request_1", "response": {"candidates": [{"content": {"parts": [{"text": "Artificial intelligence enables machines to learn and reason."}]}}]}}
이 파일을 파싱하여 key
를 사용하여 각 응답을 원본 프롬프트와 일치시킬 수 있습니다.
Gemini API 배치 모드의 고급 기능
Gemini API 배치 모드는 대규모 워크플로우를 최적화하기 위한 고급 기능도 지원합니다.
Gemini API 배치 모드와 컨텍스트 캐싱
대규모의 공유 컨텍스트(예: 여러 질문을 하고 싶은 긴 문서)가 포함된 작업의 경우 컨텍스트 캐싱을 사용할 수 있습니다. 이 기능을 사용하면 공유 컨텍스트를 캐시하여 배치 내의 모든 개별 요청에 대해 다시 처리되지 않도록 할 수 있습니다. 이는 처리되는 총 토큰 수를 줄여 추가적인 상당한 비용 절감과 더 빠른 처리 시간으로 이어질 수 있습니다.
Gemini API 배치 모드에서 내장 도구 사용
배치 작업은 내장된 Google 검색 기능을 포함한 도구 사용을 지원합니다. 이를 통해 모델이 웹에서 실시간 정보에 액세스하고 처리해야 하는 대규모 작업을 수행할 수 있습니다. 예를 들어, 배치 작업은 수천 개의 URL을 분석하고 해당 콘텐츠를 요약하도록 구성될 수 있습니다.
Google은 이미 이 기능을 사용하는 여러 조직을 강조했습니다.
- Reforged Labs는 Gemini API 배치 모드를 사용하여 대량의 비디오 광고를 분석하고 레이블을 지정하여 비용을 절감하고 워크플로우를 가속화합니다.
- Vals AI는 배치 모드의 높은 처리량을 사용하여 많은 수의 평가 쿼리로 파운데이션 모델을 벤치마킹하여 동기 API의 속도 제한을 우회합니다.
결론: Gemini API 배치 모드의 기술적 가치
Gemini API 배치 모드는 대규모 비동기 AI 처리를 위한 기술적으로 견고하고 재정적으로 유리한 솔루션을 제공합니다. 50% 비용 절감, 간소화된 파일 기반 워크플로우, 컨텍스트 캐싱 및 도구 사용과 같은 고급 기능 지원을 통해 높은 처리량의 AI 작업과 관련된 엔지니어링 및 재정적 장벽을 제거합니다. 이는 방대한 데이터셋에서 Gemini 모델의 모든 기능을 활용하려는 개발자와 조직에게 필수적인 도구입니다.
최대 생산성으로 개발팀이 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?
Apidog는 귀하의 모든 요구 사항을 충족하며, Postman을 훨씬 더 저렴한 가격으로 대체합니다!