@abidlabs:我们如何为复杂工作流构建最佳的智能体友好且用户友好的界面:https://huggingface.co/blog/…

X AI KOLs Timeline 工具

摘要

Gradio 推出了 Workflow 功能,该功能通过将步骤描述为带类型的节点图,结合拖放画布、REST API 以及轻松部署到 Hugging Face Spaces 的方式,实现了为复杂 AI 工作流构建智能体友好且用户友好的界面。

我们如何为复杂工作流构建最佳的智能体友好且用户友好的界面:https://huggingface.co/blog/gradio-workflow-guide…
查看原文
查看缓存全文

缓存时间: 2026/08/27 13:39

接入、运行、部署:Gradio中的AI工作流

来源:https://huggingface.co/blog/gradio-workflow-guide 大多数有趣的AI应用都是流水线\。你可以生成一张图片,然后根据需要去除背景,或将其编辑成全新的内容\。你可以编写一段脚本,然后生成相应的语音,或在保持脚本不变的情况下更换声音\。我们通常在Python中将这些步骤串联起来,一旦发现异常,就会回到打印调试状态,以找出产生异常值的步骤\。

内置在Gradio中的 gr\.Workflow 将流水线变成了界面本身 \。你将步骤描述为带有类型节点的图,Gradio会提供一个拖放画布,其中每个节点都可以运行,每个中间结果都可见\。同样的图也可以是一个REST API和一键部署到Hugging Face Spaces\。

理解这个概念最好的方式就是看几个工作流的实际运行。下面每个应用都是一个活跃的Hugging Face Space,你可以打开、运行和复现\。

https://huggingface.co/blog/gradio-workflow-guide#edit-an-image编辑图像

