Module: LlmCostTracker
- Defined in:
- lib/llm_cost_tracker.rb,
lib/llm_cost_tracker/budget.rb,
lib/llm_cost_tracker/errors.rb,
lib/llm_cost_tracker/pricing.rb,
lib/llm_cost_tracker/railtie.rb,
lib/llm_cost_tracker/tracker.rb,
lib/llm_cost_tracker/version.rb,
lib/llm_cost_tracker/llm_api_call.rb,
lib/llm_cost_tracker/parsers/base.rb,
lib/llm_cost_tracker/configuration.rb,
lib/llm_cost_tracker/event_metadata.rb,
lib/llm_cost_tracker/parsers/gemini.rb,
lib/llm_cost_tracker/parsers/openai.rb,
lib/llm_cost_tracker/price_registry.rb,
lib/llm_cost_tracker/unknown_pricing.rb,
lib/llm_cost_tracker/parsers/registry.rb,
lib/llm_cost_tracker/parsers/anthropic.rb,
lib/llm_cost_tracker/middleware/faraday.rb,
lib/llm_cost_tracker/parsers/openai_compatible.rb,
lib/llm_cost_tracker/storage/active_record_store.rb,
lib/llm_cost_tracker/generators/llm_cost_tracker/install_generator.rb,
lib/llm_cost_tracker/generators/llm_cost_tracker/add_latency_ms_generator.rb,
lib/llm_cost_tracker/generators/llm_cost_tracker/upgrade_tags_to_jsonb_generator.rb,
lib/llm_cost_tracker/generators/llm_cost_tracker/upgrade_cost_precision_generator.rb
Defined Under Namespace
Modules: EventMetadata, Generators, Middleware, Parsers, PriceRegistry, Pricing, Storage
Classes: Budget, BudgetExceededError, Configuration, Error, LlmApiCall, Railtie, StorageError, Tracker, UnknownPricing, UnknownPricingError
Constant Summary
collapse
- CONFIGURATION_MUTEX =
Mutex.new
- VERSION =
"0.1.2"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Method Details
33
34
35
36
37
|
# File 'lib/llm_cost_tracker.rb', line 33
def configure
yield(configuration)
configuration.normalize_openai_compatible_providers!
warn_for_configuration!
end
|
.reset_configuration! ⇒ Object
.track(provider:, model:, input_tokens:, output_tokens:, latency_ms: nil, **metadata) ⇒ Object
Manual tracking for non-Faraday clients
LlmCostTracker.track(
provider: :openai,
model: "gpt-4o",
input_tokens: 150,
output_tokens: 50,
feature: "chat",
user_id: current_user.id
)
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/llm_cost_tracker.rb', line 53
def track(provider:, model:, input_tokens:, output_tokens:, latency_ms: nil, **metadata)
Tracker.record(
provider: provider.to_s,
model: model,
input_tokens: input_tokens,
output_tokens: output_tokens,
latency_ms: latency_ms,
metadata: metadata
)
end
|