Интеграция с Hugging Face Hub
Чтобы сделать вашу жизнь еще проще, Gradio напрямую интегрируется с Hugging Face Hub и Hugging Face Spaces. Вы можете загружать демо из Hub и Spaces, используя всего одну строку кода.
Загрузка моделей из Hugging Face Hub
Для начала выберите одну из тысяч моделей, которые Hugging Face предлагает в Hub, как описано в Главе 4.
Используя специальный метод Interface.load()
, вы передаете "model/"
(или, эквивалентно, "huggingface/"
)
после чего следует имя модели.
Например, здесь приведен код для создания демо для GPT-J, большой языковой модели, добавьте пару примеров ввода:
import gradio as gr
title = "GPT-J-6B"
description = "Gradio Demo for GPT-J 6B, a transformer model trained using Ben Wang's Mesh Transformer JAX. 'GPT-J' refers to the class of model, while '6B' represents the number of trainable parameters. To use it, simply add your text, or click one of the examples to load them. Read more at the links below."
article = "<p style='text-align: center'><a href='https://github.com/kingoflolz/mesh-transformer-jax' target='_blank'>GPT-J-6B: A 6 Billion Parameter Autoregressive Language Model</a></p>"
gr.Interface.load(
"huggingface/EleutherAI/gpt-j-6B",
inputs=gr.Textbox(lines=5, label="Input Text"),
title=title,
description=description,
article=article,
).launch()
Код, приведенный выше, приведет к созданию интерфейса, представленного ниже:
Загрузка модели таким образом использует Inference API Hugging Face, вместо того, чтобы загружать модель в память. Это идеально подходит для огромных моделей, таких как GPT-J или T0pp, которые которые требуют много RAM.
Загрузка с Hugging Face Spaces
Чтобы загрузить любое пространство (Space) из Hugging Face Hub и воссоздать его локально, вы можете передать spaces/
в Interface
, за которым следует имя пространства.
Помните демо из раздела 1, которое удаляет фон изображения? Давайте загрузим его из Hugging Face Spaces:
gr.Interface.load("spaces/abidlabs/remove-bg").launch()
Одна из особенностей загрузки демо из Hub или Spaces заключается в том, что вы можете настраивать их переопределив любой из параметров. Здесь мы добавим заголовок и задействуем веб-камеру:
gr.Interface.load(
"spaces/abidlabs/remove-bg", inputs="webcam", title="Remove your webcam background!"
).launch()
Теперь, когда мы изучили несколько способов интеграции Gradio с Hugging Face Hub, давайте рассмотрим некоторые дополнительные возможности класса Interface
. Этому будет посвящен следующий раздел!