init
This commit is contained in:
40
new-planet-backend/app/schemas/ai.py
Normal file
40
new-planet-backend/app/schemas/ai.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional, List, Dict, Any
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class ChatRequest(BaseModel):
|
||||
message: str = Field(..., min_length=1, max_length=2000)
|
||||
conversation_id: Optional[str] = None
|
||||
|
||||
|
||||
class ChatResponse(BaseModel):
|
||||
response: str
|
||||
conversation_id: str
|
||||
tokens_used: Optional[int] = None
|
||||
model: Optional[str] = None
|
||||
|
||||
|
||||
class ScheduleGenerateRequest(BaseModel):
|
||||
child_age: int = Field(..., ge=1, le=18)
|
||||
preferences: List[str] = Field(default_factory=list)
|
||||
date: str # ISO format date string
|
||||
description: Optional[str] = None
|
||||
|
||||
|
||||
class ScheduleGenerateResponse(BaseModel):
|
||||
schedule_id: str
|
||||
title: str
|
||||
tasks: List[Dict[str, Any]]
|
||||
tokens_used: Optional[int] = None
|
||||
|
||||
|
||||
class ConversationHistory(BaseModel):
|
||||
conversation_id: str
|
||||
messages: List[Dict[str, Any]]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user