Свържете го, стартирайте го, внедрете го: AI работни процеси в Gradio
gr.Workflow, вграден директно в Gradio, превръща конвейера в интерфейс. Описвате стъпките си като граф от типизирани възли, а Gradio предоставя платно с плъзгане и пускане, където всеки възел може да се изпълнява и всеки междинен резултат е видим. Същият граф е и REST API, както и внедряване с една команда в Hugging Face Spaces.
Най-добрият начин да разберете идеята е да видите няколко работни потока в действие. Всяко приложение по-долу е жива Huggingface Space страница, която можете да отворите, стартирате и дублирате.
Редактирайте изображение
Качете изображение, въведете редакция („превърни го в снежен зимен пейзаж“, „добави слънчеви очила“, „направи колата червена“) и получете редактираната снимка. Цялото приложение е един възел, който извиква Qwen-Image-Edit чрез Hugging Face Inference Providers.
👉 Изпробвайте конвейера за редактиране на изображения
Свържете реални модели в медийно студио
Един граф, три конвейера. Започнете с подкана и генерирайте изображение с FLUX, след което го предайте на Gradio Space за премахване на фон, за да го превърнете в стикер. Темата се превръща във вокален запис чрез Gradio Space за преобразуване на текст в реч, докато същата тема се превръща в запомнящо се заглавие на епизод чрез извикване на LLM.
Това е едно платно, две извиквания на модели чрез Hugging Face Inference Providers и две извиквания към Gradio Spaces.
Тъй като това е работен поток, всеки от трите резултата получава собствен REST endpoint: /sticker, /voiceover и /episode_title. Можете да извикате всеки от тях директно от код, без да отваряте интерфейса. Вижте „Извикване от код“ по-долу за работещ пример.
Паралелно генериране на изображения с разклоняване
Въведете една идея и тя ще се превърне в набор от генерирани произведения на изкуството наведнъж: базово изображение от FLUX, две AI интерпретации на това изображение (мека акварелна версия и неонов киберпънк вариант) и заглавие на галерията, написано от LLM.
Всяко изображение се генерира директно от подканата чрез възел на модел, използващ Inference Providers, докато заглавието идва от възел fn, който извиква LLM. Това е моделът на разклоняване в действие: една идея може да захрани едновременно множество оператори, които генерират паралелно.
👉 Изпробвайте лабораторията за генеративно изкуство
Анализирайте набор от данни на Hugging Face
Въведете ID на набор от данни в Hugging Face, например stanfordnlp/imdb или mteb/tweet_sentiment_extraction, и един вход ще се разклони към четири операторни възела, които анализират набора от данни в реално време чрез API на Datasets Server.
Получавате обобщаваща карта, визуализация на първите няколко реда, статистика за всяка колона и диаграма на разпределението, като всичко се изчислява независимо и паралелно. Това е силата на работните потоци!
Стартирайте собствен GPU модел
Всеки възел досега се свързва с Hugging Face. Но възелът fn е просто Python, което означава, че може да стартира и модел вътре в Space на GPU.
Декорирайте свързаната функция с @spaces.GPU и когато възелът се стартира, ZeroGPU осигурява GPU за това извикване, стартира модела и го освобождава. Не винаги е необходимо да разчитаме на Inference Providers или на съществуващи Gradio Spaces.
Вижте тази демонстрация, която анимира неподвижно изображение с помощта на Lightricks/LTX-Video, зареден чрез Diffusers и работещ изцяло чрез един възел. gr.Workflow не трябва да знае нищо за настройката ви на GPU. Той просто извиква свързаната функция.
👉 Изпробвайте ZeroGPU Animator
Как работи накратко
Всеки работен поток е граф с три вида възли: референции (вашите входове), оператори (стъпките, които извършват работата) и обекти (вашите изходи). Операторът може да бъде ваша собствена Python функция, модел в Hugging Face Inference Providers, друга Gradio Space страница или ред от набор от данни в Hub. Свързвате ги чрез плъзгане между типизираните портове, натискате Run и наблюдавате как всеки резултат се появява на мястото си.
Извикайте го от код
Всеки работен поток, който създадете, също е API, без допълнителна работа. Всеки изход се превръща в REST endpoint, наименуван според етикета му, и можете да го извикате от Python с клиента на Gradio. Ето работещ пример без токен към демонстрационната Space страница с множество endpoints, точно както е:
from gradio_client import Client
client = Client("ysharma/gr-workflow-multi-endpoint-API")
print(client.predict("hello there friend", api_name="/word_count"))
print(client.predict(20, api_name="/fahrenheit"))
Endpoints, които извикват модел или Space, се изпълняват с Hugging Face token, така че подайте такъв при създаването на клиента:
from gradio_client import Client, handle_file
client = Client("ysharma/gr-workflow-image-editor", token="hf_...")
edited = client.predict(
handle_file("dog.jpg"),
"turn it into a snowy winter scene",
api_name="/edited_image",
)
Предпочитате обикновен HTTP? Всеки endpoint може да бъде достигнат и чрез curl:
curl -s https://ysharma-gr-workflow-multi-endpoint-API.hf.space/gradio_api/call/word_count \
-H "Content-Type: application/json" -d '{"data": ["hello there friend"]}'
Създайте свой собствен
Най-бързият начин да започнете е да отворите някоя от демонстрациите по-горе, да натиснете Duplicate и да започнете да пренареждате връзките. От Python това е толкова кратко:
import gradio as gr
def your_function(text: str) -> str:
pass
gr.Workflow(bind=[your_function]).launch()
За пълното ръководство, видовете оператори, JSON схемата и шаблоните за многократна употреба вижте официалното ръководство за gr.Workflow в документацията на Gradio.
Можете дори да създадете нещо толкова сложно като AUTOMATIC1111 с gr.Workflow. Очаквайте следващата ни публикация, в която ще ви преведем стъпка по стъпка през създаването му. Ето кратък преглед 😉👇
Модели, споменати в тази статия 4
Spaces, споменати в тази статия 6
Общност
· Регистрирайте се или влезте, за да коментирате
Модели, споменати в тази статия 4
Spaces, споменати в тази статия 6
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.