Files
New-planet-ai-agent/models/conversation.py

51 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Pydantic модели для диалогов с ИИ."""
from datetime import datetime
from typing import List, Optional
from uuid import UUID
from pydantic import BaseModel, Field
class Message(BaseModel):
"""Модель сообщения в диалоге."""
role: str = Field(..., description="Роль: system, user, assistant")
content: str = Field(..., description="Текст сообщения")
timestamp: Optional[datetime] = None
class ConversationCreate(BaseModel):
"""Модель для создания диалога."""
user_id: UUID
title: Optional[str] = None
class ConversationResponse(BaseModel):
"""Модель ответа с диалогом."""
id: UUID
user_id: UUID
title: Optional[str]
messages: List[Message] = Field(default_factory=list)
created_at: datetime
updated_at: datetime
class ChatRequest(BaseModel):
"""Запрос на отправку сообщения в чат."""
message: str = Field(..., min_length=1, max_length=2000)
conversation_id: Optional[UUID] = None
user_id: UUID
class ChatResponse(BaseModel):
"""Ответ от ИИ-агента."""
response: str
conversation_id: UUID
tokens_used: Optional[int] = None
model: Optional[str] = None