Class: Langfuse::Evaluators::ContainsEvaluator
- Inherits:
-
BaseEvaluator
- Object
- BaseEvaluator
- Langfuse::Evaluators::ContainsEvaluator
- Defined in:
- lib/langfuse/evaluation.rb
Instance Method Summary collapse
- #evaluate(input, output, expected: nil, context: nil) ⇒ Object
-
#initialize(name: 'contains', description: 'Contains evaluator', case_sensitive: false) ⇒ ContainsEvaluator
constructor
A new instance of ContainsEvaluator.
Constructor Details
#initialize(name: 'contains', description: 'Contains evaluator', case_sensitive: false) ⇒ ContainsEvaluator
Returns a new instance of ContainsEvaluator.
102 103 104 105 |
# File 'lib/langfuse/evaluation.rb', line 102 def initialize(name: 'contains', description: 'Contains evaluator', case_sensitive: false) super(name: name, description: description) @case_sensitive = case_sensitive end |
Instance Method Details
#evaluate(input, output, expected: nil, context: nil) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/langfuse/evaluation.rb', line 107 def evaluate(input, output, expected: nil, context: nil) return create_score(value: 0, comment: 'No expected value provided') unless expected output_str = @case_sensitive ? output.to_s : output.to_s.downcase expected_str = @case_sensitive ? expected.to_s : expected.to_s.downcase score = output_str.include?(expected_str) ? 1 : 0 create_score( value: score, comment: score == 1 ? 'Contains expected text' : 'Does not contain expected text' ) end |