Class: Qualspec::Suite::Candidate
- Inherits:
-
Object
- Object
- Qualspec::Suite::Candidate
- Defined in:
- lib/qualspec/suite/candidate.rb
Instance Attribute Summary collapse
-
#model ⇒ Object
readonly
Returns the value of attribute model.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#system_prompt ⇒ Object
readonly
Returns the value of attribute system_prompt.
Instance Method Summary collapse
- #generate_response(prompt:, system_prompt: nil, temperature: nil) ⇒ Object
-
#initialize(name, model:, system_prompt: nil, **options) ⇒ Candidate
constructor
A new instance of Candidate.
Constructor Details
#initialize(name, model:, system_prompt: nil, **options) ⇒ Candidate
Returns a new instance of Candidate.
8 9 10 11 12 13 |
# File 'lib/qualspec/suite/candidate.rb', line 8 def initialize(name, model:, system_prompt: nil, **) @name = name.to_s @model = model @system_prompt = system_prompt @options = end |
Instance Attribute Details
#model ⇒ Object (readonly)
Returns the value of attribute model.
6 7 8 |
# File 'lib/qualspec/suite/candidate.rb', line 6 def model @model end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/qualspec/suite/candidate.rb', line 6 def name @name end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
6 7 8 |
# File 'lib/qualspec/suite/candidate.rb', line 6 def @options end |
#system_prompt ⇒ Object (readonly)
Returns the value of attribute system_prompt.
6 7 8 |
# File 'lib/qualspec/suite/candidate.rb', line 6 def system_prompt @system_prompt end |
Instance Method Details
#generate_response(prompt:, system_prompt: nil, temperature: nil) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/qualspec/suite/candidate.rb', line 15 def generate_response(prompt:, system_prompt: nil, temperature: nil) = [] sys = system_prompt || @system_prompt << { role: 'system', content: sys } if sys << { role: 'user', content: prompt } Qualspec.client.chat( model: @model, messages: , json_mode: false, # We want natural responses, not JSON temperature: normalize_temperature(temperature) ) end |