Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
9211aa6
feat: add website assets from PR #169
d-ulker Sep 27, 2025
373da35
fix: replace HTML redirect favicon.ico with proper binary icon file
d-ulker Sep 27, 2025
97a6f63
fix: update HTML to use modular CSS structure
d-ulker Sep 27, 2025
ad48b66
fix: address code review issues in comprehensive-demo.css
d-ulker Sep 27, 2025
bdd5d57
feat: add core CSS architecture files
d-ulker Sep 27, 2025
b228a9e
feat: add UI component CSS files
d-ulker Sep 27, 2025
6095624
feat: add layout and interactive component CSS files
d-ulker Sep 27, 2025
1b8466f
feat: add final component CSS files and documentation
d-ulker Sep 27, 2025
3ba8ed0
feat: merge website assets with code review fixes
d-ulker Sep 27, 2025
c5fde3f
Fix emotion model ID configuration to use DeBERTa instead of DistilRo…
d-ulker Sep 27, 2025
f62e084
Fix model ID in HF serverless smoke test
d-ulker Sep 27, 2025
da69c8e
fix: resolve line length violations (FLK-E501)
d-ulker Sep 27, 2025
071a49e
feat: add centralized emotion model ID constant
d-ulker Sep 27, 2025
de24be4
fix: update deployment scripts to use standardized EMOTION_MODEL_ID
d-ulker Sep 27, 2025
74127d9
fix: update maintenance scripts to use EMOTION_MODEL_ID
d-ulker Sep 27, 2025
2c06358
fix: update testing script to use EMOTION_MODEL_ID
d-ulker Sep 27, 2025
803a692
fix: improve CSS maintainability and remove redundancy
d-ulker Sep 27, 2025
c3ec29d
refactor: remove redundant comprehensive-demo.css file
d-ulker Sep 27, 2025
e2d9cdf
fix: remove duplicated .demo-container styles from legacy CSS files
d-ulker Sep 27, 2025
edac879
fix: remove duplicated CSS variables from styles.css
d-ulker Sep 27, 2025
273ef29
refactor: consolidate CSS variables in index.css
d-ulker Sep 27, 2025
2dfbcfe
fix: add proper reduced motion accessibility support
d-ulker Sep 27, 2025
3eccedd
fix: address Copilot security and code quality concerns
d-ulker Sep 27, 2025
a3e0af0
πŸ”§ Refactor: Eliminate CSS Duplications & Enhance Security/Accessibility
deepsource-autofix[bot] Sep 27, 2025
602968b
fix: resolve FLK-E402 import ordering violations
d-ulker Sep 27, 2025
219c0d4
fix: properly resolve FLK-E402 import ordering violations
d-ulker Sep 27, 2025
3ea007c
fix: resolve FLK-E402 violations by proper import ordering
d-ulker Sep 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions scripts/deployment/bake_emotion_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import sys

from transformers import AutoTokenizer, AutoModelForSequenceClassification
from src.constants import DEFAULT_EMOTION_MODEL_ID

try:
from huggingface_hub import login # type: ignore
Expand All @@ -11,7 +12,7 @@


def main() -> int:
model_id = os.environ.get("EMOTION_MODEL_ID", "0xmnrv/samo")
model_id = os.environ.get("EMOTION_MODEL_ID", DEFAULT_EMOTION_MODEL_ID)
token = os.environ.get("HF_TOKEN")

if token and login is not None:
Expand All @@ -34,4 +35,4 @@ def main() -> int:


if __name__ == "__main__":
raise SystemExit(main())
raise SystemExit(main())
10 changes: 8 additions & 2 deletions scripts/deployment/patch_config_and_upload.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
# patch_config_and_upload.py
# pip install -U transformers huggingface_hub

# Add src to path to import constants
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
import tempfile
from transformers import AutoConfig
from huggingface_hub import HfApi, HfFolder
from transformers import AutoConfig

from src.constants import DEFAULT_EMOTION_MODEL_ID

