Spaces:
Paused
Paused
Update controllers/admin_controller.py
Browse files- controllers/admin_controller.py +24 -23
controllers/admin_controller.py
CHANGED
@@ -1,23 +1,24 @@
|
|
1 |
-
from fastapi import APIRouter
|
2 |
-
from
|
3 |
-
from
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
return
|
23 |
-
|
|
|
|
1 |
+
from fastapi import APIRouter
|
2 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
3 |
+
from core import INTENT_MODELS
|
4 |
+
import json, os
|
5 |
+
|
6 |
+
router = APIRouter()
|
7 |
+
|
8 |
+
@router.post("/load_intent_model")
|
9 |
+
def load_intent_model(project_name: str, model_path: str):
|
10 |
+
try:
|
11 |
+
tokenizer = AutoTokenizer.from_pretrained(model_path)
|
12 |
+
model = AutoModelForSequenceClassification.from_pretrained(model_path)
|
13 |
+
with open(os.path.join(model_path, "label2id.json")) as f:
|
14 |
+
label2id = json.load(f)
|
15 |
+
|
16 |
+
INTENT_MODELS[project_name] = {
|
17 |
+
"model": model,
|
18 |
+
"tokenizer": tokenizer,
|
19 |
+
"label2id": label2id
|
20 |
+
}
|
21 |
+
|
22 |
+
return {"status": "ok", "message": f"'{project_name}' intent modeli yüklendi."}
|
23 |
+
except Exception as e:
|
24 |
+
return {"error": str(e)}
|