Spaces:
Sleeping
Sleeping
File size: 1,763 Bytes
6252f54 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | """Pydantic v2 request models."""
from typing import Literal
from pydantic import BaseModel, Field
class AnalyzeRequest(BaseModel):
org_type: str = Field(..., description="Organisation type / domain focus (e.g. 'Healthcare Provider', 'Banking')")
goals: list[str] = Field(..., min_length=1, description="Business transformation goals")
budget_tier: Literal["low", "medium", "high"] = Field(default="medium")
timeline_months: int = Field(default=18, ge=6, le=36)
risk_tolerance: Literal["low", "medium", "high"] = Field(default="medium")
sector_focus: list[str] = Field(default_factory=list, description="Optional additional domain filters")
current_capabilities: list[str] = Field(default_factory=list, description="Capability IDs already in place")
selected_capability_ids: list[str] = Field(default_factory=list, description="Direct capability IDs from questionnaire — bypasses vector search")
selected_subdomain_ids: list[str] = Field(default_factory=list, description="Direct subdomain IDs from questionnaire")
model_config = {
"json_schema_extra": {
"examples": [
{
"org_type": "Banking",
"goals": [
"Modernise data management and establish data mesh",
"Launch open banking APIs for PSD2 compliance",
"Improve real-time fraud detection"
],
"budget_tier": "high",
"timeline_months": 24,
"risk_tolerance": "medium",
"sector_focus": ["Digital Intelligence", "Security"],
"current_capabilities": [],
}
]
}
}
|