MODEL_ID = os.getenv("MODEL_ID", "0xmnrv/samo")
MODEL_ID = os.getenv("EMOTION_MODEL_ID", DEFAULT_EMOTION_MODEL_ID)

# Get token from environment or local storage
TOKEN = os.getenv("HF_TOKEN")
Expand Down
13 changes: 9 additions & 4 deletions scripts/maintenance/infer_mapping_and_eval.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# Add src to path to import constants
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
import numpy as np
import torch
from tqdm import tqdm
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from sklearn.metrics import f1_score, accuracy_score
from scipy.optimize import linear_sum_assignment
from sklearn.metrics import f1_score, accuracy_score
from tqdm import tqdm
from transformers import AutoTokenizer, AutoModelForSequenceClassification

from src.constants import DEFAULT_EMOTION_MODEL_ID

MODEL_ID = os.getenv("MODEL_ID", "0xmnrv/samo")
MODEL_ID = os.getenv("EMOTION_MODEL_ID", DEFAULT_EMOTION_MODEL_ID)
TOKEN = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")
DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
BATCH = int(os.getenv("BATCH_SIZE", "32"))
Expand Down
11 changes: 8 additions & 3 deletions scripts/maintenance/metrics_test.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
# metrics_test.py
# pip install -U transformers datasets scikit-learn torch tqdm huggingface_hub

# Add src to path to import constants
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
import numpy as np
import torch
from tqdm import tqdm
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from sklearn.metrics import f1_score, accuracy_score
from tqdm import tqdm
from transformers import AutoTokenizer, AutoModelForSequenceClassification

from src.constants import DEFAULT_EMOTION_MODEL_ID

MODEL_ID = os.getenv("MODEL_ID", "0xmnrv/samo")
MODEL_ID = os.getenv("EMOTION_MODEL_ID", DEFAULT_EMOTION_MODEL_ID)
TOKEN = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
BATCH = int(os.getenv("BATCH_SIZE", "32"))
Expand Down
7 changes: 5 additions & 2 deletions scripts/testing/hf_serverless_smoke.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
#!/usr/bin/env python3
# Add src to path to import constants
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
import json
import time
import sys
from typing import List, Tuple

from src.constants import DEFAULT_EMOTION_MODEL_ID
import requests

HF_REPO = os.getenv("HF_REPO", "0xmnrv/samo")
HF_REPO = os.getenv("EMOTION_MODEL_ID", DEFAULT_EMOTION_MODEL_ID)
HF_TOKEN = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_TOKEN")

API_URL = f"https://api-inference.huggingface.co/models/{HF_REPO}"
Expand Down
3 changes: 3 additions & 0 deletions src/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@
# Emotion model configuration
DEFAULT_EMOTION_MODEL_DIR = "/app/models/emotion-english-distilroberta-base"
EMOTION_MODEL_DIR = os.getenv("EMOTION_MODEL_DIR", DEFAULT_EMOTION_MODEL_DIR)

# Default emotion model ID for HuggingFace Hub
DEFAULT_EMOTION_MODEL_ID = "duelker/samo-goemotions-deberta-v3-large"
6 changes: 3 additions & 3 deletions src/unified_ai_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -399,10 +399,10 @@ async def lifespan(_: FastAPI) -> AsyncGenerator[None, None]:
try:
# Prefer loading our HF Hub model; fallback to local BERT if unavailable
try:
from src.models.emotion_detection.hf_loader import (
from src.models.emotion_detection.hf_loader import \
load_emotion_model_multi_source
)
hf_model_id = os.getenv("EMOTION_MODEL_ID", "0xmnrv/samo")
from .constants import DEFAULT_EMOTION_MODEL_ID
hf_model_id = os.getenv("EMOTION_MODEL_ID", DEFAULT_EMOTION_MODEL_ID)
hf_token = os.getenv("HF_TOKEN")
local_dir = os.getenv("EMOTION_MODEL_LOCAL_DIR")
archive_url = os.getenv("EMOTION_MODEL_ARCHIVE_URL")
Expand Down
Loading
Loading