huggingface-gradio
huggingface-gradio — практический навык для создания на Python интерактивных веб-интерфейсов и ML-демо на Gradio. Его область охватывает компоненты, обработчики событий, компоновку интерфейса и чат-ботов. Поэтому карточка подходит, когда нужно быстро связать пользовательский ввод с Python-функцией или моделью, собрать демонстрационный экран, добавить обработку клика или изменения поля и сделать сценарий доступным через браузер. В исходном SKILL.md отдельно перечислены официальные направления чтения: quickstart, Interface, Blocks и event listeners, управление layout, расширенные возможности Blocks, custom CSS и JavaScript, streaming inputs и outputs, sharing, а также Python и JavaScript client. Для простого сценария навык показывает Interface: Python-функция оборачивается компонентами inputs и outputs, после чего приложение запускается через launch. Такой вариант удобен для одного входа и одного результата. Когда нужна явная структура, используется Blocks: внутри контекста создаются компоненты, например Textbox для имени, Textbox для результата и Button, а событие click связывает функцию, inputs и outputs. Для диалоговых приложений есть ChatInterface с функцией, принимающей message и history. Эти три уровня позволяют начать с минимального UI и перейти к явной схеме компонентов и событий без смены библиотеки. В каталоге примеров исходного навыка перечислены Textbox, Number, Slider, Checkbox, Dropdown, Radio, Image, Audio, Video, File, Chatbot, Button, Markdown и HTML. Поля поддерживают значения, подписи, подсказки, видимость и интерактивность в зависимости от компонента; у File задаются одиночная, множественная загрузка или каталог, а у Image, Audio и Video есть соответствующие источники и параметры воспроизведения или отображения. Chatbot предназначен для сообщений и истории, Markdown — для форматированного вывода, а HTML — для ситуаций, когда стандартного компонента недостаточно. События имеют общий контракт: функция, inputs, outputs, имя API и описание API могут задаваться вместе с настройками очереди, пакетной обработки, preprocessing и postprocessing, ограничением конкурентности и временем выполнения. В описании сигнатуры указано, что batch по умолчанию отключён, а max_batch_size равен 4; доступны также trigger_mode, concurrency_limit, concurrency_id и stream_every. Это полезно для явного контроля того, как UI передаёт данные обработчику и как возвращает результат. Для сложной визуальной части можно применить gr.HTML с html_template, css_template и js_on_load; исходный пример показывает обновление props.value и запуск события после клика. Ограничение навыка состоит в его назначении: он описывает построение Gradio-интерфейса и связку событий, но сам по себе не выбирает ML-модель, не предоставляет данные и не заменяет развёртывание Python-приложения. Для streaming, публикации, кастомного HTML или client API следует открыть соответствующий официальный guide из списка, потому что базовый пример не раскрывает все параметры и требования конкретного сценария. Полезная минимальная проверка — создать Interface, Blocks или ChatInterface, связать входы и выходы с функцией, вызвать launch и проверить фактический пользовательский путь в браузере.
Для чего подходит
- Создание Gradio-интерфейса для модели
- Разработка чат-бота на Gradio
- Настройка обработчиков событий и компонентов
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/huggingface/skills/tree/main/skills/huggingface-gradio