ksapc
تقليص الصورة: إزالة النموذج القرآنيّ غير المستعمَل وtorch/transformers — علاج الإقلاع البارد (209ث مقيسة)
a89bed7 | # خادم التفريغ الصوتيّ للمرتل — faster-whisper large-v3 (float16) على T4. | |
| # general = openai/whisper-large-v3 (أمين للمنطوق — الأفضل لرصد أخطاء القارئ) — المسار الوحيد المستعمَل. | |
| # CUDA 12.4 + cuDNN 9 (يلزمان CTranslate2 4.5+). النموذج مبنيٌّ في الصورة (لا تنزيل وقت التشغيل). | |
| FROM nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04 | |
| ENV DEBIAN_FRONTEND=noninteractive HF_HOME=/app/hf HF_HUB_ENABLE_HF_TRANSFER=1 | |
| WORKDIR /app | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| python3 python3-pip libsndfile1 ca-certificates && rm -rf /var/lib/apt/lists/* | |
| RUN pip3 install --no-cache-dir fastapi "uvicorn[standard]" numpy soundfile hf_transfer \ | |
| "faster-whisper>=1.1.0" "ctranslate2>=4.5" | |
| # النموذج العامّ فقط: نسخة CTranslate2 الجاهزة من faster-whisper، مخزَّنةٌ في الصورة. | |
| # ★ أُزيل النموذج القرآنيّ (ahishamm/finetuned-whisper-quranic-large-v3) وtorch/transformers من | |
| # الصورة في 2026-08-14. سببه مقيس: الإقلاع البارد كان **٢٠٩ ثوانٍ** (رُصد على المستخدمين: انتظارٌ | |
| # من دقيقةٍ إلى أربع عند فتح التطبيق بعد نوم المساحة) — وكانت الصورة تحمل ~٦.٥ جيجابايت من أوزانٍ | |
| # وحزمٍ **لا يستدعيها التطبيق إطلاقًا**: الكود يطلب ?m=general حصرًا (تأكيدٌ بفحص كلّ الملفّات)، | |
| # لأنّ النموذج المُدرَّب على القرآن يحفظ النصّ فيُصحّح خطأ القارئ صامتًا فيُخفي ما وُجد التطبيق لكشفه. | |
| # faster-whisper يعمل على CTranslate2 ولا يحتاج torch البتّة. لإعادة مسار quran مستقبلًا: | |
| # أعِد سطرَي pip وsnapshot_download أدناه — واعلم أنّهما يُضاعفان زمن الإقلاع البارد. | |
| RUN python3 -c "from faster_whisper import download_model; download_model('large-v3', cache_dir='/app/hf')" | |
| RUN chmod -R a+rX /app | |
| COPY app.py ./ | |
| EXPOSE 7860 | |
| CMD ["python3", "-m", "uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] | |