[bot] RubyLLM.rerank not instrumented
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 62/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- ruby
- Ambito
- observability
Direzione di ricerca
Start with patchers in lib/braintrust/contrib/ruby_llm/integration.rb (around line 49), which currently returns only ChatPatcher, and read patcher.rb and instrumentation/chat.rb to see how that patcher is structured. Add a rerank patcher and instrumentation alongside them that wraps RubyLLM::Rerank.rerank and records the query, document count, provider, model, top_n and returned scores. Done when a rerank call produces a span with those attributes.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
<!-- provider-gap-audit: ruby-llm-rerank-not-instrumented -->
Summary
ruby_llm ships a standalone reranking API, RubyLLM.rerank / RubyLLM::Rerank.rerank, available across multiple provider backends (Cohere, Bedrock, Vertex AI, Azure, OpenRouter, GPUStack). Like embeddings, it is a distinct, non-streaming model-inference call (query + candidate documents in, relevance-ordered results + scores out) outside Chat, and it is completely uninstrumented.
This is the same category of gap already tracked for RubyLLM.embed/.paint/.transcribe in #136, which did not cover reranking.
What is missing
The ruby_llm integration registers exactly one patcher (ChatPatcher; see lib/braintrust/contrib/ruby_llm/integration.rb:49), and lib/braintrust/contrib/ruby_llm/instrumentation/ contains only chat.rb and common.rb. There is no patcher for RubyLLM::Rerank.rerank.
RubyLLM.rerank(query, documents, model:, provider: nil, top_n: nil, ...) requires an explicit model: (no default, since rerank catalogs differ per provider) and returns a RubyLLM::Rerank::Result set with index, document, score per entry, plus model and raw provider response. Expected instrumentation: a span per rerank call capturing the query, document count, resolved provider/model, top_n, and the returned ordering/scores — mirroring the model/provider/usage capture already done for ChatPatcher.
Braintrust docs status
not_found — https://www.braintrust.dev/docs/integrations/sdk-integrations/ruby-llm documents chat completion spans, tool execution spans, token usage, streaming, and multimodal content for the ruby_llm integration. No mention of reranking anywhere on the page, and no embedding-specific surface is mentioned either (consistent with #136 covering that gap separately).
Upstream sources
- Official guide: https://rubyllm.com/rerank/
- API reference: https://rubyllm.com/api/RubyLLM/Rerank.html
- Release notes: https://github.com/crmne/ruby_llm/releases — v2.0.0 (2026-09-18) describes provider rerank support (e.g. Cohere: "Standalone operations cover text and image embeddings, reranking, transcription"); v2.0.0.rc3 (2026-09-14) already fixes rerank edge cases ("Reject invalid reranking document indices..."), confirming the feature is a stable, released surface by the SDK's current
ruby_llm >= 2.0"latest" appraisal target
Local repo files inspected
lib/braintrust/contrib/ruby_llm/integration.rb(line 49) —patchersreturns only[ChatPatcher]lib/braintrust/contrib/ruby_llm/patcher.rb— only definesChatPatcherlib/braintrust/contrib/ruby_llm/instrumentation/— contains onlychat.rb,common.rb; norerank.rb- Grep for
rerank/Rerankacrosslib/— zero matches Appraisals—ruby_llm"latest" constraint is>= 2.0, i.e. the version range this SDK already tests against includes rerank support
- 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 1-2 giorni Idoneità per principianti 45/100
braintrustdata/braintrust-sdk-ruby#228 ·
I maintainer di solito rispondono entro 1 giorno
-
ruby
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
braintrustdata/braintrust-sdk-ruby#227 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di braintrustdata/braintrust-sdk-ruby
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
WikiEducationFoundation/WikiEduDashboard#7157 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
aws/homebrew-aws#68 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Missing `hedeleg` fieldsApertadata entry
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
riscv/riscv-unified-db#2746 ·
I maintainer di solito rispondono entro 1 giorno