Anthony Oluyele commited on
Commit
4c20ed7
·
1 Parent(s): 8ea4dc1
Dockerfile ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Dockerfile
2
+ FROM python:3.10
3
+
4
+ WORKDIR /code
5
+
6
+ COPY requirements.txt .
7
+ RUN pip install --no-cache-dir -r requirements.txt
8
+
9
+ COPY . .
10
+
11
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
main.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # main.py
2
+ import re
3
+ import joblib
4
+ from fastapi import FastAPI, Request
5
+ from pydantic import BaseModel
6
+
7
+ app = FastAPI()
8
+
9
+ # Load model and vectorizer
10
+ model = joblib.load("team_classifier_model.joblib")
11
+ vectorizer = joblib.load("tfidf_vectorizer.joblib")
12
+
13
+
14
+ def clean_text(text):
15
+ text = re.sub(r"\s+", " ", str(text))
16
+ text = re.sub(r"[^\w\s]", "", text)
17
+ return text.lower().strip()
18
+
19
+
20
+ class InputText(BaseModel):
21
+ subject: str
22
+ message: str
23
+
24
+
25
+ @app.post("/classify")
26
+ async def classify_ticket(data: InputText):
27
+ combined = clean_text(f"{data.subject} {data.message}")
28
+ vec = vectorizer.transform([combined])
29
+ prediction = model.predict(vec)[0]
30
+ return {"team": prediction}
requirements.txt ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ annotated-types==0.7.0
2
+ anyio==4.9.0
3
+ click==8.2.1
4
+ colorama==0.4.6
5
+ fastapi==0.115.14
6
+ h11==0.16.0
7
+ idna==3.10
8
+ joblib==1.5.1
9
+ numpy==2.3.1
10
+ pydantic==2.11.7
11
+ pydantic_core==2.33.2
12
+ scikit-learn==1.7.0
13
+ scipy==1.16.0
14
+ sniffio==1.3.1
15
+ starlette==0.46.2
16
+ threadpoolctl==3.6.0
17
+ typing-inspection==0.4.1
18
+ typing_extensions==4.14.0
19
+ uvicorn==0.35.0
team_classifier_model.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0cebd3e3c298826f781d3581609acb250b01aa99ca0f7829884d237997638e60
3
+ size 9003294
tfidf_vectorizer.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:31c82cf47caa0ead76330bb87e94e14877741055e4dce4fcb2089646f05cd322
3
+ size 6501394