Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from typing import List, Dict, Optional, Any | |
| class NPCConfig(BaseModel): | |
| id: Optional[str] = Field(None, description="NPC κ³ μ ID (μ€κ³ κΈ°μ€)") | |
| name: Optional[str] = Field(None, description="NPC νμ μ΄λ¦") | |
| persona_name: Optional[str] = Field(None, description="NPC νλ₯΄μλ μ΄λ¦") | |
| dialogue_style: Optional[str] = Field(None, description="λν μ€νμΌ") | |
| relationship: Optional[float] = Field(None, description="κΈ°λ³Έ κ΄κ³ μμΉ (-1.0~1.0)") | |
| npc_mood: Optional[str] = Field(None, description="κΈ°λ³Έ κ°μ μν") | |
| trigger_values: Optional[Dict[str, List[str]]] = Field(None, description="νΈλ¦¬κ±° κ° λͺ©λ‘") | |
| trigger_definitions: Optional[Dict[str, Dict[str, Any]]] = Field(None, description="νΈλ¦¬κ±° μ μ") | |
| class DialogueTurn(BaseModel): | |
| player: str | |
| npc: str | |
| class Context(BaseModel): | |
| require: Optional[Dict[str, Any]] = Field(default_factory=dict, description="pre 1μ°¨ 쑰건 νλ¨μ© νμ/μ ν μμ") | |
| player_state: Optional[Dict[str, Any]] = Field(default_factory=dict, description="νλ μ΄μ΄ νμ¬ μν") | |
| game_state: Optional[Dict[str, Any]] = Field(default_factory=dict, description="κ²μ μ μ μν") | |
| npc_state: Optional[Dict[str, Any]] = Field(default_factory=dict, description="DB μ΅μ NPC μν") | |
| npc_config: Optional[NPCConfig] = Field(None, description="RAG κΈ°λ° μ€κ³ μ 보") | |
| dialogue_history: Optional[List[DialogueTurn]] = Field(default_factory=list, description="μ΅κ·Ό λν νμ€ν 리") | |
| class AskRes(BaseModel): | |
| session_id: str | |
| npc_output_text: str | |
| deltas: Dict[str, float] = Field(default_factory=dict, description="μ΄λ² ν΄ λ³νλ") | |
| flags: Dict[str, int] = Field(default_factory=dict, description="νλκ·Έ μ΄μ§κ° {flag_name: 0|1}") | |
| valid: bool | |
| meta: Dict[str, Any] = Field(default_factory=dict, description="μΆκ° λ©νλ°μ΄ν° (npc_id, quest_stage, location λ±)") | |