Add prompt improvement button in drawer

This commit is contained in:
Xin Wang
2026-08-26 12:18:18 +08:00
parent 239b9027ca
commit ab409ba9c0
13 changed files with 2067 additions and 39 deletions
+17 -1
View File
@@ -9,7 +9,7 @@ from datetime import UTC, datetime
from loguru import logger
from sqlalchemy import select
from db.models import ModelResource, TestCase, TestRun, TestRunCase
from db.models import Assistant, ModelResource, TestCase, TestRun, TestRunCase
from db.session import SessionLocal
from models import RuntimeModelResource
from services.config_resolver import resolve_runtime_config
@@ -17,6 +17,10 @@ from services.runtime_variables import prepare_dynamic_config
from services.test_case_assets import load_test_asset_bytes
from services.test_runs.errors import TestExecutionError
from services.test_runs.evaluator import EvaluationEngine
from services.test_runs.prompt_improvement import (
PROMPT_IMPROVEMENT_SNAPSHOT_KEY,
build_prompt_improvement_snapshot,
)
from services.test_runs.text_runner import (
RawTurnResult,
TextPipelineRunner,
@@ -91,6 +95,18 @@ class TestRunOrchestrator:
config.get("dynamicVariables") or {},
assistant_id=str(run.assistant_id or ""),
)
assistant = await session.get(
Assistant,
str(run.assistant_id or ""),
)
config[PROMPT_IMPROVEMENT_SNAPSHOT_KEY] = (
build_prompt_improvement_snapshot(
cfg,
source_prompt=assistant.prompt if assistant else None,
)
)
run.config = config
await session.commit()
except Exception as exc:
await self._fail_run_setup(run_id, str(exc))
return