File size: 645 Bytes
02d44c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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