Spaces:
Sleeping
Sleeping
| """ | |
| DTOs for advanced chat mode | |
| """ | |
| from typing import Optional, List, Any | |
| from pydantic import BaseModel, Field | |
| class AdvancedChatRequest(BaseModel): | |
| """Request model for advanced chat mode""" | |
| requirement: str = Field(..., description="User's rough requirement") | |
| max_iterations: int = Field(default=3, description="Maximum number of refinement iterations") | |
| temperature: float = Field(default=0.7, description="Temperature for model generation") | |
| enable_l0_retrieval: bool = Field(default=True, description="Whether to enable L0 knowledge retrieval") | |
| enable_l1_retrieval: bool = Field(default=True, description="Whether to enable L1 knowledge retrieval") | |
| class ValidationResult(BaseModel): | |
| """Model for solution validation result""" | |
| is_valid: bool = Field(..., description="Whether the solution meets requirements") | |
| feedback: Optional[str] = Field(None, description="Feedback for improvement if invalid") | |
| class AdvancedChatResponse(BaseModel): | |
| """Response model for advanced chat mode""" | |
| enhanced_requirement: str = Field(..., description="Enhanced requirement with context") | |
| solution: str = Field(..., description="Generated solution") | |
| validation_history: List[ValidationResult] = Field(default=[], description="History of validation results") | |
| final_format: Optional[str] = Field(None, description="Final formatted solution if valid") | |
| final_response: Optional[Any] = Field(None, description="Final response, can be streaming or complete response") | |
| class Config: | |
| """Pydantic model configuration""" | |
| arbitrary_types_allowed = True # permit any type | |