Spaces:
Running on Zero
Running on Zero
File size: 1,229 Bytes
bc02199 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | """Pydantic schemas for mock MVP outputs."""
from __future__ import annotations
from datetime import datetime
from typing import Any
from pydantic import BaseModel, Field
class ObjectInfo(BaseModel):
name: str
visible_features: list[str] = Field(default_factory=list)
likely_context: str
confidence: float = Field(ge=0, le=1)
class ObjectUnderstanding(BaseModel):
object: ObjectInfo
class Persona(BaseModel):
object_name: str
character_name: str
mood: str
secret_fear: str
core_memory: str
complaint: str
tags: list[str] = Field(min_length=3, max_length=3)
class PersonaEnvelope(BaseModel):
persona: Persona
class DiaryEntry(BaseModel):
title: str
english: str
chinese: str
class TraceRecord(BaseModel):
trace_id: str
created_at: datetime
mode: str
input: dict[str, Any]
object_understanding: ObjectUnderstanding
persona: PersonaEnvelope
diary: DiaryEntry
model_runtime: dict[str, str]
fallbacks: list[str] = Field(default_factory=list)
class GenerationResult(BaseModel):
object_understanding: ObjectUnderstanding
persona: PersonaEnvelope
diary: DiaryEntry
trace: TraceRecord
trace_path: str
|