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, instructions: nil) ⇒ String

Generate a review from the given prompt

Parameters:

  • prompt (String)

    the format-specific prompt sent as input

  • instructions (String, nil) (defaults to: nil)

    shared configuration prompt applied to every run

Returns:

  • (String)

    the generated review



26
27
28
29
30
31
# File 'lib/cleo_quality_review/llm_client.rb', line 26

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