Class: CleoQualityReview::LlmClient

Inherits:
Object
  • Object
show all
Defined in:
lib/cleo_quality_review/llm_client.rb

Overview

Client for generating LLM reviews using configured provider

Instance Method Summary collapse

Constructor Details

#initialize(config: LlmConfig.new, log: false) ⇒ LlmClient

Returns a new instance of LlmClient.

Parameters:

  • config (LlmConfig) (defaults to: LlmConfig.new)
  • log (Boolean) (defaults to: false)

    whether to log queries and responses



14
15
16
17
18
# File 'lib/cleo_quality_review/llm_client.rb', line 14

def initialize(config: LlmConfig.new, log: false)
  @config = config
  @logger = LlmLogger.new(provider_name: config.provider, enabled: log)
  provider.validate_config(config)
end

Instance Method Details

#generate_review(prompt) ⇒ String

Generate a review from the given prompt

Parameters:

  • prompt (String)

Returns:

  • (String)

    the generated review



24
25
26
27
28
29
# File 'lib/cleo_quality_review/llm_client.rb', line 24

def generate_review(prompt)
  generate_with_logging(prompt)
rescue StandardError => e
  log_error(prompt, e)
  raise
end