smartiag / models.py
hamdim's picture
Upload 25 files
02d44c3 verified
from pydantic import BaseModel
from typing import List, Optional, Dict, Any
class Patient(BaseModel):
id: Optional[str] = None
name: str
age: int
gender: str
medical_history: Optional[str] = None
class AgentMessage(BaseModel):
role: str # "user", "assistant", "system"
content: str
class AgentState(BaseModel):
patient: Optional[Patient] = None
messages: List[AgentMessage] = []
context: Dict[str, Any] = {}
next_step: Optional[str] = None
class AgentConfig(BaseModel):
name: str
type: str # "intake", "anamnesis", "diagnosis", "planner"
model: str = "gpt-4o"
system_prompt: str