Files
assafelovic--gpt-researcher/backend/server/multi_agent_runner.py
T
2026-07-13 12:39:12 +08:00

34 lines
1.0 KiB
Python

import os
import sys
from typing import Any, Awaitable, Callable
RunResearchTask = Callable[..., Awaitable[Any]]
def _ensure_repo_root_on_path() -> None:
"""Ensure top-level repo root is importable for multi-agent modules."""
repo_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
if repo_root not in sys.path:
sys.path.insert(0, repo_root)
def _resolve_run_research_task() -> RunResearchTask:
_ensure_repo_root_on_path()
try:
from multi_agents.main import run_research_task
return run_research_task
except Exception:
try:
from multi_agents_ag2.main import run_research_task
return run_research_task
except Exception as ag2_error:
raise ImportError(
"Could not import run_research_task from multi_agents or multi_agents_ag2"
) from ag2_error
async def run_multi_agent_task(*args, **kwargs) -> Any:
run_research_task = _resolve_run_research_task()
return await run_research_task(*args, **kwargs)