Hoje, estamos estendendo a API Batch do Gemini para oferecer suporte ao recém-lançado modelo Gemini Embedding e proporcionar aos desenvolvedores a capacidade de aproveitar o OpenAI SDK para o envio e processamento de lotes.
Isso complementa o lançamento inicial da API Batch do Gemini, que habilita o processamento assíncrono a taxas 50% mais baixas para casos de uso de alto volume e tolerantes a latência.
Nosso novo Modelo Gemini Embedding já está sendo usado para milhares de implantações em produção. E, agora, você pode aproveitar o modelo com a API Batch com limites de uso muito mais altos e pela metade do preço — US$ 0,075 por 1 milhão de tokens de entrada — para desbloquear ainda mais casos de uso sensíveis a custos, tolerantes à latência ou assíncronos.
Comece a usar incorporações em lote com apenas algumas linhas de código:
# 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)
Para ver mais informações e exemplos, acesse:
Mudar para a API Batch do Gemini ficou tão fácil quanto atualizar algumas linhas de código se você usar a camada de compatibilidade do OpenAI SDK:
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...
Leia mais sobre a camada de compatibilidade do OpenAI e o suporte a lotes em nossa documentação.
Estamos expandindo continuamente nossa oferta de lotes para otimizar ainda mais o custo do uso da API Gemini. Fique de olho em outras atualizações. Enquanto isso, divirta-se programando!