Skip to content

Commit 8ad7eb3

Browse files
authored
Merge pull request #1706 from gooddata/QA-28800-kda-skill
feat(gooddata-eval): add KDA-skill agentic evaluator
2 parents 6dd0601 + 8f83a9e commit 8ad7eb3

8 files changed

Lines changed: 1578 additions & 7 deletions

File tree

packages/gooddata-eval/src/gooddata_eval/cli/agentic_runner.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from gooddata_eval.core.agentic.conversation import ConversationFixture, evaluate_agentic_conversation
1212
from gooddata_eval.core.agentic.general_question import evaluate_agentic_general_question
1313
from gooddata_eval.core.agentic.guardrail import evaluate_agentic_guardrail
14+
from gooddata_eval.core.agentic.kda_skill import evaluate_agentic_kda_skill
1415
from gooddata_eval.core.agentic.metric_skill import evaluate_agentic_metric_skill
1516
from gooddata_eval.core.agentic.search_tool import evaluate_agentic_search_tool
1617
from gooddata_eval.core.agentic.visualization import evaluate_agentic_visualization
@@ -38,6 +39,7 @@ class _LfKw(TypedDict, total=False):
3839
"agentic_general_question",
3940
"agentic_guardrail",
4041
"agentic_conversation",
42+
"agentic_kda_skill",
4143
}
4244
)
4345

@@ -159,6 +161,16 @@ def _dispatch_agentic(
159161
k=k,
160162
**lf_kw,
161163
)
164+
elif kind == "agentic_kda_skill":
165+
evaluate_agentic_kda_skill(
166+
host=host,
167+
token=token,
168+
workspace_id=workspace_id,
169+
question=item.question,
170+
expected_output=eo if isinstance(eo, dict) else {},
171+
k=k,
172+
**lf_kw,
173+
)
162174
elif kind == "agentic_conversation":
163175
fixture_data = eo.get("fixture") or eo if isinstance(eo, dict) else {}
164176
evaluate_agentic_conversation(

packages/gooddata-eval/src/gooddata_eval/core/agentic/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@
3030
evaluate_agentic_guardrail,
3131
run_agentic_guardrail,
3232
)
33+
from gooddata_eval.core.agentic.kda_skill import (
34+
AgenticKdaSummary,
35+
KdaEvaluation,
36+
KdaRunResult,
37+
KdaSkillAssertionError,
38+
evaluate_agentic_kda_skill,
39+
run_agentic_kda_skill,
40+
)
3341
from gooddata_eval.core.agentic.metric_skill import (
3442
AgenticMetricSummary,
3543
MetricRunResult,
@@ -56,6 +64,7 @@
5664
"AgenticAlertSummary",
5765
"AgenticGeneralQuestionSummary",
5866
"AgenticGuardrailSummary",
67+
"AgenticKdaSummary",
5968
"AgenticMetricSummary",
6069
"AgenticSearchSummary",
6170
"AgenticRunSummary",
@@ -69,6 +78,9 @@
6978
"GeneralQuestionResult",
7079
"GuardrailAssertionError",
7180
"GuardrailResult",
81+
"KdaEvaluation",
82+
"KdaRunResult",
83+
"KdaSkillAssertionError",
7284
"MetricRunResult",
7385
"MetricSkillAssertionError",
7486
"RunResult",
@@ -81,13 +93,15 @@
8193
"evaluate_agentic_conversation",
8294
"evaluate_agentic_general_question",
8395
"evaluate_agentic_guardrail",
96+
"evaluate_agentic_kda_skill",
8497
"evaluate_agentic_metric_skill",
8598
"evaluate_agentic_search_tool",
8699
"evaluate_agentic_visualization",
87100
"run_agentic_alert_skill",
88101
"run_agentic_conversation",
89102
"run_agentic_general_question",
90103
"run_agentic_guardrail",
104+
"run_agentic_kda_skill",
91105
"run_agentic_metric_skill",
92106
"run_agentic_search_tool",
93107
"run_agentic_visualization",

0 commit comments

Comments
 (0)