2023-11-27 16:01:20 -08:00
|
|
|
import datetime
|
2024-08-09 20:45:26 -07:00
|
|
|
from typing import Optional
|
2023-11-27 16:01:20 -08:00
|
|
|
|
2024-07-28 15:21:51 -07:00
|
|
|
from pydantic import BaseModel, ConfigDict
|
2023-11-27 16:01:20 -08:00
|
|
|
|
|
|
|
from ..models.ai_feedback import AiFeedback
|
2024-08-09 20:45:26 -07:00
|
|
|
from ..models.ai_prompt_metadata import AiPromptMetadata
|
2023-11-27 16:01:20 -08:00
|
|
|
from ..models.ai_prompt_type import AiPromptType
|
|
|
|
from ..models.api_call_status import ApiCallStatus
|
|
|
|
from ..models.uuid import Uuid
|
2023-11-28 23:50:50 -08:00
|
|
|
|
|
|
|
|
|
|
|
class AiPrompt(BaseModel):
|
|
|
|
"""An AI prompt."""
|
|
|
|
|
|
|
|
completed_at: Optional[datetime.datetime] = None
|
|
|
|
|
|
|
|
created_at: datetime.datetime
|
|
|
|
|
|
|
|
error: Optional[str] = None
|
|
|
|
|
|
|
|
feedback: Optional[AiFeedback] = None
|
|
|
|
|
2023-11-29 10:41:21 -08:00
|
|
|
id: Uuid
|
2023-11-28 23:50:50 -08:00
|
|
|
|
2024-08-09 20:45:26 -07:00
|
|
|
metadata: Optional[AiPromptMetadata] = None
|
2023-11-28 23:50:50 -08:00
|
|
|
|
|
|
|
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
|
2024-01-06 18:32:21 -08:00
|
|
|
|
|
|
|
model_config = ConfigDict(protected_namespaces=())
|