pub trait GenerationMetric: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn metric_type(&self) -> GenerationMetricType;
fn evaluate_query(
&self,
query: &str,
generated_answer: &str,
reference_answer: Option<&str>,
context: Option<&[String]>,
) -> RragResult<f32>;
fn get_config(&self) -> GenerationMetricConfig;
// Provided method
fn evaluate_batch(
&self,
queries: &[String],
generated_answers: &[String],
reference_answers: &[Option<String>],
contexts: &[Option<Vec<String>>],
) -> RragResult<Vec<f32>> { ... }
}Expand description
Trait for generation evaluation metrics
Required Methods§
Sourcefn metric_type(&self) -> GenerationMetricType
fn metric_type(&self) -> GenerationMetricType
Metric type
Sourcefn evaluate_query(
&self,
query: &str,
generated_answer: &str,
reference_answer: Option<&str>,
context: Option<&[String]>,
) -> RragResult<f32>
fn evaluate_query( &self, query: &str, generated_answer: &str, reference_answer: Option<&str>, context: Option<&[String]>, ) -> RragResult<f32>
Evaluate metric for a single query
Sourcefn get_config(&self) -> GenerationMetricConfig
fn get_config(&self) -> GenerationMetricConfig
Get metric configuration