m97j commited on
Commit
39671d3
Β·
1 Parent(s): ce27d3f

Initial commit

Browse files
Files changed (2) hide show
  1. app.py +2 -3
  2. schemas.py +11 -4
app.py CHANGED
@@ -2,12 +2,11 @@ import os
2
  from fastapi import FastAPI, Request, HTTPException
3
  from fastapi.middleware.cors import CORSMiddleware
4
  from manager.dialogue_manager import handle_dialogue
5
- from rag.rag_generator import chroma_initialized, load_game_docs_from_disk, add_docs
6
  from contextlib import asynccontextmanager
7
  from models.model_loader import load_emotion_model, load_fallback_model, load_embedder
8
- from schemas import AskReq, AskRes
9
  from pathlib import Path
10
- from rag.rag_generator import set_embedder
11
  from config import (
12
  EMOTION_MODEL_NAME, EMOTION_MODEL_DIR,
13
  FALLBACK_MODEL_NAME, FALLBACK_MODEL_DIR,
 
2
  from fastapi import FastAPI, Request, HTTPException
3
  from fastapi.middleware.cors import CORSMiddleware
4
  from manager.dialogue_manager import handle_dialogue
5
+ from rag.rag_manager import chroma_initialized, load_game_docs_from_disk, add_docs, set_embedder
6
  from contextlib import asynccontextmanager
7
  from models.model_loader import load_emotion_model, load_fallback_model, load_embedder
8
+ from .schemas import AskReq, AskRes
9
  from pathlib import Path
 
10
  from config import (
11
  EMOTION_MODEL_NAME, EMOTION_MODEL_DIR,
12
  FALLBACK_MODEL_NAME, FALLBACK_MODEL_DIR,
schemas.py CHANGED
@@ -16,13 +16,20 @@ class DialogueTurn(BaseModel):
16
  npc: str
17
 
18
  class Context(BaseModel):
19
- require: Optional[Dict[str, Any]] = Field(default_factory=dict, description="pre 1μ°¨ 쑰건 νŒλ‹¨μš© ν•„μˆ˜/선택 μš”μ†Œ")
20
- player_state: Optional[Dict[str, Any]] = Field(default_factory=dict, description="ν”Œλ ˆμ΄μ–΄ ν˜„μž¬ μƒνƒœ")
21
- game_state: Optional[Dict[str, Any]] = Field(default_factory=dict, description="κ²Œμž„ μ „μ—­ μƒνƒœ")
22
- npc_state: Optional[Dict[str, Any]] = Field(default_factory=dict, description="DB μ΅œμ‹  NPC μƒνƒœ")
23
  npc_config: Optional[NPCConfig] = Field(None, description="RAG 기반 섀계 정보")
24
  dialogue_history: Optional[List[DialogueTurn]] = Field(default_factory=list, description="졜근 λŒ€ν™” νžˆμŠ€ν† λ¦¬")
25
 
 
 
 
 
 
 
 
26
  class AskRes(BaseModel):
27
  session_id: str
28
  npc_output_text: str
 
16
  npc: str
17
 
18
  class Context(BaseModel):
19
+ require: Dict[str, Any] = Field(..., description="pre 1μ°¨ 쑰건 νŒλ‹¨μš© ν•„μˆ˜/선택 μš”μ†Œ")
20
+ player_state: Dict[str, Any] = Field(..., description="ν”Œλ ˆμ΄μ–΄ ν˜„μž¬ μƒνƒœ")
21
+ game_state: Dict[str, Any] = Field(..., description="κ²Œμž„ μ „μ—­ μƒνƒœ")
22
+ npc_state: Dict[str, Any] = Field(..., description="DB μ΅œμ‹  NPC μƒνƒœ")
23
  npc_config: Optional[NPCConfig] = Field(None, description="RAG 기반 섀계 정보")
24
  dialogue_history: Optional[List[DialogueTurn]] = Field(default_factory=list, description="졜근 λŒ€ν™” νžˆμŠ€ν† λ¦¬")
25
 
26
+
27
+ class AskReq(BaseModel):
28
+ session_id: str = Field(..., description="μ„Έμ…˜ 고유 ID")
29
+ npc_id: str = Field(..., description="NPC 고유 ID")
30
+ user_input: str = Field(..., description="ν”Œλ ˆμ΄μ–΄ μž…λ ₯ λ¬Έμž₯")
31
+ context: Optional[Context] = Field(default_factory=Context, description="κ²Œμž„ 및 NPC μƒνƒœ 정보")
32
+
33
  class AskRes(BaseModel):
34
  session_id: str
35
  npc_output_text: str