MohamedTry commited on
Commit
074322b
·
verified ·
1 Parent(s): 53baa09

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +14 -71
README.md CHANGED
@@ -1,77 +1,20 @@
1
-
2
- # TNM Endpoint (FastAPI on Hugging Face Spaces)
3
-
4
- Endpoint يستقبل **تقرير طبي نصي** ويعيد **توقعات T/N/M** باستخدام موديلات منشورة على Hugging Face.
5
-
6
- ## 🔧 ما الذي يفعله؟
7
- - `POST /predict_tnm` ← تدخل نص التقرير → يرجع `{ "T": ..., "N": ..., "M": ... }` مع درجات الثقة.
8
- - يستخدم **HuggingFace Inference API**، لذلك **لا يحتاج GPU** داخل الـ Space.
9
-
10
  ---
11
 
12
- ## 🚀 خطوات الرفع على Hugging Face Spaces
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
- 5) اختبر الصحة:
38
- - GET على: `https://USERNAME-SPACE_NAME.hf.space/healthz`
39
 
40
- 6) جرّب التنبؤ:
 
41
  ```bash
42
- curl -X POST "https://USERNAME-SPACE_NAME.hf.space/predict_tnm" \
43
  -H "Content-Type: application/json" \
44
- -d '{"text": "Tumor size is 3 cm with positive axillary lymph nodes, no distant metastasis detected."}'
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