Hub documentation

Spaces'te Shiny

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Spaces'te Shiny

Shiny, basit, şık ve yüksek performanslı veri uygulamaları oluşturmak için kullanılan açık kaynaklı bir çerçevedir. Shiny'nin geliştirilmesindeki amaç, bir öğleden öğleden sonraya kadar birine öğretilebilecek kadar basit, ancak büyük ve kritik öneme sahip uygulamaları destekleyebilecek kadar genişletilebilir bir şey inşa etmekti. Birkaç dakika içinde işe yarar bir Shiny uygulaması oluşturabilirsiniz, ancak projenizin kapsamı büyürse, Shiny'nin bu uygulamayı karşılayabileceğinden emin olabilirsiniz.

Shiny'yi diğer framework'lerden ayıran ana özellik, reaktif çalışma modelidir. Bir Shiny uygulaması yazdığınızda, framework girdiler, çıktılar ve ara hesaplamalar arasındaki ilişkiyi çıkarır ve bu ilişkileri kullanarak bir kullanıcının eyleminin sonucu olarak yalnızca değişmesi gereken şeyleri oluşturmak için kullanır. Sonuç olarak, kullanıcılar verileri açık bir şekilde önbelleğe almadan veya geri çağırma işlevleri yazmadan verimli ve genişletilebilir uygulamalar geliştirebilir.

Shiny for Python

Shiny for Python, Shiny'nin saf Python uygulamasıdır. Bu sayede R kullanmadan Shiny'nin reaktivite, karmaşık yerleşimler ve modüller gibi tüm mükemmel özelliklerine erişebilirsiniz. Shiny for Python, diğer Hugging Face araçlarıyla sorunsuz bir şekilde entegre olduğu için Hugging Face uygulamaları için idealdir.

Bir Space dağıtmaya başlamak için donanımınızı seçmek ve Space'inizin herkese açık mı yoksa özel mi olacağını belirtmek için bu düğmeye tıklayın. Space şablonu, uygulamanızı başlatmak için birkaç dosya oluşturur.

app.py

Bu dosya, uygulamanızın mantığını tanımlar. Bu dosyanın nasıl değiştirileceğini öğrenmek için Shiny for Python belgelerini inceleyin. Uygulamanız karmaşıklaştıkça, uygulama mantığınızı modüllere ayırmak iyi bir fikirdir.

Dockerfile

Shiny for Python uygulaması için Dockerfile, kütüphanenin çok fazla sistem bağımlılığı olmaması nedeniyle çok minimaldir; ancak uygulamanız ek sistem bağımlılıkları içeriyorsa bu dosyayı değiştirmeniz gerekebilir. Bu dosyanın temel özelliği, space README dosyasında belirtilen portta (varsayılan olarak 7860) uygulamayı dışa açması ve çalıştırmasıdır.

requirements.txt

Space, requirements.txt dosyasında listelenen bağımlılıkları otomatik olarak yükleyecektir. Bu dosyaya shiny'yi dahil etmeniz gerektiğini unutmayın.

R için Shiny

Shiny for R, R topluluğunda popüler ve köklü bir uygulama çerçevesidir; bir R uygulamasını Hugging Face altyapısında barındırmak veya harika Shiny R eklentilerinden bazılarından yararlanmak istiyorsanız harika bir seçimdir. Bir R uygulamasına Hugging Face araçlarını entegre etmek için Hugging Face API'lerini çağırmak üzere httr2 kullanabilir veya Hugging Face Python SDK'larından birini çağırmak için reticulate kullanabilirsiniz.

R Shiny Space dağıtmak için bu düğmeye tıklayın ve Space metadata'sını doldurun. Bu işlem, başlamak için ihtiyacınız olan tüm dosyaları Space'e ekler.

app.R Bu dosya, uygulamanızın tüm mantığını içerir. İsterseniz bu dosyayı ui.R ve server.R olarak bölebilirsiniz.

Dockerfile

Dockerfile, rocker shiny görüntüsü üzerine inşa edilir. Ek paketler kullanmak için bu dosyayı düzenlemeniz gerekir. Çok sayıda tidyverse paketi kullanıyorsanız, temel görüntüyü rocker/shinyverse olarak değiştirmenizi öneririz. Ek R paketlerini dockerfile'daki RUN install2.r bölümünün altına ekleyerek, github paketlerini ise RUN installGithub.r altına depoyu ekleyerek yükleyebilirsiniz.

Bu Dockerfile için iki temel gereksinim vardır:

  • Öncelikle, dosya, README'de belirttiğiniz portu açmalıdır. Varsayılan değer 7860'tır ve bunun değiştirilmemesini, aksi bir gerekçe olmadıkça öneririz.

  • İkincisi, şu an için Hugging Face'teki uygulama zaman aşımı sorununu çözen httpuv'un geliştirme sürümünü kullanmanız gerekiyor.

Update on GitHub