Spaces:
Running
on
Zero
Running
on
Zero
Commit
·
3645e99
1
Parent(s):
54a86b4
fix: add RunnableConfig to workflow.ainvoke and astream_events calls
Browse files
backend/agents/workflow.py
CHANGED
|
@@ -14,6 +14,7 @@ from datetime import datetime, timezone
|
|
| 14 |
from decimal import Decimal
|
| 15 |
|
| 16 |
from langgraph.graph import StateGraph, END
|
|
|
|
| 17 |
from backend.models.agent_state import AgentState, MCPCall
|
| 18 |
from backend.agents.portfolio_analyst import PortfolioAnalystAgent
|
| 19 |
from backend.agents.personas import create_persona_agent, PersonaType
|
|
@@ -647,7 +648,10 @@ class PortfolioAnalysisWorkflow:
|
|
| 647 |
"""
|
| 648 |
logger.info(f"Starting portfolio analysis workflow for {len(initial_state['holdings'])} holdings")
|
| 649 |
|
| 650 |
-
result = await self.workflow.ainvoke(
|
|
|
|
|
|
|
|
|
|
| 651 |
|
| 652 |
logger.info("Workflow complete")
|
| 653 |
return result
|
|
@@ -690,7 +694,8 @@ class PortfolioAnalysisWorkflow:
|
|
| 690 |
}
|
| 691 |
|
| 692 |
final_state = None
|
| 693 |
-
|
|
|
|
| 694 |
if event["event"] == "on_chain_end":
|
| 695 |
node_name = event.get("name", "")
|
| 696 |
if node_name in phase_info:
|
|
|
|
| 14 |
from decimal import Decimal
|
| 15 |
|
| 16 |
from langgraph.graph import StateGraph, END
|
| 17 |
+
from langchain_core.runnables import RunnableConfig
|
| 18 |
from backend.models.agent_state import AgentState, MCPCall
|
| 19 |
from backend.agents.portfolio_analyst import PortfolioAnalystAgent
|
| 20 |
from backend.agents.personas import create_persona_agent, PersonaType
|
|
|
|
| 648 |
"""
|
| 649 |
logger.info(f"Starting portfolio analysis workflow for {len(initial_state['holdings'])} holdings")
|
| 650 |
|
| 651 |
+
result = await self.workflow.ainvoke(
|
| 652 |
+
initial_state,
|
| 653 |
+
config=RunnableConfig(configurable={}, recursion_limit=25)
|
| 654 |
+
)
|
| 655 |
|
| 656 |
logger.info("Workflow complete")
|
| 657 |
return result
|
|
|
|
| 694 |
}
|
| 695 |
|
| 696 |
final_state = None
|
| 697 |
+
config = RunnableConfig(configurable={}, recursion_limit=25)
|
| 698 |
+
async for event in self.workflow.astream_events(initial_state, version="v2", config=config):
|
| 699 |
if event["event"] == "on_chain_end":
|
| 700 |
node_name = event.get("name", "")
|
| 701 |
if node_name in phase_info:
|