Class: Paid::Tracing::Wrappers::PaidOpenAI
- Inherits:
-
Object
- Object
- Paid::Tracing::Wrappers::PaidOpenAI
- Defined in:
- lib/paid_ruby/tracing/wrappers/open_ai_wrapper.rb
Overview
A wrapper around the OpenAI::Client that provides automatic tracing for API calls.
Defined Under Namespace
Classes: ImagesWrapper
Instance Method Summary collapse
-
#chat(parameters:) ⇒ Object
Wraps the OpenAI#chat method to create a child span.
-
#embeddings(parameters:) ⇒ Object
Wraps the OpenAI#embeddings method to create a child span.
-
#images ⇒ Object
Returns a wrapper for the images API.
-
#initialize(openai_client:) ⇒ PaidOpenAI
constructor
A new instance of PaidOpenAI.
Constructor Details
#initialize(openai_client:) ⇒ PaidOpenAI
Returns a new instance of PaidOpenAI.
11 12 13 14 |
# File 'lib/paid_ruby/tracing/wrappers/open_ai_wrapper.rb', line 11 def initialize(openai_client:) @openai_client = openai_client @tracer = OpenTelemetry.tracer_provider.tracer("paid.ruby") end |
Instance Method Details
#chat(parameters:) ⇒ Object
Wraps the OpenAI#chat method to create a child span.
17 18 19 20 21 |
# File 'lib/paid_ruby/tracing/wrappers/open_ai_wrapper.rb', line 17 def chat(parameters:) wrap_call(operation: "chat", model: parameters[:model]) do @openai_client.chat(parameters: parameters) end end |
#embeddings(parameters:) ⇒ Object
Wraps the OpenAI#embeddings method to create a child span.
24 25 26 27 28 |
# File 'lib/paid_ruby/tracing/wrappers/open_ai_wrapper.rb', line 24 def (parameters:) wrap_call(operation: "embeddings", model: parameters[:model]) do @openai_client.(parameters: parameters) end end |
#images ⇒ Object
Returns a wrapper for the images API.
31 32 33 |
# File 'lib/paid_ruby/tracing/wrappers/open_ai_wrapper.rb', line 31 def images ImagesWrapper.new(openai_client: @openai_client, tracer: @tracer) end |