add training configuration APIs

This commit is contained in:
刘金宝
2026-06-05 12:57:02 +08:00
parent 7f1803f9fa
commit 41a2851120
14 changed files with 1541 additions and 10 deletions
+12
View File
@@ -28,6 +28,7 @@ from app.schemas.session import (
SubmitDiagnosisRequest,
SubmitTreatmentRequest,
)
from app.schemas.training_config import PatientConfig
from app.services.evaluation_service import EvaluationService
from app.services.order_service import OrderService
from app.services.pdf_export_service import PdfExportService
@@ -56,10 +57,17 @@ async def run_demo_flow() -> None:
training_type="diagnosis_treatment",
mode="practice",
score_type="percentage",
patient_config=PatientConfig(
visit_environment="outpatient",
age_group="youth",
education_level="higher",
personality="calm",
),
),
)
db.commit()
assert created.status == "inquiry"
assert created.patient_config["labels"]["visit_environment"] == "门诊"
chat = await session_service.chat(ctx, created.session_id, ChatRequest(message="孩子最高体温多少?").message)
db.commit()
@@ -68,6 +76,10 @@ async def run_demo_flow() -> None:
order = order_service.create_order(created.session_id, ctx.user_id, CreateOrderRequest(item_code="chest_xray").item_code)
db.commit()
assert order.is_key is True
auxiliary_items = order_service.list_auxiliary_exam_items(created.session_id, ctx.user_id)
assert any(item.item_code == "chest_xray" for item in auxiliary_items.items)
physical_items = order_service.list_physical_exam_items(created.session_id, ctx.user_id)
assert physical_items.items == [] or all(item.item_code != "chest_xray" for item in physical_items.items)
tool_count_before = len([item for item in runtime_memory.get_messages(f"mem:{created.session_code}") if item.get("role") == "tool"])
duplicate_order = order_service.create_order(created.session_id, ctx.user_id, "chest_xray")