init. project
This commit is contained in:
59
rag-web-ui/backend/app/schemas/testing.py
Normal file
59
rag-web-ui/backend/app/schemas/testing.py
Normal file
@@ -0,0 +1,59 @@
|
||||
from typing import Dict, List, Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class TestItemEntry(BaseModel):
|
||||
id: str
|
||||
content: str
|
||||
|
||||
|
||||
class TestCaseEntry(BaseModel):
|
||||
id: str
|
||||
item_id: str
|
||||
operation_steps: List[str]
|
||||
test_content: str
|
||||
expected_result_placeholder: str
|
||||
|
||||
|
||||
class ExpectedResultEntry(BaseModel):
|
||||
id: str
|
||||
case_id: str
|
||||
result: str
|
||||
|
||||
|
||||
class StepLogEntry(BaseModel):
|
||||
step_name: str
|
||||
input_summary: str
|
||||
output_summary: str
|
||||
success: bool
|
||||
fallback_used: bool
|
||||
duration_ms: float
|
||||
|
||||
|
||||
class TestingPipelineRequest(BaseModel):
|
||||
requirement_text: str = Field(..., min_length=1)
|
||||
requirement_type: Optional[str] = None
|
||||
knowledge_base_ids: List[int] = []
|
||||
retrieval_top_k: int = Field(default=8, ge=1, le=20)
|
||||
knowledge_context: Optional[str] = None
|
||||
use_model_generation: bool = True
|
||||
max_items_per_group: int = Field(default=12, ge=4, le=30)
|
||||
cases_per_item: int = Field(default=2, ge=1, le=5)
|
||||
max_focus_points: int = Field(default=6, ge=3, le=12)
|
||||
max_llm_calls: int = Field(default=10, ge=0, le=100)
|
||||
debug: bool = False
|
||||
|
||||
|
||||
class TestingPipelineResponse(BaseModel):
|
||||
trace_id: str
|
||||
requirement_type: str
|
||||
reason: str
|
||||
candidates: List[str]
|
||||
test_items: Dict[str, List[TestItemEntry]]
|
||||
test_cases: Dict[str, List[TestCaseEntry]]
|
||||
expected_results: Dict[str, List[ExpectedResultEntry]]
|
||||
formatted_output: str
|
||||
pipeline_summary: str
|
||||
knowledge_used: bool = False
|
||||
step_logs: List[StepLogEntry] = []
|
||||
Reference in New Issue
Block a user