NLP Course documentation

Интеграция с Hugging Face Hub

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Интеграция с Hugging Face Hub

Ask a Question Open In Colab Open In Studio Lab

Чтобы сделать вашу жизнь еще проще, 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. Этому будет посвящен следующий раздел!