24 lines
640 B
Python
24 lines
640 B
Python
"""③ motion 단계 VLM 응답 스키마.
|
|
|
|
모션 키는 Literal로 고정한다 — 어휘 밖의 값이 나올 수 없다.
|
|
키 목록은 raw_prompt/motion_phrase.json과 일치해야 하며, motion.py가 기동 시 대조한다.
|
|
"""
|
|
from typing import Literal
|
|
|
|
from pydantic import BaseModel
|
|
|
|
MotionKey = Literal[
|
|
"firework", "water", "wave", "cloud", "smoke", "moon", "sun", "star", "light",
|
|
"flag", "foliage", "wheel", "vessel", "crowd", "ray", "snow", "fog", "glow",
|
|
]
|
|
|
|
|
|
class MotionElement(BaseModel):
|
|
motion: MotionKey
|
|
what: str
|
|
confident: bool
|
|
|
|
|
|
class MotionAnswer(BaseModel):
|
|
elements: list[MotionElement]
|