Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[bot] OpenAI Batch API (`client.batches.create`) not instrumented (openai + ruby-openai gems)

Abierto
#196 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
55/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
ruby

Línea de trabajo

Comienza con lib/braintrust/contrib/openai/patcher.rb y su directorio de instrumentación, y después compara los archivos correspondientes bajo lib/braintrust/contrib/ruby_openai/. Añade cobertura para la llamada batches.create en ambas integraciones, capturando las entradas y los metadatos indicados, mientras dejas fuera del alcance la recuperación asíncrona; la tarea estará completada cuando ambos gems expongan instrumentación para el envío de batches coherente con los patchers existentes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary

Both the official openai gem and the community ruby-openai gem expose OpenAI's Batch API (client.batches.create), which submits up to 50,000 queued generation requests (chat completions, responses, embeddings, moderations, images, or videos) for asynchronous processing at reduced cost. This is the OpenAI-gem counterpart to two gaps already tracked in this repo for other providers/gems — Anthropic's Message Batches API (#169) and RubyLLM's RubyLLM.batch (#193) — but the equivalent surface for the openai/ruby-openai gems themselves has no instrumentation at all.

What is missing

OpenAI::Resources::Batches#create(completion_window:, endpoint:, input_file_id:, ...) (official gem) and the equivalent client.batches.create(...) on ruby-openai submit a batch job referencing an uploaded JSONL file of requests targeting one of /v1/responses, /v1/chat/completions, /v1/embeddings, /v1/completions, /v1/moderations, /v1/images/generations, /v1/images/edits, or /v1/videos. This is the generative-execution-initiating call for the batch — no Patcher in this repo wraps it.

batch = client.batches.create(
  completion_window: :"24h",
  endpoint: :"/v1/chat/completions",
  input_file_id: "input_file_id"
)
What a span should capture
  • Input: input_file_id, endpoint (which underlying generative API the batch targets), completion_window
  • Metadata: provider (openai), batch id, status on creation, any request-level metadata param
  • Metrics: request_counts once available (total/completed/failed), latency of the create call

Because results are retrieved asynchronously via file download (a CRUD/retrieval operation, out of scope per this audit), the actionable instrumentation point is the create call itself — matching the pattern already proposed for the Anthropic Messages Batches and RubyLLM.batch gaps in this repo.

Braintrust docs status

not_found — https://www.braintrust.dev/docs/integrations/ai-providers/openai documents chat completions, streaming, structured outputs, tool calling, audio transcription, and multimodal content, but does not mention the Batch API in any language.

Upstream sources

Local repo files inspected

  • lib/braintrust/contrib/openai/patcher.rb — defines ChatPatcher, ResponsesPatcher, ModerationsPatcher; no BatchesPatcher
  • lib/braintrust/contrib/openai/instrumentation/ — contains chat.rb, responses.rb, moderations.rb, common.rb; no batches.rb
  • lib/braintrust/contrib/ruby_openai/patcher.rb — same three patchers registered; no batches equivalent
  • lib/braintrust/contrib/ruby_openai/instrumentation/ — same file set as official gem integration; no batches.rb
  • Grep for batch, Batch, Batches across lib/braintrust/contrib/openai/ and lib/braintrust/contrib/ruby_openai/ returns zero matches
  • Issue #169 (Anthropic Messages Batch API) and #193 (RubyLLM.batch) establish the precedent that batch-submission APIs are in-scope generative execution surfaces for this SDK
Lenguaje dominante
Ruby
Estrellas
9
Forks
11
Merge medio
3 d 43 min
PR fusionados (30 d)
9

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de braintrustdata/braintrust-sdk-ruby

Todos los issues de braintrustdata/braintrust-sdk-ruby

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.