Class: Langfuse::Evaluators::SimilarityEvaluator
- Inherits:
-
BaseEvaluator
- Object
- BaseEvaluator
- Langfuse::Evaluators::SimilarityEvaluator
- Defined in:
- lib/langfuse/evaluation.rb
Instance Method Summary collapse
- #evaluate(input, output, expected: nil, context: nil) ⇒ Object
-
#initialize(name: 'similarity', description: 'Similarity evaluator') ⇒ SimilarityEvaluator
constructor
A new instance of SimilarityEvaluator.
Constructor Details
#initialize(name: 'similarity', description: 'Similarity evaluator') ⇒ SimilarityEvaluator
Returns a new instance of SimilarityEvaluator.
171 172 173 |
# File 'lib/langfuse/evaluation.rb', line 171 def initialize(name: 'similarity', description: 'Similarity evaluator') super(name: name, description: description) end |
Instance Method Details
#evaluate(input, output, expected: nil, context: nil) ⇒ Object
175 176 177 178 179 180 181 182 183 184 185 186 |
# File 'lib/langfuse/evaluation.rb', line 175 def evaluate(input, output, expected: nil, context: nil) return create_score(value: 0, comment: 'No expected value provided') unless expected # Simple character-based similarity (Levenshtein distance) similarity = calculate_similarity(output.to_s, expected.to_s) create_score( value: similarity, data_type: 'NUMERIC', comment: "Similarity: #{(similarity * 100).round(2)}%" ) end |