20 lines
493 B
Python
20 lines
493 B
Python
|
|
"""LLM JSON 边界契约(Chat agents)。"""
|
|||
|
|
|
|||
|
|
from __future__ import annotations
|
|||
|
|
|
|||
|
|
from pydantic import BaseModel, Field
|
|||
|
|
|
|||
|
|
|
|||
|
|
class StageDetectionOutput(BaseModel):
|
|||
|
|
detected_stage: str = Field(default="", description="CHAT_STAGES key")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ProfileExtractionOutput(BaseModel):
|
|||
|
|
birth_year: int | str | None = None
|
|||
|
|
birth_place: str | None = None
|
|||
|
|
grew_up_place: str | None = None
|
|||
|
|
occupation: str | None = None
|
|||
|
|
|
|||
|
|
|
|||
|
|
__all__ = ["ProfileExtractionOutput", "StageDetectionOutput"]
|