Hub documentation
Spaces Genel Bakış
Spaces Genel Bakış
Hugging Face Spaces, ML destekli demoları dakikalar içinde oluşturmanızı ve dağıtmanızı kolaylaştırır. Spaces hakkında kısa bir giriş için aşağıdaki videoyu izleyin:
Aşağıdaki bölümlerde, bir Space oluşturma, yapılandırma ve kodunuzu bu Space'e dağıtma temellerini öğreneceksiniz.
Yeni bir Space oluşturma
Yeni bir Space oluşturmak için Spaces ana sayfasına gidin ve Yeni Space oluştur seçeneğine tıklayın. Space’iniz için bir ad seçmenin, isteğe bağlı bir lisans belirlemenin ve Space’inizin görünürlüğünü (herkese açık, korumalı veya özel) ayarlamasının yanı sıra, Space’iniz için bir SDK seçmeniz istenir. Hub üç SDK seçeneği sunar: Gradio, Docker ve statik HTML. SDK olarak “Gradio” seçerseniz, aşağıdaki sayfayı gösteren yeni bir repoya yönlendirilirsiniz:
Statik Spaces herkes için ücretsizdir. Gradio ve Docker Spaces hesaplama üzerinde çalışır ve oluşturulması ücretli bir plan gerektirir: kişisel hesaplar için PRO, kuruluşlar için Team or Enterprise. İyi durumda olan ücretsiz kişisel hesaplar, ZeroGPU üzerinde çalışan en fazla 2 Gradio Space barındırmaya devam edebilir.

