Spaces:
Running
Running
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,77 +1,20 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
- يستخدم **HuggingFace Inference API**، لذلك **لا يحتاج GPU** داخل الـ Space.
|
| 9 |
-
|
| 10 |
---
|
| 11 |
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
1) افتح حسابك على Hugging Face ثم:
|
| 15 |
-
- New → **Create new Space**
|
| 16 |
-
- الاسم: `tnm-endpoint` (أو أي اسم)
|
| 17 |
-
- **SDK: FastAPI**
|
| 18 |
-
- **Hardware: CPU Basic** (يكفي لأن الحساب الفعلي يتم في Inference API)
|
| 19 |
-
- اختياري: **Private** لو تبي الإندبوينت خاص
|
| 20 |
-
|
| 21 |
-
2) بعد إنشاء الـ Space:
|
| 22 |
-
- من تبويب **Files & versions** ارفع الملفات التالية:
|
| 23 |
-
- `app.py`
|
| 24 |
-
- `requirements.txt`
|
| 25 |
-
- `README.md` (اختياري)
|
| 26 |
-
|
| 27 |
-
3) أضف **Secret** للمفتاح:
|
| 28 |
-
- Settings → Secrets → Add new secret
|
| 29 |
-
- Name: `HF_TOKEN`
|
| 30 |
-
- Value: (توكن حسابك من https://huggingface.co/settings/tokens)
|
| 31 |
-
- احفظ
|
| 32 |
-
|
| 33 |
-
> الموديلات العامة قد تعمل بدون توكن، لكن التوكن يضمن لك استقرار وحدود أعلى ويُلزم للموديلات الخاصة.
|
| 34 |
-
|
| 35 |
-
4) انتظر حتى يصبح Space في حالة **Running**.
|
| 36 |
|
| 37 |
-
|
| 38 |
-
|
| 39 |
|
| 40 |
-
|
|
|
|
| 41 |
```bash
|
| 42 |
-
curl -X POST "https://USERNAME-
|
| 43 |
-H "Content-Type: application/json" \
|
| 44 |
-
-d '{"text": "Tumor
|
| 45 |
-
```
|
| 46 |
-
|
| 47 |
-
**رد متوقع** (مثال):
|
| 48 |
-
```json
|
| 49 |
-
{
|
| 50 |
-
"input_chars": 92,
|
| 51 |
-
"tnm": {
|
| 52 |
-
"T": {"label": "T2", "score": 0.91, "raw": [...]},
|
| 53 |
-
"N": {"label": "N1", "score": 0.88, "raw": [...]},
|
| 54 |
-
"M": {"label": "M0", "score": 0.95, "raw": [...]}
|
| 55 |
-
},
|
| 56 |
-
"tnm_string": "T2 N1 M0",
|
| 57 |
-
"meta": {"models": {"T": "jkefeli/CancerStage_Classifier_T", "N": "jkefeli/CancerStage_Classifier_N", "M": "jkefeli/CancerStage_Classifier_M"}}
|
| 58 |
-
}
|
| 59 |
-
```
|
| 60 |
-
|
| 61 |
-
---
|
| 62 |
-
|
| 63 |
-
## 🔁 تخصيص أسماء الموديلات
|
| 64 |
-
تقدر تغيّر الموديلات بدون تعديل الكود عبر **Environment variables** داخل Settings → Variables:
|
| 65 |
-
|
| 66 |
-
- `MODEL_T` (الافتراضي: `jkefeli/CancerStage_Classifier_T`)
|
| 67 |
-
- `MODEL_N` (الافتراضي: `jkefeli/CancerStage_Classifier_N`)
|
| 68 |
-
- `MODEL_M` (الافتراضي: `jkefeli/CancerStage_Classifier_M`)
|
| 69 |
-
|
| 70 |
-
---
|
| 71 |
-
|
| 72 |
-
## 🧠 ملاحظات مهمة
|
| 73 |
-
- إذا أحد الموديلات غير متوافق مع مهمة `text-classification` في Inference API، جرّب موديل بديل أو حمّل الموديل محليًا (يتطلب GPU Space).
|
| 74 |
-
- لو تبغى **Batch API**، تقدر تضيف مسار جديد يقبل `List[str]` ويعيد قائمة من النتائج.
|
| 75 |
-
- للأمان، فكّر بإضافة **API Key** بسيط (Header) تتحقق منه قبل تنفيذ الطلب.
|
| 76 |
-
|
| 77 |
-
بالتوفيق! ✨
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: TNM Cancer Stage Endpoint
|
| 3 |
+
emoji: 🧬
|
| 4 |
+
colorFrom: indigo
|
| 5 |
+
colorTo: blue
|
| 6 |
+
sdk: docker
|
| 7 |
+
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
+
# TNM Endpoint (FastAPI)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
+
This Space hosts a **FastAPI endpoint** that takes a pathology/radiology report as input
|
| 13 |
+
and predicts **T, N, M cancer staging** using pretrained models on Hugging Face.
|
| 14 |
|
| 15 |
+
### Usage
|
| 16 |
+
Send a POST request with a report:
|
| 17 |
```bash
|
| 18 |
+
curl -X POST "https://USERNAME-tnm-endpoint.hf.space/predict_tnm" \
|
| 19 |
-H "Content-Type: application/json" \
|
| 20 |
+
-d '{"text": "Tumor is 3 cm w
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|