Module: LlmCostTracker::Integrations::RubyLlm::ProviderPatch
- Defined in:
- lib/llm_cost_tracker/integrations/ruby_llm.rb
Instance Method Summary collapse
- #complete(*args, **kwargs) ⇒ Object
- #embed(*args, **kwargs) ⇒ Object
- #moderate(*args, **kwargs) ⇒ Object
- #paint(*args, **kwargs) ⇒ Object
- #transcribe(*args, **kwargs) ⇒ Object
Instance Method Details
#complete(*args, **kwargs) ⇒ Object
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 |
# File 'lib/llm_cost_tracker/integrations/ruby_llm.rb', line 200 def complete(*args, **kwargs, &) integration = LlmCostTracker::Integrations::RubyLlm request = integration.request_params(args, kwargs) integration.enforce_budget!(request: request) started_at = LlmCostTracker::Timing.now_monotonic response = super integration.record_completion( self, response, request: request, latency_ms: LlmCostTracker::Timing.elapsed_ms(started_at), stream: integration.streaming_request?(request, has_block: block_given?) ) response end |
#embed(*args, **kwargs) ⇒ Object
216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/llm_cost_tracker/integrations/ruby_llm.rb', line 216 def (*args, **kwargs) integration = LlmCostTracker::Integrations::RubyLlm request = integration.request_params(args, kwargs) integration.enforce_budget!(request: request) started_at = LlmCostTracker::Timing.now_monotonic response = super integration.( self, response, request: request, latency_ms: LlmCostTracker::Timing.elapsed_ms(started_at) ) response end |
#moderate(*args, **kwargs) ⇒ Object
261 262 263 264 265 266 267 268 269 270 271 272 273 274 |
# File 'lib/llm_cost_tracker/integrations/ruby_llm.rb', line 261 def moderate(*args, **kwargs) integration = LlmCostTracker::Integrations::RubyLlm request = integration.request_params(args, kwargs) integration.enforce_budget!(request: request) started_at = LlmCostTracker::Timing.now_monotonic response = super integration.record_moderation( self, response, request: request, latency_ms: LlmCostTracker::Timing.elapsed_ms(started_at) ) response end |
#paint(*args, **kwargs) ⇒ Object
246 247 248 249 250 251 252 253 254 255 256 257 258 259 |
# File 'lib/llm_cost_tracker/integrations/ruby_llm.rb', line 246 def paint(*args, **kwargs) integration = LlmCostTracker::Integrations::RubyLlm request = integration.request_params(args, kwargs) integration.enforce_budget!(request: request) started_at = LlmCostTracker::Timing.now_monotonic response = super integration.record_image( self, response, request: request, latency_ms: LlmCostTracker::Timing.elapsed_ms(started_at) ) response end |
#transcribe(*args, **kwargs) ⇒ Object
231 232 233 234 235 236 237 238 239 240 241 242 243 244 |
# File 'lib/llm_cost_tracker/integrations/ruby_llm.rb', line 231 def transcribe(*args, **kwargs) integration = LlmCostTracker::Integrations::RubyLlm request = integration.request_params(args, kwargs) integration.enforce_budget!(request: request) started_at = LlmCostTracker::Timing.now_monotonic response = super integration.record_transcription( self, response, request: request, latency_ms: LlmCostTracker::Timing.elapsed_ms(started_at) ) response end |