petbackend / README.md
Alp İpekçiler
Add required metadata to README.md
d55975f
---
title: Pet Backend
emoji: 🐶
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false
---
# Dog Breed Classification API
Bu Hugging Face Space, **Pavarissy/ConvNextV2-large-DogBreed** modelini kullanarak köpek ırkı sınıflandırması yapan bir FastAPI backend'idir.
## 🚀 Kurulum Adımları
### 1. Hugging Face Space Oluşturma
1. https://huggingface.co/spaces adresine gidin
2. "Create new Space" butonuna tıklayın
3. Space adını girin: `petbackend` (veya istediğiniz bir isim)
4. SDK olarak **"Docker"** veya **"Gradio"** yerine **"Docker"** seçin (FastAPI için)
5. Space'i oluşturun
### 2. Dosyaları Yükleme
Space oluşturulduktan sonra, bu klasördeki dosyaları Space'e yükleyin:
- `app.py` - Ana FastAPI uygulaması
- `requirements.txt` - Python bağımlılıkları
- `Dockerfile` - Docker yapılandırması (aşağıda)
### 3. Dockerfile Oluşturma
Space'inize bir `Dockerfile` eklemeniz gerekiyor:
```dockerfile
FROM python:3.9
WORKDIR /code
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
COPY ./app.py /code/
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
```
### 4. Alternatif: Gradio SDK Kullanımı
Eğer Docker yerine Gradio SDK kullanmak isterseniz:
1. Space oluştururken SDK olarak "Gradio" seçin
2. Sadece `app.py` ve `requirements.txt` dosyalarını yükleyin
3. Hugging Face otomatik olarak FastAPI'yi çalıştıracaktır
## 📡 API Endpoints
### GET /
Ana endpoint - API durumunu gösterir
```bash
curl https://alpingo23-petbackend.hf.space/
```
### POST /predict_pet
Köpek ırkı tahmini yapar
```bash
curl -X POST https://alpingo23-petbackend.hf.space/predict_pet \
-F "image=@dog_image.jpg"
```
**Response Format:**
```json
{
"predicted_label": "n02085620-Chihuahua",
"confidence": 0.95,
"detection": {
"box": {
"x": 50.0,
"y": 50.0,
"width": 400.0,
"height": 400.0
}
},
"imageDimensions": {
"width": 500,
"height": 500
}
}
```
### GET /health
Sağlık kontrolü endpoint'i
```bash
curl https://alpingo23-petbackend.hf.space/health
```
## 🔧 React Native Entegrasyonu
App.js dosyanızda zaten doğru endpoint'i kullanıyorsunuz:
```javascript
const res = await axios.post('https://alpingo23-petbackend.hf.space/predict_pet', formData, {
headers: { 'Content-Type': 'multipart/form-data' },
});
```
## 🐛 Hata Ayıklama
Space çalışmıyorsa:
1. **Logs kontrolü**: Space sayfasında "Logs" sekmesini kontrol edin
2. **Build durumu**: "Building" durumunda mı kontrol edin
3. **Model yükleme**: İlk açılışta model indirilir, 2-3 dakika sürebilir
4. **API testi**: `/health` endpoint'ini test edin
## 📝 Notlar
- Model ilk yüklendiğinde indirme yapacağı için 2-3 dakika sürebilir
- CORS tüm kaynaklardan gelen isteklere açık (production'da düzeltilmeli)
- Detection box simülasyondur, gerçek nesne tespiti yapmaz
- Model 120+ köpek ırkını tanıyabilir
## 🔗 Bağlantılar
- Model: https://huggingface.co/Pavarissy/ConvNextV2-large-DogBreed
- Space URL: https://alpingo23-petbackend.hf.space
- Docs: https://alpingo23-petbackend.hf.space/docs (otomatik FastAPI docs)