Update RAG evaluation metrics to use class instances instead of objects

• Import metric classes not instances
• Instantiate metrics with () syntax
This commit is contained in:
yangdx 2025-11-04 15:56:57 +08:00
parent 7abc687742
commit 4e4b8d7e25

View file

@ -52,10 +52,10 @@ try:
from datasets import Dataset from datasets import Dataset
from ragas import evaluate from ragas import evaluate
from ragas.metrics import ( from ragas.metrics import (
answer_relevancy, AnswerRelevancy,
context_precision, ContextPrecision,
context_recall, ContextRecall,
faithfulness, Faithfulness,
) )
from ragas.llms import LangchainLLMWrapper from ragas.llms import LangchainLLMWrapper
from langchain_openai import ChatOpenAI, OpenAIEmbeddings from langchain_openai import ChatOpenAI, OpenAIEmbeddings
@ -399,10 +399,10 @@ class RAGEvaluator:
eval_results = evaluate( eval_results = evaluate(
dataset=eval_dataset, dataset=eval_dataset,
metrics=[ metrics=[
faithfulness, Faithfulness(),
answer_relevancy, AnswerRelevancy(),
context_recall, ContextRecall(),
context_precision, ContextPrecision(),
], ],
llm=self.eval_llm, llm=self.eval_llm,
embeddings=self.eval_embeddings, embeddings=self.eval_embeddings,