본문으로 건너뛰기

© 2026 Molayo

HuggingFace중요헤드라인2026. 04. 24. 05:39

Daggr 소개: 코드로 워크플로우를 정의하고 시각적으로 검사하는 방법

요약

AI 애플리케이션 개발에서 여러 모델이나 처리 단계를 연결(chaining)할 때 발생하는 디버깅의 어려움을 해결한 도구입니다. Daggr는 코드로 워크플로우를 정의하면서도 시각적인 캔버스 인터페이스를 제공하여, 전체 파이프라인을 재실행하지 않고도 특정 노드의 중간 결과를 검사하고 개별 단계를 수정할 수 있게 합니다. Gradio Spaces와의 통합이 뛰어나며, `GradioNode`, `FnNode`, `InferenceNode` 세 가지 유형의 노드를 지원합니다.

핵심 포인트

  • 코드 기반 접근 방식: 워크플로우를 Python 코드로 정의하며, 자동으로 시각적인 캔버스가 생성되어 버전 관리와 시각적 검사를 동시에 가능하게 합니다.
  • 단계별 디버깅 용이성: 전체 파이프라인을 재실행할 필요 없이 특정 노드의 출력(intermediate output)을 검사하고 입력값을 수정하여 개별 단계를 테스트할 수 있습니다.
  • 강력한 통합 기능: Gradio Spaces를 기본으로 하며, `GradioNode` 외에도 사용자 정의 Python 함수(`FnNode`) 및 Hugging Face Inference Providers 모델 호출(`InferenceNode`)까지 지원합니다.
  • 상태 유지(State Persistence): 워크플로우의 상태, 입력 값, 캐시된 결과 등을 자동으로 저장하여 작업 중단 후 재개하기 용이합니다.

AI 애플리케이션을 개발할 때 여러 API 호출이나 처리 단계를 연결하는 '체인(chaining)' 과정은 필연적으로 복잡성을 야기합니다. 특히 10단계의 워크플로우에서 5번째 단계에 문제가 생겼을 경우, 원인을 파악하기 위해 전체 과정을 처음부터 다시 실행해야 하는 비효율적인 상황이 발생하곤 합니다.

Daggr는 이러한 AI 데모 및 워크플로우 구축 과정에서 발생하는 핵심 문제들을 해결하기 위해 설계된 도구입니다. 기존의 방식들이 '취약한 스크립트'에 의존하거나, 실험보다는 프로덕션 배포에 초점을 맞춘 무거운 오케스트레이션 플랫폼을 사용해야 하는 한계를 극복합니다.

💡 Daggr의 핵심 가치: 코드와 시각화의 결합

Daggr는 '코드 우선(code-first)' 접근 방식을 채택하여, 개발자가 Python 코드로 워크플로우를 정의하면 해당 흐름을 자동으로 시각적인 캔버스에 구현해줍니다. 이는 버전 관리가 가능한 코드의 안정성과 중간 결과물을 눈으로 확인할 수 있는 직관성을 동시에 제공하는 최적의 조합입니다.

가장 강력한 기능 중 하나는 단계별 검사 및 재실행(Inspect and Rerun Any Step) 능력입니다. 캔버스는 단순한 시각화 도구가 아닙니다. 개발자는 특정 노드의 출력 결과를 직접 확인하고, 입력값을 수정하여 전체 파이프라인을 다시 돌리지 않고도 문제의 원인이 되는 개별 단계만 테스트할 수 있습니다.

✨ 주요 기능 및 아키텍처

  1. Gradio Spaces와의 완벽한 통합: Daggr는 Gradio 팀에서 개발되었기 때문에, 어떤 공개 또는 비공개 Gradio Space든 노드(Node)로 손쉽게 활용할 수 있습니다. 별도의 어댑터나 래퍼 없이 API 엔드포인트만 참조하면 됩니다.
  2. 다양한 노드 유형 지원: Daggr는 세 가지 핵심 노드 타입을 제공하여 범용성을 극대화합니다:
    • GradioNode: Gradio Space의 API 엔드포인트를 호출하거나 로컬에서 실행할 수 있습니다. run_locally=True 옵션을 사용하면 해당 Space를 격리된 가상 환경에 복제(clone)하여 CPU 또는 GPU 환경에서 직접 구동할 수 있어 디버깅에 매우 유리합니다.
    • FnNode: 사용자 정의 Python 함수를 노드로 실행할 수 있게 합니다. 간단한 데이터 변환이나 비즈니스 로직을 파이프라인 내에 삽입하기 용이합니다.
    • InferenceNode: Hugging Face Inference Providers를 통해 특정 모델(예: moonshotai/Kimi-K2.5:novita)을 호출하여 추론 결과를 얻는 데 사용됩니다.
  3. 상태 지속성 (State Persistence): 워크플로우의 상태, 입력 값, 캐시된 결과물 등을 자동으로 저장합니다. 이를 통해 개발자는 작업 중간에 앱을 닫았다가도 이전에 작업하던 지점부터 즉시 재개할 수 있습니다.

🚀 활용 예시: 이미지 배경 제거 및 3D 생성 파이프라인

실제 사용 사례로, Daggr를 이용해 이미지를 받아 배경을 제거하고(Background Removal), 이를 다시 3D 에셋 스타일의 이미지로 변환하는 복합 워크플로우가 제시됩니다. 이 예시에서는 다음과 같은 단계를 거칩니다:

  1. 배경 제거: GradioNode를 사용하여 특정 Space(merve/background-removal)를 로컬에서 실행하여 이미지를 입력받고 배경을 제거합니다.
  2. 다운스케일링 (Downscale): FnNode를 이용해 간단한 Python 함수로 이미지 크기를 효율적으로 줄입니다.
  3. 3D 스타일 생성: InferenceNode와 Flux.2-klein-4B 모델을 사용하여 3D 에셋 스타일의 이미지를 생성합니다.
  4. 최종 변환: 마지막으로 이 출력을 또 다른 Space(Trellis.2)로 전달하여 최종 결과물을 얻습니다.

이처럼 Daggr는 코드 기반의 유연한 정의와 시각적인 직관성을 결합하여, 복잡한 AI 워크플로우를 빠르고 안정적으로 개발하고 디버깅할 수 있는 강력한 환경을 제공합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Hugging Face Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0