Arka planda, Spaces kodunuzu, model ve veri seti depoları gibi bir git deposunun içinde saklar. Bu sayede, Hub'daki diğer depolar için kullandığımız aynı araçlar (git ve git-xet) Spaces için de çalışır. Space'inize dosya eklemek için Depolarla Başlangıç bölümündeki akışı izleyin. Her yeni commit gönderildiğinde, Space otomatik olarak yeniden derlenir ve yeniden başlatılır.
İlk Space'inizi oluşturmaya dair adım adım eğitimler için aşağıdaki kılavuzlara göz atın:
Alan görünürlüğü
Bir Space'in görünürlüğünü Ayarlar sekmesindeki görünürlük açılır listesinden ayarlayabilirsiniz. Spaces üç görünürlük düzeyini destekler: public, protected ve private.
Korumalı görünürlük, PRO veya Team & Enterprise planlarının bir parçasıdır.
| Herkese açık | Korumalı | Özel | |
|---|---|---|---|
| Hub'daki kaynak kod | Herkes tarafından görülebilir | Özel (sadece sahip/işbirlikçiler) | Özel (sadece sahip/işbirlikçiler) |
| Gömme URL'si üzerinden erişilebilir uygulama | Evet | Evet | Hayır |
| özel alan adı üzerinden erişilebilir uygulama | Evet | Evet | Hayır |
| Başkaları tarafından klonlanabilir | Evet | Hayır | Hayır |
Herkese açık Spaces tamamen açıktır: herkes kaynak kodunu görüntüleyebilir, çalışan uygulamaya erişebilir ve deposunu klonlayabilir.
Korumalı Spaces, kaynak kodlarını Hub üzerinde gizli tutar — yalnızca sahip ve iş birliği yapanlar depoyu görüntüleyebilir veya klonlayabilir. Ancak, çalışan uygulama, gömme URL'si (https://<space-subdomain>.hf.space) üzerinden veya yapılandırılmışsa özel bir alan adı üzerinden herkese açıktır. Bu, kaynak kodu yayınlamadan web siteleri veya uygulamalar barındırmak için özellikle faydalıdır.
Özel Spaces tamamen özeldir: kaynak kod ve çalışan uygulama yalnızca sahibi ve işbirlikçileri tarafından erişilebilir. Space arama sonuçlarında görünmez ve diğer kullanıcılar URL'ini ziyaret ettiğinde 404 hatası alır.
Donanım kaynakları
Her Spaces ortamı varsayılan olarak 16 GB RAM, 2 CPU çekirdeği ve 50 GB (kalıcı olmayan) disk alanıyla sınırlıdır. Varsayılan CPU Basic donanımının saatlik maliyeti yoktur; ancak hesaplama (Gradio veya Docker) üzerinde çalışan bir Space oluşturmak ücretli bir plan gerektirir, Static Spaces ise herkes için ücretsizdir. rekabetçi bir fiyatla GPU hızlandırıcıları dahil olmak üzere daha iyi donanımlara yükseltme yapabilirsiniz. Yükseltme talep etmek için Space'inizdeki Ayarlar düğmesine tıklayın ve tercih ettiğiniz donanım ortamını seçin.
| Donanım | CPU | Bellek | GPU Belleği | Saatlik Fiyat |
|---|---|---|---|---|
| CPU Temel | 2 vCPU | 16 GB | ÜCRETSİZ | |
| CPU Yükseltmesi | 8 vCPU | 32 GB | $0.03 | |
| Nvidia T4 - küçük | 4 vCPU | 15 GB | 16 GB | $0.40 |
| Nvidia T4 - orta | 8 vCPU | 30 GB | 16 GB | $0.60 |
| 1x Nvidia L4 | 8 vCPU | 30 GB | 24 GB | $0.80 |
| 4x Nvidia L4 | 48 vCPU | 186 GB | 96 GB | $3.80 |
| 1x Nvidia L40S | 8 vCPU | 62 GB | 48 GB | $1.80 |
| 4x Nvidia L40S | 48 vCPU | 382 GB | 192 GB | $8.30 |
| 8x Nvidia L40S | 192 vCPU | 1534 GB | 384 GB | $23.50 |
| 1x Nvidia RTX PRO 6000 | 23 vCPU | 256 GB | 96 GB | $2.75 |
| 2x Nvidia RTX PRO 6000 | 46 vCPU | 512 GB | 192 GB | $5.50 |
| 4x Nvidia RTX PRO 6000 | 92 vCPU | 1024 GB | 384 GB | $11.00 |
| 8x Nvidia RTX PRO 6000 | 184 vCPU | 2048 GB | 768 GB | $22.00 |
| Nvidia A10G - küçük | 4 vCPU | 15 GB | 24 GB | $1.00 |
| Nvidia A10G - büyük | 12 vCPU | 46 GB | 24 GB | $1.50 |
| 2x Nvidia A10G - büyük | 24 vCPU | 92 GB | 48 GB | $3.00 |
| 4x Nvidia A10G - büyük | 48 vCPU | 184 GB | 96 GB | $5.00 |
| Nvidia A100 - büyük | 12 vCPU | 142 GB | 80 GB | $2.50 |
| 4x Nvidia A100 | 48 vCPU | 568 GB | 320 GB | $10.00 |
| 8x Nvidia A100 | 96 vCPU | 1136 GB | 640 GB | $20.00 |
Not: Daha ayrıntılı ve kapsamlı fiyatlandırma bilgilerini fiyatlandırma sayfamızda bulabilirsiniz.
Harika bir Space'iniz var ancak donanım yükseltme maliyetlerini karşılamak için yardıma mı ihtiyacınız var? Yenilikçi bir Space'e sahip olanlara yardımcı olmaktan büyük keyif alıyoruz, bu yüzden Space'inizin Ayarlar sekmesindeki bağlantıyı kullanarak topluluk GPU hibe başvurusunda bulunmaktan çekinmeyin ve projenizin seçilip seçilmediğini görün!
Daha fazla bilgi için Spaces GPU Yükseltmeleri ve Spaces Disk Kullanımı & Depolama başlıklı bölümlerimize göz atın.

Gizli bilgilerin ve ortam değişkenlerinin yönetimi
Uygulamanız ortam değişkenleri gerektiriyorsa (örneğin gizli anahtarlar veya jetonlar), bunları uygulamanızın içinde sabit kod olarak yazmayın! Bunun yerine, Space deposunuzun Ayarlar sayfasına gidin ve yeni bir değişken veya gizli değer ekleyin. Hassas olmayan yapılandırma değerlerini depolamak için değişkenleri, erişim jetonlarını, API anahtarlarını veya herhangi bir hassas değeri veya kimlik bilgisini depolamak için gizli değerleri kullanın.

