[bot] OpenAI Batch API (`client.batches.create`) not instrumented (openai + ruby-openai gems)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- ruby
- Ambito
- api, observability
Direzione di ricerca
Inizia da lib/braintrust/contrib/openai/patcher.rb e dalla relativa directory di strumentazione, quindi confronta i file corrispondenti sotto lib/braintrust/contrib/ruby_openai/. Aggiungi la copertura per la chiamata batches.create in entrambe le integrazioni, acquisendo gli input e i metadati elencati, lasciando fuori dall’ambito il recupero asincrono; il lavoro è completato quando entrambi i gem espongono la strumentazione per l’invio dei batch coerente con i patcher esistenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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), batchid,statuson creation, any request-levelmetadataparam - Metrics:
request_countsonce available (total/completed/failed), latency of thecreatecall
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
- Official OpenAI Ruby SDK
Batchesresource: https://developers.openai.com/api/reference/ruby/resources/batches/methods/create - OpenAI Batch API guide: https://developers.openai.com/api/docs/guides/batch
ruby-openaigem (alexrudall), which documents batches support: https://github.com/alexrudall/ruby-openai
Local repo files inspected
lib/braintrust/contrib/openai/patcher.rb— definesChatPatcher,ResponsesPatcher,ModerationsPatcher; noBatchesPatcherlib/braintrust/contrib/openai/instrumentation/— containschat.rb,responses.rb,moderations.rb,common.rb; nobatches.rblib/braintrust/contrib/ruby_openai/patcher.rb— same three patchers registered; no batches equivalentlib/braintrust/contrib/ruby_openai/instrumentation/— same file set as official gem integration; nobatches.rb- Grep for
batch,Batch,Batchesacrosslib/braintrust/contrib/openai/andlib/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
- Lingua principale
- Ruby
- Stelle
- 9
- Fork
- 10
- Merge medio
- 3g 43m
- PR unite (30g)
- 9
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di braintrustdata/braintrust-sdk-ruby
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
braintrustdata/braintrust-sdk-ruby#155 ·
I maintainer di solito rispondono entro 1 giorno
-
[BOT ISSUE] OpenAI Chat Completions missing reasoning model and web search metadata parametersAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
braintrustdata/braintrust-sdk-ruby#143 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
braintrustdata/braintrust-sdk-ruby#137 ·
I maintainer di solito rispondono entro 1 giorno
-
ruby
Difficoltà 3/5 Mezza giornata Idoneità per principianti 62/100
braintrustdata/braintrust-sdk-ruby#229 ·
I maintainer di solito rispondono entro 1 giorno
-
ruby
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
braintrustdata/braintrust-sdk-ruby#228 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di braintrustdata/braintrust-sdk-ruby
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
TheOdinProject/curriculum#31465 ·
I maintainer di solito rispondono entro 1 giorno
-
agent:triaged bug bughunt pm:bundler priority:p1
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
SocketDev/socket-patch#1573 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Generated server webpack config keeps Rspack's manifest and CSS extraction pluginsForse già presa @justin808 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
shakacode/react_on_rails#5184 ·
I maintainer di solito rispondono entro 1 giorno
-
bug chat verified
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 6 giorni
-
🐞 bug pending triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
CircuitVerse/CircuitVerse#8031 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno