From 586a4d8df1c318f337ed54cf8fd267133ff4c7e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=A1=EC=B0=BD=EC=9A=A9?= Date: Wed, 16 Jul 2025 20:35:16 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[CHORE]=20dockerfile=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a080d38 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM python:3.11-slim +WORKDIR /movie + +RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +EXPOSE 8000 + +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file From a48c5a7167a658c6cd7be596f422bba8a5c613e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=A1=EC=B0=BD=EC=9A=A9?= Date: Wed, 16 Jul 2025 20:35:46 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[FIX]=20DB=20=EC=97=B0=EA=B2=B0=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routers/predict.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/routers/predict.py b/routers/predict.py index ab2c4dc..de141b2 100644 --- a/routers/predict.py +++ b/routers/predict.py @@ -19,7 +19,7 @@ async def predict_full(item: TextItem): "probabilities": probs, "timestamp": datetime.utcnow() } - await collection.insert_one(record) + # await collection.insert_one(record) return record except Exception as e: raise HTTPException(status_code=500, detail=str(e)) @@ -33,7 +33,7 @@ async def predict_split_avg(item: TextItem): "probabilities": probs, "timestamp": datetime.utcnow() } - await collection.insert_one(record) + # await collection.insert_one(record) return record except Exception as e: raise HTTPException(status_code=500, detail=str(e)) @@ -47,7 +47,7 @@ async def predict_overall_avg(item: TextItem): "probabilities": probs, "timestamp": datetime.utcnow() } - await collection.insert_one(record) + # await collection.insert_one(record) return record except Exception as e: raise HTTPException(status_code=500, detail=str(e)) \ No newline at end of file From b9bda873af573f38f4eb7590ee6e1e0e186cab1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=A1=EC=B0=BD=EC=9A=A9?= Date: Sat, 19 Jul 2025 19:17:18 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[FIX]=20=EA=B0=90=EC=A0=95=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20-=20anger,=20disgust,=20fear,=20joy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 6 +++--- const.py | 6 +++++- db.py | 6 ------ .../0712_kobert_5_emotion_model/model.safetensors | 3 --- .../config.json | 2 +- .../0717_kobert_5_emotion_model/model.safetensors | 3 +++ .../special_tokens_map.json | 0 .../spiece.model | Bin .../tokenizer_config.json | 0 routers/predict.py | 1 - schemas.py | 1 - 11 files changed, 12 insertions(+), 16 deletions(-) delete mode 100644 db.py delete mode 100644 models/0712_kobert_5_emotion_model/model.safetensors rename models/{0712_kobert_5_emotion_model => 0717_kobert_5_emotion_model}/config.json (96%) create mode 100644 models/0717_kobert_5_emotion_model/model.safetensors rename models/{0712_kobert_5_emotion_model => 0717_kobert_5_emotion_model}/special_tokens_map.json (100%) rename models/{0712_kobert_5_emotion_model => 0717_kobert_5_emotion_model}/spiece.model (100%) rename models/{0712_kobert_5_emotion_model => 0717_kobert_5_emotion_model}/tokenizer_config.json (100%) diff --git a/config.py b/config.py index 9942a39..b08fd4f 100644 --- a/config.py +++ b/config.py @@ -2,10 +2,10 @@ from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): - mongodb_uri: str = "mongodb://localhost:27017" - db_name: str = "emotion_db" + # mongodb_uri: str = "mongodb://localhost:27017" + # db_name: str = "emotion_db" collection_name: str = "predictions" - model_dir: str = os.getenv("MODEL_DIR", "models/0712_kobert_5_emotion_model") + model_dir: str = os.getenv("MODEL_DIR", "models/0717_kobert_5_emotion_model") title: str = "MovieMood - KoBERT Emotion API" model_config = SettingsConfigDict(env_file=".env") diff --git a/const.py b/const.py index 382229f..42d308f 100644 --- a/const.py +++ b/const.py @@ -3,6 +3,10 @@ LABELS_6 = [ "anger", "fear", "joy", "neutral", "sadness", "surprise" ] +# LABELS_5 = [ +# "anger", "fear", "joy", "neutral", "sadness" +# ] + LABELS_5 = [ - "anger", "fear", "joy", "neutral", "sadness" + "anger", "disgust", "fear", "joy", "sadness" ] \ No newline at end of file diff --git a/db.py b/db.py deleted file mode 100644 index 835032e..0000000 --- a/db.py +++ /dev/null @@ -1,6 +0,0 @@ -from motor.motor_asyncio import AsyncIOMotorClient -from config import settings - -client = AsyncIOMotorClient(settings.mongodb_uri) -db = client[settings.db_name] -collection = db[settings.collection_name] \ No newline at end of file diff --git a/models/0712_kobert_5_emotion_model/model.safetensors b/models/0712_kobert_5_emotion_model/model.safetensors deleted file mode 100644 index 8e09bb3..0000000 --- a/models/0712_kobert_5_emotion_model/model.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e00255ad69ab36f05617b8ce490cae3c8a317894ddbd9308a02d40c11ddd77b5 -size 368786356 diff --git a/models/0712_kobert_5_emotion_model/config.json b/models/0717_kobert_5_emotion_model/config.json similarity index 96% rename from models/0712_kobert_5_emotion_model/config.json rename to models/0717_kobert_5_emotion_model/config.json index f00d0eb..c68863e 100644 --- a/models/0712_kobert_5_emotion_model/config.json +++ b/models/0717_kobert_5_emotion_model/config.json @@ -35,7 +35,7 @@ "position_embedding_type": "absolute", "problem_type": "single_label_classification", "torch_dtype": "float32", - "transformers_version": "4.53.1", + "transformers_version": "4.53.2", "type_vocab_size": 2, "use_cache": true, "vocab_size": 8002 diff --git a/models/0717_kobert_5_emotion_model/model.safetensors b/models/0717_kobert_5_emotion_model/model.safetensors new file mode 100644 index 0000000..d2e5263 --- /dev/null +++ b/models/0717_kobert_5_emotion_model/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e60344684f1c077684da58c148956cb9d127451b4685357ac737efa10b99271 +size 368786356 diff --git a/models/0712_kobert_5_emotion_model/special_tokens_map.json b/models/0717_kobert_5_emotion_model/special_tokens_map.json similarity index 100% rename from models/0712_kobert_5_emotion_model/special_tokens_map.json rename to models/0717_kobert_5_emotion_model/special_tokens_map.json diff --git a/models/0712_kobert_5_emotion_model/spiece.model b/models/0717_kobert_5_emotion_model/spiece.model similarity index 100% rename from models/0712_kobert_5_emotion_model/spiece.model rename to models/0717_kobert_5_emotion_model/spiece.model diff --git a/models/0712_kobert_5_emotion_model/tokenizer_config.json b/models/0717_kobert_5_emotion_model/tokenizer_config.json similarity index 100% rename from models/0712_kobert_5_emotion_model/tokenizer_config.json rename to models/0717_kobert_5_emotion_model/tokenizer_config.json diff --git a/routers/predict.py b/routers/predict.py index de141b2..480a253 100644 --- a/routers/predict.py +++ b/routers/predict.py @@ -6,7 +6,6 @@ predict_emotion_split_avg, predict_emotion_overall_avg, ) -from db import collection router = APIRouter(prefix="/predict", tags=["Prediction"]) diff --git a/schemas.py b/schemas.py index e94eb7b..0b84f67 100644 --- a/schemas.py +++ b/schemas.py @@ -3,7 +3,6 @@ from pydantic import BaseModel - class TextItem(BaseModel): text: str