Şunları kullanabilirsiniz:
- Hassas olmayan yapılandırma değerlerini depolamanız gerekiyorsa Değişkenler kullanın. Bunlar herkese açıktır ve görüntülenebilir ve sizinkinden kopyalanan Spaces'lere otomatik olarak eklenir.
- Erişim jetonlarını, API anahtarlarını veya herhangi bir hassas değeri veya kimlik bilgisini saklamak için kullanılan Gizli Bilgiler. Bunlar özel niteliktedir ve ayarlandıktan sonra Space'in ayarlar sayfasından değerleri okunamaz. Deponuzdan kopyalanan Space'lere eklenmezler.
Space SDK'nıza bağlı olarak gizli bilgilerin ve değişkenlerin erişimi farklıdır:
- Statik Spaces için her ikisi de
window.huggingface.variablesüzerinden istemci tarafı JavaScript ile kullanılabilir. - Docker Spaces için Docker ile ortam yönetimi konusuna göz atın
Diğer Spaces için her ikisi de uygulamanıza ortam değişkeni olarak sunulur. Daha önce tanımlanan MODEL_REPO_ID değişkenine Python'da erişiminin çok basit bir örneği aşağıdadır (gizli bilgiler için de aynı olacaktır):
import os
print(os.getenv('MODEL_REPO_ID'))Spaces sahipleri, Spaces Secrets Scanner sabit kodlanmış gizli bilgileri bulduğunda uyarılır.
Bir Space'in Kopyalanması
Bir Space'i çoğaltmak, başka bir demo başlangıç şablonu olarak kullanarak yeni bir demo oluşturmak istediğinizde faydalı olabilir. Hızlı çıkarım için kullanımınıza özel bireysel bir Yükseltilmiş Space'e sahip olmak istediğinizde de çoğaltılmış Space'ler faydalı olabilir.
Bir Space'i çoğaltmak istiyorsanız, Space'in sağ üst köşesindeki üç noktaya tıklayıp Duplicate this Space seçeneğine tıklayabilirsiniz. Bunu yaptığınızda aşağıdaki öznitelikleri değiştirebilirsiniz:
- Sahip: Kopyalanan Space hesabınız altında veya yazma erişiminiz olan herhangi bir kuruluşta olabilir
- Alan adı
- Görünürlük: Uzay varsayılan olarak özeldir. Görünürlük seçenekleri hakkında daha fazla bilgi için buraya bakın.
- Donanım: Space'in çalışacağı donanımı seçebilirsiniz. Donanım yükseltmeleri hakkında daha fazla bilgi için buraya bakın.
- Depolama: Orijinal depo bir depolama kovası kullanıyorsa, depolamayı yapılandırmak için size istek gönderilir. Disk kullanımı ve depolama hakkında daha fazla bilgiyi burada okuyabilirsiniz.
- Gizli bilgiler ve değişkenler: Orijinal depoda bazı gizli bilgiler ve değişkenler tanımlanmışsa, depoyu çoğaltırken bunları da ayarlayabilirsiniz.
Bazı Spaces, ayarlamanız gerekebilecek ortam değişkenlerine sahip olabilir. Bu durumlarda, çoğaltma iş akışı, kaynak Space'teki herkese açık Değişkenleri otomatik olarak doldurur ve Gizli Bilgileri (Secrets) ayarlamanız konusunda size bir uyarı verir. Çoğaltılan Space varsayılan olarak CPU Basic donanımını kullanır, ancak gerekirse daha sonra yükseltebilirsiniz. Çoğaltma işlemi, yeni bir Space oluşturma ile aynı kurallara tabidir: Gradio veya Docker Space çoğaltmak, hedef hesap veya kuruluş için ücretli bir plan gerektirir (kişisel hesaplar için aynı ZeroGPU ücretsiz katmanı istisnası hariç).
Ağ
Space'iniz ağ istekleri yapması gerekiyorsa, standart HTTP ve HTTPS portları (80 ve 443) ile 8080 portu üzerinden istekler yapabilirsiniz. Diğer portlara giden tüm istekler engellenir.
Yaşam döngüsü yönetimi
Ücretsiz donanımda, Space'iniz kullanılmadığı takdirde belirli bir süre sonra “uyku moduna” geçer ve çalışmayı durdurur. Space'inizin sınırsız süreyle çalışmasını istiyorsanız, ücretli donanıma yükseltme yapmayı düşünebilirsiniz. Ayrıca Space'inizi Ayarlar sekmesinden manuel olarak duraklatabilirsiniz. Duraklatılan bir Space, yazma erişimine sahip biri tarafından yeniden başlatılana kadar çalışmayı durdurur. Duraklatma süresi faturalandırılmaz.
Yerleşik ortam değişkenleri
Bazı durumlarda, Space yazarına veya depo adına programatik erişim almak isteyebilirsiniz. Bu özellik, kullanıcıların Space'inizi çoğaltmasını beklediğinizde özellikle faydalıdır. Bunu kolaylaştırmak için Spaces, çalışma zamanında farklı ortam değişkenlerini açığa çıkarır (bkz. ayrıca Jobs'ta yerleşik ortam değişkenleri). osanseviero/i-like-flan adlı bir Space için:
ACCELERATOR: Kullanılabilir hızlandırıcının türü (ör.t4-medium,a10g-small) veya yalnızca CPU kullanan Spaces içinnone.CPU_CORES: 4MEMORY: 15GiSPACE_AUTHOR_NAME: osansevieroSPACE_REPO_NAME: i-like-flanSPACE_TITLE: I Like Flan (README dosyasında belirtilir)SPACE_ID:osanseviero/i-like-flanSPACE_HOST:osanseviero-i-like-flan.hf.spaceSPACE_CREATOR_USER_ID:6032802e1f993496bc14d9e3- Bu, Space'i ilk olarak oluşturan kullanıcının kimlik numarasıdır. Space bir organizasyon altındaysa işe yarar. Kullanıcı bilgilerinihttps://huggingface.co/api/users/{SPACE_CREATOR_USER_ID}/overviewadresine bir API çağrısı yaparak alabilirsiniz.SPACE_SIGNING_SECRET: Space'inize özgü, gizli olarak maruz bırakılan rastgele bir gizli anahtar. Yeniden başlatmalar, yeniden derlemeler ve kopyalar arasında aynı kalır; bu sayede çerezler, OAuth durumu veya CSRF jetonları gibi öğeleri imzalamak için kullanabilirsiniz. Kendi değerinizi kullanmak isterseniz, Space ayarlarınızdaSPACE_SIGNING_SECRETadında bir gizli anahtar ekleyin.
Eğer OAuth Space'iniz için etkinleştirildiyse, aşağıdaki değişkenler de kullanılabilir olacaktır:
OAUTH_CLIENT_ID: OAuth uygulamanızın istemci kimliği (halka açık)OAUTH_CLIENT_SECRET: OAuth uygulamanızın istemci gizli anahtarıOAUTH_SCOPES: OAuth uygulamanızın erişebildiği kapsamlar. Şu anda bu her zaman"openid profile"'dır.OPENID_PROVIDER_URL: OpenID sağlayıcısının URL'si. OpenID meta verileri{OPENID_PROVIDER_URL}/.well-known/openid-configurationadresinde kullanılabilir olacaktır.
Depoyu Klonlayın
Space depoyunuzu yerel olarak kolayca klonlayabilirsiniz. Bunun için Space sayfanızın sağ üst köşesindeki açılır menüye tıklayarak başlayın:

“Clone repository” seçeneğini seçin, ardından Space deposunu HTTPS veya SSH kullanarak yerel makinenize klonlamak için talimatları izleyebilirsiniz.


Hub'da Modelleri ve Veri Setlerini Bağlama
Space’inizin README metadata’sına tanımlayıcılarını ekleyerek Space’inizin bağlantı kurduğu tüm modelleri ve veri kümelerini sergileyebilirsiniz. Bunu yapmak için bunları models ve datasets anahtarlarının altında tanımlayabilirsiniz. README dosyasında bu artefaktları listelemekle kalmayıp herhangi bir .py, .ini veya .html dosyasında da kaydedebilirsiniz. Biz bunu otomatik olarak ayrıştıracağız!
Bir uzaydaki iki modeli bağlayan bir örnek:
title: My lovely space
emoji: 🤗
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
models:
- reach-vb/musicgen-large-fp16-endpoint
- reach-vb/wav2vec2-large-xls-r-1B-common_voice7-lt-ft