feat: link ai quality actions to changes
This commit is contained in:
@@ -345,6 +345,10 @@ class AiQualityImprovementActionCreate(BaseModel):
|
||||
source_label_codes: list[str] = Field(default_factory=list)
|
||||
source_run_ids: list[str] = Field(default_factory=list)
|
||||
root_cause_hint: str | None = None
|
||||
linked_prompt_template_id: str | None = None
|
||||
linked_prompt_template_version: str | None = None
|
||||
linked_knowledge_base_id: str | None = None
|
||||
linked_import_batch_id: str | None = None
|
||||
evaluation_days: int = 14
|
||||
|
||||
|
||||
@@ -353,6 +357,10 @@ class AiQualityImprovementActionUpdate(BaseModel):
|
||||
owner: str | None = Field(default=None, max_length=128)
|
||||
priority: str | None = None
|
||||
resolution_note: str | None = None
|
||||
linked_prompt_template_id: str | None = None
|
||||
linked_prompt_template_version: str | None = None
|
||||
linked_knowledge_base_id: str | None = None
|
||||
linked_import_batch_id: str | None = None
|
||||
|
||||
|
||||
class AiQualityImprovementAction(AiQualityImprovementActionCreate):
|
||||
|
||||
@@ -115,6 +115,10 @@ def test_ai_platform_client_covers_admin_data_endpoints() -> None:
|
||||
"source_label_codes": ["source_limited"],
|
||||
"source_run_ids": ["run-1"],
|
||||
"root_cause_hint": "Model quality issues are concentrated.",
|
||||
"linked_prompt_template_id": "prompt-1",
|
||||
"linked_prompt_template_version": "v2",
|
||||
"linked_knowledge_base_id": "laws-cn",
|
||||
"linked_import_batch_id": "kb-batch-1",
|
||||
"evaluation_days": 7,
|
||||
"baseline_total_runs": 1,
|
||||
"baseline_affected_runs": 1,
|
||||
@@ -621,6 +625,7 @@ def test_ai_platform_client_covers_admin_data_endpoints() -> None:
|
||||
assert payload["dimension"] == "model"
|
||||
assert payload["action_type"] == "tune_model"
|
||||
assert payload["source_label_codes"] == ["source_limited"]
|
||||
assert payload["linked_prompt_template_id"] == "prompt-1"
|
||||
return httpx.Response(200, json=quality_action_payload())
|
||||
if request.url.path == "/api/v1/audit/quality-improvement-actions":
|
||||
query = parse_qs(request.url.query.decode())
|
||||
@@ -636,6 +641,7 @@ def test_ai_platform_client_covers_admin_data_endpoints() -> None:
|
||||
assert request.method == "PATCH"
|
||||
assert payload["status"] == "resolved"
|
||||
assert payload["resolution_note"] == "Provider config was tuned."
|
||||
assert payload["linked_import_batch_id"] == "kb-batch-2"
|
||||
return httpx.Response(
|
||||
200,
|
||||
json=quality_action_payload(
|
||||
@@ -802,10 +808,13 @@ def test_ai_platform_client_covers_admin_data_endpoints() -> None:
|
||||
priority="high",
|
||||
source_label_codes=["source_limited"],
|
||||
source_run_ids=["run-1"],
|
||||
linked_prompt_template_id="prompt-1",
|
||||
evaluation_days=7,
|
||||
)
|
||||
)
|
||||
assert created_action.status == "open"
|
||||
assert created_action.linked_prompt_template_id == "prompt-1"
|
||||
assert created_action.linked_import_batch_id == "kb-batch-1"
|
||||
assert created_action.baseline_affected_runs == 1
|
||||
assert created_action.effect_status == "unchanged"
|
||||
listed_actions = client.list_quality_improvement_actions(
|
||||
@@ -823,6 +832,7 @@ def test_ai_platform_client_covers_admin_data_endpoints() -> None:
|
||||
AiQualityImprovementActionUpdate(
|
||||
status="resolved",
|
||||
resolution_note="Provider config was tuned.",
|
||||
linked_import_batch_id="kb-batch-2",
|
||||
),
|
||||
)
|
||||
assert updated_action.status == "resolved"
|
||||
|
||||
Reference in New Issue
Block a user