from langgraph.graph import StateGraph, START, END from backend.graph.state import StockAnalysisState from backend.graph.nodes import news_node, financial_node, competitor_node, report_node, technical_node import logging logger = logging.getLogger(__name__) def build_stock_graph(): # 그래프 생성 graph = StateGraph(StockAnalysisState) # 노드 등록 graph.add_node("news", news_node) graph.add_node("financial", financial_node) graph.add_node("technical", technical_node) graph.add_node("competitors", competitor_node) graph.add_node("report", report_node) # 연결 graph.add_edge(START, "news") graph.add_edge("news", "financial") graph.add_edge("financial", "technical") graph.add_edge("technical", "competitors") graph.add_edge("competitors", "report") graph.add_edge("report", END) # 실행 compiled = graph.compile() logger.info("LangGraph 주식 분석 그래프 빌드 완료") return compiled