Hugging Face, AI modelleri, veri setleri ve alanlar için en büyük merkezdir. Ancak Rusya, Çin ve diğer bazı ülkelerden kullanıcılar, sayfanın yüklenmemesi, model indirme işleminin kesilmesi veya API'nin 403 hatası vermesi gibi engellerle sıkça karşılaşmaktadır. Sinir ağlarıyla çalışıyorsanız ve depolara istikrarlı erişim istiyorsanız, proxy bu sorunu hızlı ve karmaşık ayarlamalar olmadan çözer.
Hugging Face neden erişilemez: engellerin nedenleri
Proxy ayarlamadan önce, erişim sorunlarının nedenlerini anlamak önemlidir. Nedenler çeşitlidir ve bu, hangi çözümün sizin için uygun olduğunu belirler.
Sağlayıcı tarafından coğrafi engelleme. Rusya'da bazı internet sağlayıcıları, düzenleyicilerin talebi üzerine yurtdışındaki kaynaklara giden trafiği engeller veya yavaşlatır. Hugging Face, özellikle birkaç gigabayttan yüzlerce GB'ye kadar olan model dosyalarının geçtiği CDN sunucuları üzerinden bu tür kısıtlamalara maruz kalmaktadır.
Kurumsal güvenlik duvarları. Bir şirkette veya üniversitede çalışıyorsanız, ağ yöneticileri dış depolara erişimi engelleyebilir. Bu, özellikle güvenlik politikalarının bilinmeyen kaynaklardan dosya indirmeyi yasakladığı devlet kurumları ve büyük şirketler için geçerlidir.
Hugging Face'in kendi kısıtlamaları. 2024 yılında platform, bazı bölgelerde belirli modellerin indirilmesine kısıtlamalar getirdi — özellikle ABD'nin ihracat kontrolüne tabi olanlar. "restricted" etiketi taşıyan modeller, hesap doğrulaması gerektirebilir veya belirli IP adreslerinden tamamen erişilemeyebilir.
Bağlantı istikrarsızlığı ve kesintiler. Resmi bir engel olmasa bile, Rusya'dan Hugging Face sunucularına giden trafiğin yönlendirilmesi o kadar istikrarsız olabilir ki, 20 GB'lık bir modelin indirilmesi sürekli kesintiye uğrayabilir. ABD veya Avrupa'daki sunuculara sahip proxy'ler bu sorunu düzeltir — trafik istikrarlı bir kanaldan geçer.
IP başına oran sınırlaması. Hugging Face, bir IP adresinden gelen isteklerin sayısını sınırlar. Eğer ardışık olarak birkaç modeli otomatik olarak indiriyorsanız veya veri setlerini toplu olarak indirmek için betikler kullanıyorsanız, platform IP'nizi geçici olarak engelleyebilir. Proxy rotasyonu bu sorunu çözer.
Önemli: VPN, proxy ile aynı şey değildir. VPN, cihazın tüm trafiğini şifreler ve genellikle bağlantıyı yavaşlatır. Proxy, belirli bir uygulama veya betik düzeyinde çalışır, bu da büyük dosyaların indirilmesi ve otomasyon için daha uygundur.
Hugging Face ile çalışırken proxy'nin sağladığı avantajlar
Proxy sunucusu, bilgisayarınız ile Hugging Face sunucuları arasında bir aracıdır. Engellenmiş veya istikrarsız olabilecek doğrudan bir bağlantı yerine, istek proxy sunucusu üzerinden, normal erişime sahip bir ülkede bulunan bir sunucuya yönlendirilir.
İşte pratikte sağladığı avantajlar:
- Büyük dosyaların istikrarlı indirilmesi. LLaMA 3, Mistral, Stable Diffusion gibi modeller 4 GB'dan 150+ GB'a kadar değişir. Avrupa veya ABD'deki bir sunucuya sahip proxy üzerinden indirme kesintisiz gerçekleşir, çünkü Hugging Face'e giden kanal kısa ve istikrarlıdır.
- Sağlayıcının coğrafi engellerinin aşılması. Sağlayıcınız yalnızca proxy sunucusuna giden trafiği görür — Hugging Face'e değil. Engelleme otomatik olarak aşılır.
- Oran sınırlamasını aşmak için IP değişimi. Birçok modeli veya veri setini ardışık olarak indirmek gerekiyorsa, proxy rotasyonu IP başına geçici engellerden kaçınmanıza yardımcı olur.
- GUI'siz sunucularda çalışma. Proxy, ortam değişkenleri aracılığıyla kolayca ayarlanabilir — bu, uzaktan sunucularda, Docker konteynerlerinde, Jupyter defterlerinde ve CI/CD boru hatlarında çalışmak için uygundur.
- Restricted modellere erişim. Bazı modeller yalnızca belirli ülkelerin IP'leri ile erişilebilir. Gerekli coğrafi konuma sahip proxy, bu modellere erişimi açar.
Bu arada, proxy, projenizin kodunda değişiklik gerektirmez — ayarları bir kez sistemde veya ortamda belirtmek yeterlidir ve tüm araçlar (huggingface_hub, transformers, git-lfs) otomatik olarak proxy üzerinden çalışmaya başlar.
Modelleri indirmek için hangi proxy türleri uygundur
Tüm proxy'ler Hugging Face ile çalışmak için aynı derecede uygun değildir. Temel türleri ve bu görev için uygunluklarını inceleyelim.
| Proxy Türü | Hız | İstikrar | Hugging Face için | Ne zaman tercih edilmeli |
|---|---|---|---|---|
| Veri Merkezi (DC) | ⚡ Yüksek | ✅ Yüksek | ✅ Mükemmel | Model indirme, betikler, CI/CD |
| Konut | 🔄 Orta | ✅ Yüksek | ✅ İyi | Restricted modellere erişim, kontrollerin aşılması |
| Mobil | 🔄 Orta | ⚠️ Bağlı | ⚠️ Gereksiz | Bu görev için gerekli değil |
| Ücretsiz | ❌ Düşük | ❌ Düşük | ❌ Uygun değil | Ciddi işler için uygun değil |
Hugging Face ile çoğu görev için en iyi seçim veri merkezi proxy'leridir. Bu proxy'ler maksimum indirme hızı sağlar (bu, on GB'lık modellerin indirilmesi sırasında önemlidir), istikrarlı bir bağlantı ve sabit bir IP sunar. 30 GB'lık bir modelin indirilmesinde yavaş ve hızlı proxy arasındaki fark, 2 saat ile 20 dakika arasındaki farktır.
Konut proxy'leri, Hugging Face'in veri merkezi IP'lerini engellediği durumlarla karşılaşıyorsanız işe yarar (bu, bazı restricted modeller için olur). Konut IP'leri, normal ev kullanıcıları gibi görünür ve platformun güvenlik sistemlerinde daha az şüphe uyandırır.
Mobil proxy'ler, model indirmek için gereksizdir — daha pahalıdır ve kullanımlarının avantajları (mobil IP'lere yüksek güven) burada gerekli değildir. Hugging Face, anti-spam koruması olan bir sosyal ağ değildir, bu nedenle normal DC veya konut proxy'leri yeterlidir.
Tarayıcı üzerinden erişim için proxy ayarlama
Hugging Face web sitesini açmak, modelleri incelemek veya dosyayı manuel olarak web arayüzü üzerinden indirmek istiyorsanız — tarayıcıda proxy ayarlayın. Bu en basit seçenektir.
Seçenek 1: Tarayıcı için uzantı (tek seferlik görevler için)
FoxyProxy (Firefox) veya Proxy SwitchyOmega (Chrome/Edge) uzantısını yükleyin. Yükledikten sonra:
- Uzantının ayarlarını açın
- Yeni bir proxy profili ekleyin
- Türü belirtin: HTTP veya SOCKS5
- Sunucu adresini (host) ve portu girin
- Proxy kimlik doğrulaması varsa — kullanıcı adı ve şifreyi girin
- Profili kaydedin ve etkinleştirin
- huggingface.co'yu açın — site yüklenmelidir
Seçenek 2: Sistem proxy ayarları (Windows için)
Proxy'nin tüm bilgisayar için (tarayıcı, Python betikleri ve diğer uygulamalar dahil) çalışmasını istiyorsanız:
- Ayarlar → Ağ ve İnternet → Proxy sunucusu kısmını açın
- "Proxy sunucusu kullan" seçeneğini etkinleştirin
- Adres ve portu girin
- İstisna alanına localhost ve 127.0.0.1 ekleyin
- Ayarları kaydedin
💡 İpucu: Tarayıcı üzerinden büyük modelleri indirmek için bir indirme yöneticisi kullanın (örneğin, Free Download Manager) — bağlantı kesildiğinde devam etmeyi destekler ve sistem proxy ayarlarıyla çalışır.
CLI ve Python ortamı için proxy ayarlama
Çoğu Hugging Face kullanıcısı, modelleri komut satırı veya Python betikleri aracılığıyla indirir — huggingface_hub, transformers kütüphaneleri veya doğrudan git lfs aracılığıyla. Tüm bu araçlar için proxy, ortam değişkenleri aracılığıyla ayarlanır.
Adım 1. Ortam değişkenlerini ayarlayın
Bu en evrensel yöntemdir — çoğu Python kütüphanesi ve sistem araçları bu değişkenleri otomatik olarak alır:
# Linux / macOS için (terminalde veya ~/.bashrc / ~/.zshrc dosyasında) export HTTP_PROXY="http://username:password@proxy-host:port" export HTTPS_PROXY="http://username:password@proxy-host:port" # Windows için (PowerShell'de) $env:HTTP_PROXY = "http://username:password@proxy-host:port" $env:HTTPS_PROXY = "http://username:password@proxy-host:port" # Windows için (CMD'de) set HTTP_PROXY=http://username:password@proxy-host:port set HTTPS_PROXY=http://username:password@proxy-host:port
username:password@proxy-host:port kısmını gerçek proxy bilgilerinizle değiştirin. Eğer proxy kimlik doğrulaması yoksa — sadece http://proxy-host:port belirtin.
Adım 2. huggingface_hub ile modeli indirin
Ortam değişkenlerini ayarladıktan sonra standart komutlar değişiklik olmadan çalışır:
# CLI üzerinden modeli indirin huggingface-cli download mistralai/Mistral-7B-v0.1 # Veya Python üzerinden from huggingface_hub import snapshot_download snapshot_download(repo_id="mistralai/Mistral-7B-v0.1")
Adım 3. Python'da proxy'yi doğrudan ayarlama (eğer ortam değişkenleri çalışmıyorsa)
Bazı durumlarda — örneğin, Jupyter Notebook veya IDE üzerinden çalışırken — ortam değişkenleri geçmeyebilir. Bu durumda, kodda proxy'yi açıkça ayarlayın:
import os import requests from huggingface_hub import snapshot_download # Proxy'yi os.environ ile ayarlıyoruz os.environ["HTTP_PROXY"] = "http://username:password@proxy-host:port" os.environ["HTTPS_PROXY"] = "http://username:password@proxy-host:port" # Şimdi modeli indiriyoruz — proxy otomatik olarak uygulanacak snapshot_download(repo_id="meta-llama/Meta-Llama-3-8B")
git lfs için proxy ayarlama
Eğer bir depo klonluyorsanız ( git clone yöntemiyle), git için proxy'yi ayrı olarak ayarlamanız gerekir:
# git için HTTP proxy ayarlama git config --global http.proxy http://username:password@proxy-host:port git config --global https.proxy http://username:password@proxy-host:port # Model ile birlikte depoyu klonlayın git clone https://huggingface.co/mistralai/Mistral-7B-v0.1 # Kullanımdan sonra proxy'yi kaldırmak için git config --global --unset http.proxy git config --global --unset https.proxy
⚠️ Önemli: git lfs (Büyük Dosya Depolama), büyük dosyaları indirmek için ayrı bir kanal kullanır. Eğer HTTP_PROXY ortam değişkenleri küresel olarak ayarlanmışsa — git lfs bunları alır. Eğer değilse — bunları depo kökündeki .lfsconfig dosyasına ekleyin.
Docker ve sunucu ortamlarında proxy kullanımı
Birçok ML mühendisi, modellerle Docker konteynerlerinde veya uzaktan sunucularda (AWS, GCP, Hetzner, kendi sunucularınız) çalışır. Sunucu Rusya'da veya Hugging Face'e erişimde kısıtlamalar olan başka bir ülkede ise — proxy'yi konteyner veya sistem düzeyinde ayarlamanız gerekir.
Seçenek 1: Docker'da ortam değişkenleri aracılığıyla proxy geçişi
Konteyneri başlatırken, -e bayrağı ile ortam değişkenlerini geçirin:
docker run -it \ -e HTTP_PROXY="http://username:password@proxy-host:port" \ -e HTTPS_PROXY="http://username:password@proxy-host:port" \ -e NO_PROXY="localhost,127.0.0.1" \ python:3.11 bash
Seçenek 2: Dockerfile'da proxy ayarlama
Eğer proxy, imajın inşa aşamasında (örneğin, docker build sırasında) gerekli ise:
FROM python:3.11
# İnşa için proxy ayarlama
ARG HTTP_PROXY
ARG HTTPS_PROXY
ENV HTTP_PROXY=$HTTP_PROXY
ENV HTTPS_PROXY=$HTTPS_PROXY
RUN pip install huggingface_hub transformers
# İnşa sırasında modeli indiriyoruz
RUN python -c "from huggingface_hub import snapshot_download; snapshot_download('mistralai/Mistral-7B-v0.1')"
Proxy'yi geçiş yaparak inşa etmeye başlama:
docker build \ --build-arg HTTP_PROXY="http://username:password@proxy-host:port" \ --build-arg HTTPS_PROXY="http://username:password@proxy-host:port" \ -t my-ml-app .
Seçenek 3: Sunucu düzeyinde proxy ayarlama (Ubuntu/Debian)
Proxy'nin sunucudaki tüm kullanıcılar ve süreçler için çalışmasını istiyorsanız — ayarları sistem konfigürasyonuna ekleyin:
# /etc/environment dosyasına ekleyin HTTP_PROXY="http://username:password@proxy-host:port" HTTPS_PROXY="http://username:password@proxy-host:port" NO_PROXY="localhost,127.0.0.1,::1" # Değişiklikleri uygulayın source /etc/environment
Bunun ardından tüm komutlar — pip install, huggingface-cli download, wget, curl — otomatik olarak proxy kullanacaktır.
Büyük dosyaların indirilmesinde hızın önemli olduğu sunucu görevleri için veri merkezi proxy'leri iyi bir seçimdir — yüksek bant genişliği ve istikrarlı bir bağlantı sağlar, bu da 20–100+ GB ağırlığındaki modellerin indirilmesinde kritik öneme sahiptir.
Kontrol listesi: proxy'nin doğru çalıştığını nasıl kontrol edersiniz
Ağır bir modeli indirmeden önce, proxy'nin doğru ayarlandığından emin olun. İşte hızlı bir kontrol listesi:
1. Proxy'nin çalıştığını kontrol edin
# curl ile kontrol — proxy sunucusunun IP'sini döndürmeli, gerçek IP'nizi değil
curl -x http://username:password@proxy-host:port https://api.ipify.org
# Python ile kontrol
import requests
proxies = {"http": "http://username:password@proxy-host:port",
"https": "http://username:password@proxy-host:port"}
r = requests.get("https://api.ipify.org", proxies=proxies)
print(r.text) # Proxy IP'sini döndürmeli, gerçek IP'nizi değil
2. Hugging Face'e proxy üzerinden erişilebilirliği kontrol edin
curl -x http://username:password@proxy-host:port https://huggingface.co/api/models?limit=1 # Beklenen sonuç: Modeller hakkında JSON verisi (durum 200)
3. İndirme hızını kontrol edin
# Küçük bir test dosyasını indirin ve hızı ölçün curl -x http://username:password@proxy-host:port \ -o /dev/null \ --progress-bar \ "https://huggingface.co/bert-base-uncased/resolve/main/config.json"
✅ Modeli indirmeden önce kontrol listesi:
- Proxy IP'si api.ipify.org üzerinden kontrol edildiğinde görünür
- Hugging Face API, durum 200 döndürür
- Test dosyasının indirme hızı > 5 MB/s (konforlu çalışma için)
- HTTP_PROXY ve HTTPS_PROXY değişkenleri gerekli ortamda ayarlanmış
- git için — proxy ayarları git config ile belirtilmiş
- Docker için — değişkenler -e veya ARG ile geçirilmiş
- NO_PROXY localhost ve 127.0.0.1'yi içerir
Yaygın hatalar ve bunlardan nasıl kaçınılır
Hugging Face için proxy ayarlarken karşılaşılan en yaygın sorunları ve bunların çözümlerini derledik.
Hata 1: SSL sertifikası doğrulaması başarısız oldu
Bazı proxy'ler (özellikle kurumsal olanlar) HTTPS trafiğini yakalar ve SSL sertifikasını değiştirir. Python kütüphaneleri bu tür bir sertifikaya güvenmez ve hata verir.
Çözüm: SSL'i yakalamayan kaliteli proxy'ler kullanın. Eğer bu bir kurumsal proxy ise — şirketin kök sertifikasını REQUESTS_CA_BUNDLE değişkeni aracılığıyla güvenilirler listesine ekleyin.
Hata 2: Proxy tarayıcıda çalışıyor, ama Python'da çalışmıyor
Windows sistem proxy ayarları her zaman Python'a geçmez. Tarayıcı bunları okur, ancak Python okumaz.
Çözüm: Betiği çalıştırmadan önce HTTP_PROXY ve HTTPS_PROXY ortam değişkenlerini açıkça ayarlayın veya bunları Python dosyasının başına os.environ aracılığıyla ekleyin.
Hata 3: İndirme başlıyor, ama ortada kesiliyor
Trafik limiti olan veya istikrarsız bir bağlantıya sahip proxy, büyük dosyaların indirilmesini kesebilir.
Çözüm: Trafik limiti olmayan proxy'ler kullanın. huggingface_hub kütüphanesi devam indirmeyi destekler — indirme kesildiyse, aynı yolla komutu tekrar çalıştırın ve kaldığı yerden devam edecektir.
Hata 4: 407 Proxy Kimlik Doğrulaması Gerekiyor
Proxy kimlik doğrulaması gerektiriyor, ancak bu istek içinde iletilmiyor.
Çözüm: Proxy URL'sinde kullanıcı adı ve şifreyi doğru bir şekilde belirtin: http://login:password@host:port. Eğer şifre özel karakterler içeriyorsa (@, #, %) — bunları URL kodlaması ile kodlayın.
Hata 5: Proxy çalışıyor, ama Hugging Face yine de erişilemiyor
Bu, proxy sunucusunun engellenmiş bir bölgede bulunduğu veya Hugging Face'e yönlendirme sorunları yaşadığı anlamına gelir.
Çözüm: Proxy sunucusunun coğrafi konumunu kontrol edin. Hugging Face'e erişim için, ABD, Almanya, Hollanda veya diğer Avrupa ülkelerinde sunucuları olan proxy'leri tercih edin. Rusya, Çin, İran gibi ülkelerden gelen proxy'lerden kaçının — bunlar aynı kısıtlamalara sahip olabilir.
Hata 6: Ortam değişkenleri yeniden başlatıldığında kayboluyor
Eğer değişkenleri terminalde export ile ayarladıysanız — bunlar yalnızca mevcut oturumda çalışır.
Çözüm: export HTTP_PROXY=... satırlarını ~/.bashrc veya ~/.zshrc dosyasına (Linux/macOS) veya Windows'ta sistem ortam değişkenlerine "Sistem Özellikleri" aracılığıyla ekleyin.
Sonuç
Hugging Face için proxy ayarlamak, birkaç sorunu aynı anda çözen basit bir görevdir: coğrafi engellerin aşılması, ağır modellerin istikrarlı bir şekilde indirilmesi, oran sınırlamasının aşılması ve restricted depolara erişim. Ortam değişkenleri aracılığıyla bu yaklaşımın temel avantajı — evrensellik: bir kez ayarladığınızda, tüm araçlar (huggingface_hub, transformers, git lfs, curl) otomatik olarak proxy üzerinden çalışır.
Çoğu görev için — modellerin indirilmesi, betiklerle çalışma, sunucu ortamları — en iyi seçim veri merkezi proxy'leridir: bu proxy'ler, büyük dosyaların indirilmesinde maksimum hız ve istikrar sağlar. Eğer coğrafi konum nedeniyle erişim kısıtlaması olan modellere erişim gerekiyorsa veya platform veri merkezi IP'lerini engelliyorsa — gerekli coğrafi konuma sahip konut proxy'lerini değerlendirin: bunlar normal ev kullanıcıları gibi görünür ve neredeyse hiç engellenmez.
Hugging Face ile proxy üzerinden çalışırken en önemli kural — ABD veya Batı Avrupa'da bir sunucu seçmek, ağır modelleri indirmeden önce bağlantıyı kontrol etmek ve yerel trafiğin doğrudan gitmesi için NO_PROXY değişkenini unutmamaktır.