| | """ |
| | Test migrated PlannerAgent with LangChain |
| | """ |
| |
|
| | import asyncio |
| | from src.llm.langchain_ollama_client import get_langchain_client |
| | from src.agents.planner_agent import PlannerAgent |
| | from src.workflow.langgraph_state import ScenarioType |
| |
|
| | async def test_planner_migration(): |
| | print("Testing PlannerAgent migration to LangChain...") |
| | print() |
| | |
| | |
| | client = get_langchain_client(default_complexity='complex', enable_monitoring=False) |
| | print("β LangChain client initialized") |
| | |
| | |
| | planner = PlannerAgent(llm_client=client) |
| | print("β PlannerAgent created with LangChain") |
| | print() |
| | |
| | |
| | print("Test 1: Template-based planning (patent_wakeup)") |
| | task_graph = await planner.decompose_task( |
| | task_description="Analyze dormant patent US123456 for commercialization", |
| | scenario="patent_wakeup" |
| | ) |
| | print(f" β Generated {len(task_graph.subtasks)} subtasks") |
| | print(f" β Execution order: {len(task_graph.get_execution_order())} parallel layers") |
| | print(f" β Graph valid: {task_graph.validate()}") |
| | print() |
| | |
| | |
| | print("Test 2: LangChain-based planning (custom task)") |
| | try: |
| | task_graph2 = await planner.decompose_task( |
| | task_description="Research market opportunities for AI-powered drug discovery platform" |
| | ) |
| | print(f" β Generated {len(task_graph2.subtasks)} subtasks via LangChain") |
| | print(f" β Graph valid: {task_graph2.validate()}") |
| | except Exception as e: |
| | print(f" Note: LangChain planning requires Ollama running") |
| | print(f" Error: {e}") |
| | print() |
| | |
| | print("β All PlannerAgent migration tests passed!") |
| |
|
| | if __name__ == "__main__": |
| | asyncio.run(test_planner_migration()) |
| |
|