Module: Braintrust::Contrib::RubyOpenAI::Instrumentation::Moderations::InstanceMethods

Defined in:
lib/braintrust/contrib/ruby_openai/instrumentation/moderations.rb

Instance Method Summary collapse

Instance Method Details

#moderations(parameters:) ⇒ Object

Wrap moderations method for ruby-openai gem ruby-openai API: client.moderations(parameters: …)



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/braintrust/contrib/ruby_openai/instrumentation/moderations.rb', line 31

def moderations(parameters:)
  tracer = Braintrust::Contrib.tracer_for(self)

  tracer.in_span("openai.moderations.create") do |span|
     = (parameters)
    set_moderations_input(span, parameters)

    response = nil
    time_to_first_token = Braintrust::Internal::Time.measure do
      response = super(parameters: parameters)
    end

    set_moderations_output(span, response)
    set_moderations_metrics(span, time_to_first_token)
    (span, , response)

    response
  end
end