上传一张图片,输入编辑指令(例如“把它变成下雪的冬季场景”、“添加太阳镜”、“把汽车变红”),然后获取编辑后的照片。整个应用是一个单一节点,调用 Hugging Face Inference Providers 上的 Qwen-Image-Edit(https://huggingface.co/Qwen/Qwen-Image-Edit)\。

👉尝试图像编辑工作流(https://huggingface.co/spaces/ysharma/gr-workflow-image-editor)

https://huggingface.co/blog/gradio-workflow-guide#chain-real-models-into-a-media-studio将真实模型链接成一个媒体工作室

一个图,三条流水线。从提示词开始,使用 FLUX(https://huggingface.co/black-forest-labs/FLUX.1-schnell)生成一张图像,然后将其传递给一个背景去除 Gradio Space(https://huggingface.co/spaces/not-lain/background-removal)将其变成贴纸。一个主题通过文本转语音 Gradio Space(https://huggingface.co/spaces/mrfakename/MeloTTS)变成画外音,而同一个主题通过 LLM(https://huggingface.co/Qwen/Qwen2.5-7B-Instruct)调用变成一个吸引人的节目标题。

这是一个画布,两次通过 Hugging Face Inference Providers(https://huggingface.co/docs/inference-providers/en/index)的模型调用,以及两次对 Gradio Spaces 的调用。

由于这是一个工作流,三个输出中的每一个也都有自己的 REST 端点:/sticker/voiceover/episode_title。你可以直接在代码中调用它们中的任何一个,无需打开UI。可参考下面的“从代码调用”(https://huggingface.co/blog/gradio-workflow-guide#call-it-from-code)获取一个可运行的示例\。

👉尝试AI媒体工作室(https://huggingface.co/spaces/ysharma/gr-workflow-04-ai-media-studio)

https://huggingface.co/blog/gradio-workflow-guide#fan-out-image-generation-in-parallel并行展开图像生成

输入一个想法,它会同时生成一组艺术作品:一张来自FLUX的基础图像,两张该图像的AI重新创作(一个柔和的水彩版本和一个霓虹赛博朋克风格的版本),以及一个由LLM编写的画廊标题。

每张图像都由使用 Inference Providers 的模型节点根据提示直接生成,而标题则来自一个调用LLM的 fn 节点。这就是展开模式的实际应用:一个想法可以同时提供给多个操作符,所有操作并行生成\。

👉尝试生成艺术实验室(https://huggingface.co/spaces/ysharma/gr-workflow-01-generative-art-lab)

https://huggingface.co/blog/gradio-workflow-guide#profile-a-hugging-face-dataset分析Hugging Face数据集

输入一个 Hugging Face 数据集 ID,例如 stanfordnlp/imdbmteb/tweet_sentiment_extraction,单个输入会展开到四个操作符节点,这些节点使用 Datasets Server(https://huggingface.co/docs/dataset-viewer)API实时分析数据集。

你会得到一个概览卡片、前几行的预览、逐列统计信息和一个分布图,所有这些都是独立并行计算的。这就是工作流的力量!

👉尝试数据侦探(https://huggingface.co/spaces/ysharma/gr-workflow-03-data-detective)

https://huggingface.co/blog/gradio-workflow-guide#run-your-own-gpu-model运行你自己的GPU模型

到目前为止,每个节点都是连接到Hugging Face的。但一个 fn 节点就是Python函数,这意味着它也可以在Space中使用GPU运行模型。

使用 @spaces.GPU 装饰器绑定函数,当节点运行时,ZeroGPU(https://huggingface.co/docs/hub/spaces-zerogpu)会为该调用获取一个GPU,运行模型,然后释放它。我们并不总是需要依赖 Inference Providers 或现有的 Gradio Spaces。

看看这个演示,它使用通过 Diffusers 加载的 Lightricks/LTX-Video(https://huggingface.co/Lightricks/LTX-Video-0.9.7-distilled)来为静态图像制作动画,完全通过一个节点运行。gr.Workflow 不需要了解你的GPU设置的任何信息。它只是调用绑定的函数\。

👉尝试ZeroGPU动画制作器(https://huggingface.co/spaces/ysharma/gr-workflow-zerogpu-animate)

https://huggingface.co/blog/gradio-workflow-guide#how-it-works-in-a-nutshell工作原理简述

每个工作流都是一个包含三种节点的图:引用(你的输入)、操作符(执行工作的步骤)和对象(你的输出)。操作符可以是你自己的Python函数、Hugging Face Inference Providers上的模型、另一个Gradio Space或Hub数据集中的行。你通过拖拽连接带类型的端口,点击运行,然后观察每个结果在原地出现。

https://huggingface.co/blog/gradio-workflow-guide#call-it-from-code从代码调用

你构建的每个工作流也是一个API,无需额外工作。每个输出都变成一个以其标签命名的REST端点,你可以使用Gradio客户端从Python调用它。这是一个针对多端点演示Space的实时示例,无需令牌,完全原样:

from gradio_client import Client

client = Client("ysharma/gr-workflow-multi-endpoint-API")

print(client.predict("hello there friend", api_name="/word_count"))  # -> 3
print(client.predict(20, api_name="/fahrenheit"))                    # -> 68.0

调用模型或Space的端点在Hugging Face令牌下运行,因此在创建客户端时传入一个:

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?每个端点也可以通过 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"]}'

https://huggingface.co/blog/gradio-workflow-guide#build-your-own构建你自己的工作流

最快的方式是打开上面的任何演示,点击 Duplicate,然后开始重新连接。从Python开始,代码非常简短:

import gradio as gr

def your_function(text: str) -> str:
  pass

gr.Workflow(bind=[your_function]).launch()

有关完整的教程、操作符类型、JSON模式和可重用模式,请参阅 Gradio 文档中的官方 gr.Workflow 指南(https://gradio.app/guides/workflows)。

你甚至可以使用 gr.Workflow 构建像 AUTOMATIC1111(https://github.com/automatic1111/stable-diffusion-webui)这样复杂的项目。请关注我们的下一篇文章,我们将逐步构建它。这里先剧透一下 😉👇

相似文章

连接、运行、部署:Gradio 中的 AI 工作流

Hugging Face Blog

本文介绍了 Gradio 中的 `gr.Workflow`,该功能允许用户通过拖放节点构建交互式、可视化的 AI 流水线,配备实时示例,并可轻松部署至 Hugging Face Spaces。

智能体工作流可视化工具:反馈与修正

Reddit r/AI_Agents

介绍了一款用于可视化AI智能体工作流的工具,支持多种智能体框架,包括Langgraph、CrewAI、AutoGen、Google ADK和OpenAI Agents SDK。创作者正在寻求社区的反馈与修正。

有了 GraphARC,AI 代理从未如此可解释!

Reddit r/AI_Agents

GraphArc 是一个开源工具,可将 AI 代理工作流可视化为交互式实时图形,使用户能够在执行前检查、调试和批准代理操作,从而让代理式 AI 更具可解释性和可控性。