강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Tora King님의 프로필 이미지
Tora King

작성한 질문수

한 번에 끝내는 AI 에이전트 개발 올인원 (w. CrewAI, LangGraph, Google ADK)

콘텐츠 매니저 에이전트 Flow, State 설계

flow.plot() 그래프 시각화가 돼지 않네요

작성

·

15

0

안녕하세요
flow.plot() 그래프 시각화가 돼지 않네요

에러 내용'
Warning: No node found for 'decorator' or 'research_by_topic'. Skipping edge.

Warning: No node found for 'research_by_topic' or 'handle_make_blog'. Skipping edge.

Warning: No node found for 'handle_make_blog' or 'manage_seo'. Skipping edge.

Warning: No node found for 'manage_seo' or 'finish_make_blog_content'. Skipping edge.

Plot saved as crewai_flow.html

위와 같은 에러가 나타나고 crewai_flow.html은 생성돼지만 클릭하면 그래프가 나타나지 않네요

쳇 지피티 확인결과 아래와 같은 가능성이 있다고 하네요 확인 부탁드립니다
crewai 버전이 아직 flow 시각화 기능(plot())의 일부 버그를 포함하고 있습니다.
(decorator → 이건 내부 파서가 함수 이름 대신 데코레이터를 텍스트로 읽어버린 흔적이에요.)

답변 3

0

Tora King님의 프로필 이미지
Tora King
질문자

amamov님
안녕하세요

빠른 답변 갑사합니다
아래는 제 로컬의 소스코드 입니다
번거롭겟지만 잘부탁드립니다

from crewai.flow.flow import Flow, listen, start, router, or_
from crewai.lite_agent_output  import LiteAgentOutput
import os
from env import OPENAI_API_KEY
from tools import web_search_tool
from pydantic import BaseModel
from typing import List

os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

class Post(BaseModel):
    title: str = ""
    content: str = ""
    hashtag : List[str]

class ScoreManager(BaseModel):
    score: int = 0
    reason: str = ""

class BlogContentMakerState(BaseModel):

    topic: str = ""
    max_length: int =1000
    reserch_data : LiteAgentOutput | None = None
    score_manager : ScoreManager | None = None
    post : Post | None = None


class BlogContentMakerFlow(Flow):

    @start
    def init_make_blog_content(self):
        pass

    @listen(init_make_blog_content)
    def research_by_topic(self):
        pass

    @listen(research_by_topic)
    @listen("remake")
    def handle_make_blog(self):
        pass

    @listen(handle_make_blog)
    def manage_seo(self):
        pass

    @router(manage_seo)
    def finish_make_blog_content(self):
        
        if self.state.score_manager.score >= 70:
            return None
        
        else:
            return "remake"
        


flow = BlogContentMakerFlow()
flow.kickoff(inputs={"topic": "AI 로보틱스"})

flow.plot()


윤상석님의 프로필 이미지
윤상석
지식공유자

from crewai.agent import LiteAgentOutput

으로 해주셔야 합니다!

아래의 코드가 잘못되었습니다.

from crewai.lite_agent_output  import LiteAgentOutput

 

 

 

Tora King님의 프로필 이미지
Tora King
질문자

안녕하세요, 확인해보니 현재 최신 버전 기준으로 LiteAgentOutput 클래스는 더 이상 crewai.agent 모듈 안에 존재하지 않는다고하네요 ImportError 발생
그래서 from crewai.agent import LiteAgentOutput로 임포트하면 에러가 발생하게 됩니다.

crewai.lite_agent_output 모듈로 하면 에러가 발생하지 않네요

윤상석님의 프로필 이미지
윤상석
지식공유자

[project]
name = "agent-a-to-z"
version = "0.1.0"
description = "탄탄한 AI 에이전트 A to Z"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
    "crewai[tools]==0.177.0",
    "dotenv>=0.9.9",
    "firecrawl-py>=3.4.0"
]

부분에서 crewai[tools] 부분에서 >=가 아닌 ==으로 해서 해보시겠어요??

flow 부분이 말씀하신대로 beta이다 보니까 최신 버전에서는 이슈가 있을 수 있습니다.

강의 버전이 지금 시점에서 제일 안정적인 버전입니다.

 

 

0

안녕하세요, 인프런 AI 인턴입니다. Tora King님.

질문해 주신 flow.plot() 함수 관련 문제는 CrewAI에서 flow를 구성할 때 발생하는 일반적인 문제 중 하나입니다. 주로 crewai의 특정 버전과 관련이 있을 수 있으며, 일부 노드(함수 또는 객체)가 프로젝트에 누락되었거나 올바르게 인식되지 않을 때 나타날 수 있습니다.

문제 해결 방법

  1. 함수 및 노드 확인:

    • Missing Nodes: 에러 메시지를 보니 decorator, research_by_topic, handle_make_blog, manage_seo, finish_make_blog_content 같은 노드를 찾지 못하여 경로를 건너뛰었다는 경고가 발생합니다. 이 노드들이 정확히 코드에 정의되어 있는지, 그리고 올바르게 불러와지는지 확인해보세요.
  2. CrewAI 내 함수 및 객체의 존재 및 경로 확인:

    • 함수와 관련된 코드가 모두 올바로 작성되었는지, 특히 오탈자나 불완전한 정의가 없는지 다시 검토해주세요.
  3. 버전 확인 및 업데이트:

    • 사용 중인 CrewAI 패키지의 버전을 최신으로 업데이트 해 보세요. 업데이트를 통해 기저의 버그가 수정될 수 있습니다. pip install --upgrade crewai 명령을 이용하시면 됩니다.
  4. HTML 파일의 확인:

    • 생성된 crewai_flow.html을 웹 브라우저로 열어주세요. 브라우저의 개발자 도구 콘솔에서 추가적인 오류 로그를 확인할 수 있습니다.
  5. 기존 게시물 참고:

    • 유사한 포럼 Q&A에서는 버전 문제를 해결한 경험이 있으니, 참고하시기 바랍니다.

이러한 방법이 문제 해결에 도움이 되기를 바랍니다. 문제가 계속된다면 코드 샘플과 함께 추가 정보를 제공해주시면 더욱 상세한 확인이 가능합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

윤상석님의 프로필 이미지
윤상석
지식공유자

안녕하세요

우선 crewai의 flow 시각화 기능은 베타버전이라 이슈가 있을 수 있긴 하나, 아예 안나오는건 다른 문제인것 같습니다. 혹시 해당 코드를 전체 복사해서 보여주실 수 있나요?

Tora King님의 프로필 이미지
Tora King

작성한 질문수

질문하기