Daggr推出可视化AI工作流库,实现代码即画布轻松调试

26 阅读5分钟开源
Daggr推出可视化AI工作流库,实现代码即画布轻松调试

背景

在构建多模型AI应用时,开发者常面临链路繁琐、调试困难、结果追踪不透明等痛点。传统的脚本式调用需要手动管理 API 调用顺序,而成熟的编排平台又过于重量级,难以满足快速原型实验的需求。为了解决这些问题,Gradio 团队推出了 Daggr,通过代码优先的方式生成可视化工作流,让调试与迭代成本大幅下降。

核心特性

  • 代码即画布:在 Python 中定义工作流,Daggr 自动渲染交互式画布,既保留代码可版本化的优势,又提供直观的节点布局。
  • 节点检查与单步重跑:点击任意节点即可查看中间输出,修改输入后单独重跑,无需重新执行整条流水线。
  • 原生 Gradio 集成:Daggr 直接调用任意公开或私有的 Gradio Space,支持本地克隆运行,免去适配层的繁琐。
  • 状态持久化:工作流的输入、缓存结果、画布位置等会自动保存到本地 "sheets",实现多工作区切换和断点续跑。
  • 三类节点
    • GradioNode:调用 Gradio Space API 或本地 Gradio 应用;
    • FnNode:执行自定义 Python 函数;
    • InferenceNode:通过 Hugging Face Inference Providers 调用模型。

快速入门示例

下面的示例展示了如何使用 Daggr 组合两段 Gradio Space:先生成图像,再去除背景。只需几行代码即可得到带有交互式画布的完整应用。

import random, gradio as gr
from daggr import GradioNode, Graph

# 生成图像的 Space
image_gen = GradioNode(
    "hf-applications/Z-Image-Turbo",
    api_name="/generate_image",
    inputs={
        "prompt": gr.Textbox(label="Prompt", value="A cheetah sprinting on savanna", lines=3),
        "height": 1024, "width": 1024, "seed": random.random,
    },
    outputs={"image": gr.Image(label="Generated Image")},
)

# 背景去除的 Space
bg_remover = GradioNode(
    "hf-applications/background-removal",
    api_name="/image",
    inputs={"image": image_gen.image},
    outputs={"final_image": gr.Image(label="Final Image")},
)

graph = Graph(name="Transparent Background Generator", nodes=[image_gen, bg_remover])
graph.launch()

运行后,浏览器会自动打开 http://localhost:7860,画布展示两节点连线,用户可在任意一步修改 Prompt 或上传自定义图像,即时看到结果。

适用场景与前景

  • 科研原型:快速拼装不同模型进行多模态实验,省去手写管道脚本的时间。
  • 教学演示:可视化的工作流帮助学生直观理解模型调用顺序和数据流向。
  • 产品 Demo:在内部或公开的 Hugging Face Spaces 中快速部署交互式演示,提升客户感知。

Daggr 仍处于 beta 阶段,API 可能会迭代,但已足以支撑大多数实验需求。社区可以通过 GitHub 提交 Issue 或 Pull Request,推动功能完善。

未来计划

团队计划在后续版本中加入:

  • 节点版本控制:对每个节点的代码快照进行 Git‑style 管理。
  • 分布式执行:在多机或云端自动调度计算密集型节点。
  • 更丰富的可视化插件:如实时日志、指标面板等。

Daggr 的目标是让 AI 工作流的构建与调试像搭积木一样简单,让研发者把更多精力投入到模型创新本身。

"我们希望通过 Daggr 把代码的可追溯性和可视化的直观性结合起来,让每一次实验都可复制、可检查、可分享。"——Gradio 团队成员

本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。