[BOT ISSUE] RubyLLM embed, paint, and transcribe APIs not instrumented
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 72/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- ruby
- Lĩnh vực
- observability
Hướng nghiên cứu
Bắt đầu với lib/braintrust/contrib/ruby_llm/patcher.rb và lib/braintrust/contrib/ruby_llm/instrumentation/chat.rb để hiểu instrumentation hiện có của ChatPatcher và Chat#complete. Sau đó kiểm tra lib/braintrust/contrib/ruby_llm/integration.rb, hiện chỉ đăng ký ChatPatcher. Công việc được xem là hoàn tất khi RubyLLM.embed, RubyLLM.paint và RubyLLM.transcribe được instrument cùng với các chat API hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
RubyLLM provides three AI inference APIs beyond chat completions — RubyLLM.embed, RubyLLM.paint, and RubyLLM.transcribe — none of which are instrumented by this SDK. The current RubyLLM integration only instruments Chat#complete and Chat#execute_tool.
What is missing
1. Embeddings — RubyLLM::Embedding.embed / RubyLLM.embed
Creates vector embeddings from text. Returns an Embedding object with vectors, model, and input_tokens. Supports provider/model selection and dimensions parameter. This is a core inference API used for RAG and semantic search.
2. Image generation — RubyLLM::Image.paint / RubyLLM.paint
Generates images from text prompts. Returns an Image object with url, data, mime_type, revised_prompt, model_id. Supports model/provider/size selection.
3. Audio transcription — RubyLLM::Transcription.transcribe / RubyLLM.transcribe
Converts audio files to text. Returns a Transcription object with text, model, language, duration, segments, input_tokens, output_tokens. Has built-in token tracking useful for cost attribution.
All three are stable public APIs available since RubyLLM 1.8+ (the minimum version this SDK targets). Each is a single-method call with a simple request/response pattern (no streaming), making instrumentation straightforward.
Braintrust docs status
not_found — The Braintrust RubyLLM integration docs at https://www.braintrust.dev/docs/integrations/ai-sdks/ruby-llm describe support for chat completions across multiple providers and tool/function call tracing but do not mention embeddings, image generation, or transcription.
Upstream sources
- RubyLLM GitHub: https://github.com/crmne/ruby_llm
- RubyLLM docs for embeddings: https://rubyllm.com/guides/embeddings
- RubyLLM docs for image generation: https://rubyllm.com/guides/image-generation
- RubyLLM docs for audio transcription: https://rubyllm.com/guides/audio-transcription
- RubyLLM changelog: https://github.com/crmne/ruby_llm/releases — all three features predate the 1.8 minimum version
Local repo files inspected
lib/braintrust/contrib/ruby_llm/patcher.rb— defines onlyChatPatcher, noEmbeddingPatcher,ImagePatcher, orTranscriptionPatcherlib/braintrust/contrib/ruby_llm/instrumentation/chat.rb— only wrapsChat#completeandChat#execute_toollib/braintrust/contrib/ruby_llm/integration.rb— registers only theChatPatcher
- Ngôn ngữ chính
- Ruby
- Star
- 9
- Fork
- 10
- Merge trung bình
- 22 giờ 10 phút
- Pull request đã merge (30 ngày)
- 6
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của braintrustdata/braintrust-sdk-ruby
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
[BOT ISSUE] OpenAI Chat Completions missing reasoning model and web search metadata parameters Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 38/100
Tất cả issue của braintrustdata/braintrust-sdk-ruby
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
hanami/hanami-cli#449 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
resque/resque-scheduler#826 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100