Hoy ampliaremos la API de lotes de Gemini para admitir el modelo de incorporación de Gemini recientemente lanzado, además de ofrecer a los desarrolladores la capacidad de aprovechar el SDK de OpenAI para enviar y procesar lotes.
Esta se apoya en el lanzamiento inicial de la API de lotes de Gemini, que permite el procesamiento asincrónico a tasas un 50% más bajas para casos de uso de alto volumen y tolerantes a la latencia.
Nuestro nuevo modelo de incorporación de Gemini ya se está usando para miles de implementaciones de producción. Y ahora, puedes aprovechar el modelo con la API de lotes a límites de velocidad mucho más altos y a la mitad del precio (USD 0.075 por 1 millón de tokens de entrada) para desbloquear casos de uso aún más sensibles a los costos, tolerantes a la latencia o asíncronos.
Comienza a usar incorporaciones en lote con unas pocas líneas de código:
# Crea un JSONL con tus solicitudes:
# {"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"}]}}}
desde google importa 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}")
# Espera hasta 24 horas
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 obtener más información y ver ejemplos, consulta:
Cambiar a la API de lotes de Gemini ahora es tan fácil como actualizar algunas líneas de código si usas la capa de compatibilidad con SDK de OpenAI:
desde openai importa OpenAI
openai_client = OpenAI(
api_key="GEMINI_API_KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
# Sube un archivo JSONL en formato de entrada de lotes de OpenAI…
# Crea el lote
batch = openai_client.batches.create(
input_file_id=batch_input_file_id,
endpoint="/v1/chat/completions",
completion_window="24h"
)
# Espera hasta 24 horas y solicita el estado
batch = openai_client.batches.retrieve(batch.id)
if batch.status == "completed":
# Descargar resultados…
Puedes leer más sobre la capa de compatibilidad de OpenAI y con los lotes en nuestra documentación.
Ampliamos continuamente nuestra oferta de lotes para optimizar aún más el costo de usar la API de Gemini, así que no te pierdas las próximas actualizaciones. Mientras tanto, ¡diviértete programando!