Class: NitroIntelligence::Client::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/nitro_intelligence/client/factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(observability_project_slug:) ⇒ Factory

Returns a new instance of Factory.



9
10
11
# File 'lib/nitro_intelligence/client/factory.rb', line 9

def initialize(observability_project_slug:)
  @observability_project_slug = observability_project_slug
end

Instance Method Details

#buildObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/nitro_intelligence/client/factory.rb', line 13

def build
  if @observability_project_slug.present?
    begin
      return Client::Observed.new(
        client: inference_client,
        observer: Client::Observers::LangfuseObserver.new(project_client: fetch_project_client)
      )
    rescue NitroIntelligence::Observability::ProjectClient::NotFoundError,
           NitroIntelligence::Observability::Project::NotFoundError => e
      NitroIntelligence.logger.warn(
        "#{self.class} #{e} - Error raised initializing project - Falling back to base client (no observability)"
      )
    end
  end

  Client::Base.new(
    client: inference_client
  )
end