GameAI / models.py
j-js's picture
Update models.py
051ac24 verified
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any, Dict, List, Optional
from pydantic import BaseModel
class ChatRequest(BaseModel):
message: Optional[str] = None
prompt: Optional[str] = None
query: Optional[str] = None
text: Optional[str] = None
user_message: Optional[str] = None
input: Optional[str] = None
content: Optional[str] = None
tone: Optional[float] = 0.5
verbosity: Optional[float] = 0.5
transparency: Optional[float] = 0.5
help_mode: Optional[str] = None
intent: Optional[str] = None
category: Optional[str] = None
chat_history: Optional[List[Dict[str, Any]]] = None
history: Optional[List[Dict[str, Any]]] = None
session_state: Optional[Dict[str, Any]] = None
question_text: Optional[str] = None
options_text: Optional[List[str]] = None
question_id: Optional[str] = None
session_id: Optional[str] = None
user_id: Optional[str] = None
class SessionStartRequest(BaseModel):
session_id: str
user_id: Optional[str] = None
condition: Optional[str] = None
metadata: Optional[Dict[str, Any]] = None
class EventLogRequest(BaseModel):
session_id: str
event_type: str
timestamp: Optional[str] = None
payload: Optional[Dict[str, Any]] = None
class SessionFinalizeRequest(BaseModel):
session_id: str
summary: Optional[Dict[str, Any]] = None
@dataclass
class RetrievedChunk:
text: str
topic: str = "general"
source: str = "local"
score: float = 0.0
@dataclass
class SolverResult:
reply: str = ""
domain: str = "fallback"
solved: bool = False
help_mode: str = "answer"
answer_letter: Optional[str] = None
answer_value: Optional[str] = None
topic: Optional[str] = None
used_retrieval: bool = False
used_generator: bool = False
internal_answer: Optional[str] = None
steps: List[str] = field(default_factory=list)
teaching_chunks: List[RetrievedChunk] = field(default_factory=list)
meta: Dict[str, Any] = field(default_factory=dict)
@dataclass
class ExplainerResult:
understood: bool = False
topic: Optional[str] = None
asks_for: Optional[str] = None
givens: List[str] = field(default_factory=list)
constraints: List[str] = field(default_factory=list)
relationships: List[str] = field(default_factory=list)
needed_concepts: List[str] = field(default_factory=list)
trap_notes: List[str] = field(default_factory=list)
strategy_hint: Optional[str] = None
plain_english: Optional[str] = None