ai 기반 문지기 npc의 조언 및 전투 스킬 생성 기능 구현

This commit is contained in:
2026-06-24 17:42:16 +09:00
parent 1face1e216
commit 9ca7007c79
13 changed files with 314 additions and 70 deletions
@@ -1,4 +0,0 @@
from pydantic import BaseModel
class QuestionRequest(BaseModel):
question : str
+39
View File
@@ -0,0 +1,39 @@
from pydantic import BaseModel, Field
from datetime import datetime
from typing import Optional
class AncestorDeathCreate(BaseModel):
name: str = Field(..., description="선조의 이름")
generation: int = Field(..., description="선조의 세대 수")
cause_of_death: str = Field(..., description="사망 원인 (예: 가시 함정, 화염 슬라임 등)")
floor: int = Field(..., description="사망한 던전 층수")
class AncestorDeathResponse(BaseModel):
id: int
name: str
generation: int
cause_of_death: str
floor: int
created_at: datetime
class Config:
from_attributes = True
class DialogueRequest(BaseModel):
current_generation: int = Field(..., description="현재 플레이어의 세대")
class DialogueResponse(BaseModel):
dialogue: str = Field(..., description="늙은 문지기 NPC의 맞춤형 조언 대사")
class SkillCreateRequest(BaseModel):
prompt: str = Field(..., description="스킬 생성을 위한 플레이어 텍스트 입력")
player_level: int = Field(default=1, description="플레이어의 레벨 (스탯 밸런싱 기준)")
class SkillCreateResponse(BaseModel):
skill_name: str = Field(..., description="생성된 스킬의 이름")
scale: float = Field(..., description="스킬 크기 (수치)")
damage: float = Field(..., description="스킬 데미지 (수치)")
speed: float = Field(..., description="스킬 투사체 속도 또는 발동 속도 (수치)")
visual_effect: str = Field(..., description="유니티 이펙트 종류 (예: fire, ice, electric, physical, poison 등)")
skill_type: str = Field(..., description="스킬 형태 (예: projectile, splash, buff, aura 등)")
description: str = Field(..., description="스킬 설명")