Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available:
6.1.0
🚀 คู่มือการ Deploy F5-TTS Thai WebUI
วิธีการ Deploy ไป Hugging Face Spaces
ขั้นตอนที่ 1: เตรียม Account และ Repository
สร้าง Hugging Face Account (ถ้ายังไม่มี)
- ไปที่ https://huggingface.co/join
- สร้าง account ฟรี
สร้าง Space ใหม่
- ไปที่ https://huggingface.co/new-space
- ตั้งชื่อ Space (เช่น
f5-tts-thai) - เลือก SDK: Gradio
- เลือก Hardware: CPU basic (ฟรี) หรือ GPU (ต้องเสียเงิน)
ขั้นตอนที่ 2: Upload โค้ด
วิธีที่ 1: ใช้ Git (แนะนำ)
# Clone repository ที่สร้างจาก HF Spaces
git clone https://huggingface.co/spaces/YOUR_USERNAME/f5-tts-thai
cd f5-tts-thai
# คัดลอกไฟล์จากโปรเจ็กต์ของคุณ
cp -r /path/to/F5-TTS-THAI/src .
cp /path/to/F5-TTS-THAI/app.py .
cp /path/to/F5-TTS-THAI/requirements.txt .
# สร้าง README.md จาก README_DEPLOYMENT.md
cp /path/to/F5-TTS-THAI/README_DEPLOYMENT.md README.md
# Commit และ push
git add .
git commit -m "Initial deployment"
git push
วิธีที่ 2: อัปโหลดผ่าน Web Interface
- ไปที่ Space ที่คุณสร้าง
- คลิก "Files and versions"
- อัปโหลดไฟล์ทีละไฟล์:
app.pyrequirements.txtREADME.md(จาก README_DEPLOYMENT.md)- โฟลเดอร์
src/ทั้งหมด
ขั้นตอนที่ 3: ตรวจสอบการ Deploy
รอการ Build
- Hugging Face จะ build app อัตโนมัติ
- ดู logs ได้ที่ "Logs" tab
ทดสอบ App
- เมื่อ build สำเร็จ จะแสดง URL ของ app
- ทดสอบ functionality ต่างๆ
ขั้นตอนที่ 4: Configuration ขั้นสูง
เปิดใช้งาน GPU (ต้องเสียเงิน)
# ใน README.md header
---
title: F5-TTS Thai
emoji: 🎤
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: mit
python_version: 3.10
hardware: gpu-t4-small # เปลี่ยนจาก cpu-basic
---
ปรับแต่ง Environment Variables
ใน Space settings เพิ่ม variables:
CUDA_VISIBLE_DEVICES=0(สำหรับ GPU)TRANSFORMERS_CACHE=/tmp(เพื่อประหยัด storage)
วิธีการ Deploy ไป Gradio.app
ขั้นตอนที่ 1: สร้าง Account
- ไปที่ https://gradio.app
- สร้าง account และ login
ขั้นตอนที่ 2: Deploy
# ติดตั้ง gradio
pip install gradio
# Upload app
python app.py --share
การ Optimize สำหรับ Production
1. ลดขนาด Model
# ใน config.py เปลี่ยนเป็น
DEFAULT_MODEL_BASE = "hf://VIZINTZOR/F5-TTS-THAI/model_650000_FP16.pt" # ใช้ FP16
2. เพิ่ม Caching
# ใน model_manager.py
@lru_cache(maxsize=1)
def get_cached_model():
return load_model(...)
3. ปรับแต่ง Memory Usage
# ใน app.py
import torch
torch.set_num_threads(2) # ลด CPU threads
4. เพิ่ม Error Handling
# ใน app.py
import gc
import torch
def cleanup_memory():
gc.collect()
if torch.cuda.is_available():
torch.cuda.empty_cache()
Troubleshooting
ปัญหา: Out of Memory
แก้ไข:
# ใช้โมเดล FP16
# ลด NFE steps
# เพิ่ม memory cleanup
ปัญหา: Slow Loading
แก้ไข:
# Pre-load models
# ใช้ model caching
# ปรับ CPU/GPU settings
ปัญหา: Import Errors
แก้ไข:
# ตรวจสอบ requirements.txt
# เพิ่ม try-except สำหรับ imports
# ใช้ fallback interface
การ Monitor และ Maintain
1. ดู Logs
# ดู logs ของ HF Spaces
# Monitor memory usage
# ตรวจสอบ error rates
2. Update App
# git pull latest changes
# test locally first
# deploy gradually
3. Scale Up/Down
# เปลี่ยน hardware specs
# ปรับ concurrent users
# optimize model loading
Security Considerations
1. Input Validation
def validate_audio_input(audio_file):
# ตรวจสอบขนาดไฟล์
# ตรวจสอบรูปแบบไฟล์
# จำกัดความยาวเสียง
2. Rate Limiting
import time
from functools import wraps
def rate_limit(calls_per_minute=10):
# implement rate limiting
3. Content Filtering
def filter_inappropriate_content(text):
# กรองเนื้อหาที่ไม่เหมาะสม
# ตรวจสอบ spam
Cost Optimization
Free Tier (CPU)
- ข้อจำกัด: ช้า, memory จำกัด
- เหมาะสำหรับ: demo, testing
GPU Tier (T4/A10G)
- ราคา: ~$0.60-3.00/ชั่วโมง
- เหมาะสำหรับ: production, fast inference
Tips ประหยัดค่าใช้จ่าย
- ใช้ CPU สำหรับ development
- เปิด GPU เฉพาะเวลาที่ต้องการ
- ใช้ auto-shutdown
- Monitor usage regularly
สรุป
การ deploy F5-TTS Thai WebUI ไป cloud platforms ทำได้ง่ายและมีหลายทางเลือก:
✅ Hugging Face Spaces: ง่าย, มี free tier
✅ Gradio.app: รวดเร็ว, เหมาะสำหรับ quick demos
✅ Cloud Platforms: AWS, GCP, Azure สำหรับ enterprise
เลือกตามความต้องการและงบประมาณของคุณ! 🚀