ai 기반 문지기 npc의 조언 및 전투 스킬 생성 기능 구현
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from sqlalchemy.orm import Session
|
||||
from backend.repository.db_init import get_db
|
||||
from backend.schemas.game_schema import (
|
||||
AncestorDeathCreate,
|
||||
AncestorDeathResponse,
|
||||
DialogueResponse,
|
||||
SkillCreateRequest,
|
||||
SkillCreateResponse
|
||||
)
|
||||
from backend.services import game_service
|
||||
|
||||
router = APIRouter(prefix="/api/game", tags=["Game"])
|
||||
|
||||
@router.post("/death", response_model=AncestorDeathResponse)
|
||||
def record_death(req: AncestorDeathCreate, db: Session = Depends(get_db)):
|
||||
return game_service.create_death_history(db=db, death_data=req)
|
||||
|
||||
@router.get("/npc-dialogue", response_model=DialogueResponse)
|
||||
def get_npc_dialogue(current_generation: int = Query(..., description="현재 플레이어 세대"), db: Session = Depends(get_db)):
|
||||
dialogue_text = game_service.generate_npc_dialogue(db=db, current_generation=current_generation)
|
||||
return DialogueResponse(dialogue=dialogue_text)
|
||||
|
||||
@router.post("/generate-skill", response_model=SkillCreateResponse)
|
||||
def create_skill(req: SkillCreateRequest):
|
||||
return game_service.generate_ai_skill(prompt=req.prompt, player_level=req.player_level)
|
||||
@@ -1,13 +0,0 @@
|
||||
from fastapi import APIRouter, Request, UploadFile
|
||||
from backend.services.llm_service import question_and_answer
|
||||
from backend.schemas.basic_schema import QuestionRequest
|
||||
from fastapi.responses import StreamingResponse
|
||||
|
||||
router = APIRouter(prefix="/npc")
|
||||
|
||||
# http://127.0.0.1:8000/npc/question
|
||||
@router.post("/question")
|
||||
async def question(req: QuestionRequest):
|
||||
answer = question_and_answer(req.question)
|
||||
|
||||
return {"message" : answer}
|
||||
@@ -1,13 +0,0 @@
|
||||
from fastapi import APIRouter, Request, UploadFile
|
||||
from backend.services.llm_service import question_and_answer
|
||||
from backend.schemas.basic_schema import QuestionRequest
|
||||
from fastapi.responses import StreamingResponse
|
||||
|
||||
router = APIRouter(prefix="/npc")
|
||||
|
||||
# http://127.0.0.1:8000/npc/question
|
||||
@router.post("/question")
|
||||
async def question(req: QuestionRequest):
|
||||
answer = question_and_answer(req.question)
|
||||
|
||||
return {"message" : answer}
|
||||
Reference in New Issue
Block a user