47 lines
995 B
Python
47 lines
995 B
Python
import datetime
|
|
from typing import Any, Dict, List, Literal, Optional, Union
|
|
from uuid import UUID
|
|
|
|
from pydantic import AnyUrl, Base64Bytes, BaseModel, ConfigDict
|
|
from pydantic_extra_types.phone_numbers import PhoneNumber
|
|
|
|
from ..models.ai_feedback import AiFeedback
|
|
from ..models.ai_prompt_type import AiPromptType
|
|
from ..models.api_call_status import ApiCallStatus
|
|
from ..models.uuid import Uuid
|
|
from .base64data import Base64Data
|
|
|
|
|
|
class AiPrompt(BaseModel):
|
|
"""An AI prompt."""
|
|
|
|
completed_at: Optional[datetime.datetime] = None
|
|
|
|
created_at: datetime.datetime
|
|
|
|
error: Optional[str] = None
|
|
|
|
feedback: Optional[AiFeedback] = None
|
|
|
|
id: Uuid
|
|
|
|
metadata: Optional[Any] = None
|
|
|
|
model_version: str
|
|
|
|
output_file: Optional[str] = None
|
|
|
|
prompt: str
|
|
|
|
started_at: Optional[datetime.datetime] = None
|
|
|
|
status: ApiCallStatus
|
|
|
|
type: AiPromptType
|
|
|
|
updated_at: datetime.datetime
|
|
|
|
user_id: Uuid
|
|
|
|
model_config = ConfigDict(protected_namespaces=())
|