From e6e668d1d9a636a1d80bcb0c56c34e029293468a Mon Sep 17 00:00:00 2001 From: FFXN Date: Tue, 17 Mar 2026 16:08:57 +0800 Subject: [PATCH] feat: Adapt EvaluationMetricName. --- api/core/evaluation/entities/evaluation_entity.py | 6 ++++++ api/services/evaluation_service.py | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/api/core/evaluation/entities/evaluation_entity.py b/api/core/evaluation/entities/evaluation_entity.py index 13cfa70ae4..9a5a2b2b00 100644 --- a/api/core/evaluation/entities/evaluation_entity.py +++ b/api/core/evaluation/entities/evaluation_entity.py @@ -64,6 +64,12 @@ WORKFLOW_METRIC_NAMES: list[EvaluationMetricName] = [ EvaluationMetricName.ANSWER_CORRECTNESS, ] +METRIC_NODE_TYPE_MAPPING: dict[str, str] = { + **{m.value: "llm" for m in LLM_METRIC_NAMES}, + **{m.value: "knowledge-retrieval" for m in RETRIEVAL_METRIC_NAMES}, + **{m.value: "agent" for m in AGENT_METRIC_NAMES}, +} + class EvaluationMetric(BaseModel): name: str diff --git a/api/services/evaluation_service.py b/api/services/evaluation_service.py index 74d4ed0335..9154743a5a 100644 --- a/api/services/evaluation_service.py +++ b/api/services/evaluation_service.py @@ -11,12 +11,12 @@ from sqlalchemy.orm import Session from configs import dify_config from core.evaluation.entities.evaluation_entity import ( - EVALUATION_METRICS, METRIC_NODE_TYPE_MAPPING, DefaultMetric, EvaluationCategory, EvaluationConfigData, EvaluationDatasetInput, + EvaluationMetricName, EvaluationRunData, EvaluationRunRequest, NodeInfo, @@ -429,7 +429,7 @@ class EvaluationService: @staticmethod def get_available_metrics() -> list[str]: """Return the centrally-defined list of evaluation metrics.""" - return list(EVALUATION_METRICS) + return [m.value for m in EvaluationMetricName] @classmethod def get_nodes_for_metrics(