Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from langgraph.graph import StateGraph, END | |
| from ..state import AgentState | |
| from ..agents import ( | |
| researcher_node, | |
| aggregator_node, | |
| writer_node, | |
| critic_node, | |
| formatter_node, | |
| ) | |
| def build_workflow_app() -> any: | |
| """ | |
| Build and compile the LangGraph workflow for the multi-agent pipeline. | |
| Flow: Researcher -> Aggregator -> Writer -> Critic -> Formatter -> END | |
| """ | |
| graph = StateGraph(AgentState) | |
| graph.add_node("researcher", researcher_node) | |
| graph.add_node("aggregator", aggregator_node) | |
| graph.add_node("writer", writer_node) | |
| graph.add_node("critic", critic_node) | |
| graph.add_node("formatter", formatter_node) | |
| graph.set_entry_point("researcher") | |
| graph.add_edge("researcher", "aggregator") | |
| graph.add_edge("aggregator", "writer") | |
| graph.add_edge("writer", "critic") | |
| graph.add_edge("critic", "formatter") | |
| graph.add_edge("formatter", END) | |
| app = graph.compile() | |
| return app | |