Spaces:
Running
Running
| # Orchestrators API Reference | |
| This page documents the API for DeepCritical orchestrators. | |
| ## IterativeResearchFlow | |
| **Module**: `src.orchestrator.research_flow` | |
| **Purpose**: Single-loop research with search-judge-synthesize cycles. | |
| ### Methods | |
| #### `run` | |
| ```python | |
| async def run( | |
| self, | |
| query: str, | |
| background_context: str = "", | |
| max_iterations: int | None = None, | |
| max_time_minutes: float | None = None, | |
| token_budget: int | None = None | |
| ) -> AsyncGenerator[AgentEvent, None] | |
| ``` | |
| Runs iterative research flow. | |
| **Parameters**: | |
| - `query`: Research query string | |
| - `background_context`: Background context (default: "") | |
| - `max_iterations`: Maximum iterations (default: from settings) | |
| - `max_time_minutes`: Maximum time in minutes (default: from settings) | |
| - `token_budget`: Token budget (default: from settings) | |
| **Yields**: `AgentEvent` objects for: | |
| - `started`: Research started | |
| - `search_complete`: Search completed | |
| - `judge_complete`: Evidence evaluation completed | |
| - `synthesizing`: Generating report | |
| - `complete`: Research completed | |
| - `error`: Error occurred | |
| ## DeepResearchFlow | |
| **Module**: `src.orchestrator.research_flow` | |
| **Purpose**: Multi-section parallel research with planning and synthesis. | |
| ### Methods | |
| #### `run` | |
| ```python | |
| async def run( | |
| self, | |
| query: str, | |
| background_context: str = "", | |
| max_iterations_per_section: int | None = None, | |
| max_time_minutes: float | None = None, | |
| token_budget: int | None = None | |
| ) -> AsyncGenerator[AgentEvent, None] | |
| ``` | |
| Runs deep research flow. | |
| **Parameters**: | |
| - `query`: Research query string | |
| - `background_context`: Background context (default: "") | |
| - `max_iterations_per_section`: Maximum iterations per section (default: from settings) | |
| - `max_time_minutes`: Maximum time in minutes (default: from settings) | |
| - `token_budget`: Token budget (default: from settings) | |
| **Yields**: `AgentEvent` objects for: | |
| - `started`: Research started | |
| - `planning`: Creating research plan | |
| - `looping`: Running parallel research loops | |
| - `synthesizing`: Synthesizing results | |
| - `complete`: Research completed | |
| - `error`: Error occurred | |
| ## GraphOrchestrator | |
| **Module**: `src.orchestrator.graph_orchestrator` | |
| **Purpose**: Graph-based execution using Pydantic AI agents as nodes. | |
| ### Methods | |
| #### `run` | |
| ```python | |
| async def run( | |
| self, | |
| query: str, | |
| research_mode: str = "auto", | |
| use_graph: bool = True | |
| ) -> AsyncGenerator[AgentEvent, None] | |
| ``` | |
| Runs graph-based research orchestration. | |
| **Parameters**: | |
| - `query`: Research query string | |
| - `research_mode`: Research mode ("iterative", "deep", or "auto") | |
| - `use_graph`: Whether to use graph execution (default: True) | |
| **Yields**: `AgentEvent` objects during graph execution. | |
| ## Orchestrator Factory | |
| **Module**: `src.orchestrator_factory` | |
| **Purpose**: Factory for creating orchestrators. | |
| ### Functions | |
| #### `create_orchestrator` | |
| ```python | |
| def create_orchestrator( | |
| search_handler: SearchHandlerProtocol, | |
| judge_handler: JudgeHandlerProtocol, | |
| config: dict[str, Any], | |
| mode: str | None = None | |
| ) -> Any | |
| ``` | |
| Creates an orchestrator instance. | |
| **Parameters**: | |
| - `search_handler`: Search handler protocol implementation | |
| - `judge_handler`: Judge handler protocol implementation | |
| - `config`: Configuration dictionary | |
| - `mode`: Orchestrator mode ("simple", "advanced", "magentic", or None for auto-detect) | |
| **Returns**: Orchestrator instance. | |
| **Raises**: | |
| - `ValueError`: If requirements not met | |
| **Modes**: | |
| - `"simple"`: Legacy orchestrator | |
| - `"advanced"` or `"magentic"`: Magentic orchestrator (requires OpenAI API key) | |
| - `None`: Auto-detect based on API key availability | |
| ## MagenticOrchestrator | |
| **Module**: `src.orchestrator_magentic` | |
| **Purpose**: Multi-agent coordination using Microsoft Agent Framework. | |
| ### Methods | |
| #### `run` | |
| ```python | |
| async def run( | |
| self, | |
| query: str, | |
| max_rounds: int = 15, | |
| max_stalls: int = 3 | |
| ) -> AsyncGenerator[AgentEvent, None] | |
| ``` | |
| Runs Magentic orchestration. | |
| **Parameters**: | |
| - `query`: Research query string | |
| - `max_rounds`: Maximum rounds (default: 15) | |
| - `max_stalls`: Maximum stalls before reset (default: 3) | |
| **Yields**: `AgentEvent` objects converted from Magentic events. | |
| **Requirements**: | |
| - `agent-framework-core` package | |
| - OpenAI API key | |
| ## See Also | |
| - [Architecture - Orchestrators](../architecture/orchestrators.md) - Architecture overview | |
| - [Graph Orchestration](../architecture/graph-orchestration.md) - Graph execution details | |