Module: PromptWarden

Defined in:
lib/prompt_warden.rb,
lib/prompt_warden/cli.rb,
lib/prompt_warden/event.rb,
lib/prompt_warden/buffer.rb,
lib/prompt_warden/policy.rb,
lib/prompt_warden/adapter.rb,
lib/prompt_warden/railtie.rb,
lib/prompt_warden/version.rb,
lib/prompt_warden/uploader.rb,
lib/prompt_warden/configuration.rb,
lib/prompt_warden/cost_calculator.rb,
lib/prompt_warden/instrumentation/openai.rb,
lib/prompt_warden/instrumentation/anthropic.rb,
lib/prompt_warden/instrumentation/langchain.rb

Defined Under Namespace

Modules: Adapter, CLI, Instrumentation Classes: Buffer, Configuration, CostCalculator, Event, Policy, PolicyError, Railtie, Uploader

Constant Summary collapse

VERSION =
'0.1.1'

Class Method Summary collapse

Class Method Details

.calculate_cost(prompt:, model:, response_tokens: nil) ⇒ Object



24
25
26
# File 'lib/prompt_warden.rb', line 24

def calculate_cost(prompt:, model:, response_tokens: nil)
  CostCalculator.calculate_cost(prompt: prompt, model: model, response_tokens: response_tokens)
end

.configurationObject



16
# File 'lib/prompt_warden.rb', line 16

def configuration    = (@configuration ||= Configuration.new)

.configureObject



17
# File 'lib/prompt_warden.rb', line 17

def configure        = yield(configuration).tap { configuration.validate! }

.record(event_attrs) ⇒ Object



20
21
22
# File 'lib/prompt_warden.rb', line 20

def record(event_attrs)
  buffer.push(Event.new(**event_attrs))
end

.reset!Object



18
# File 'lib/prompt_warden.rb', line 18

def reset!           = (@configuration = nil)