flow.plot() ๊ทธ๋ํ ์๊ฐํ๊ฐ ๋ผ์ง ์๋ค์
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()