feat(configurable): execute langgraph with user config (#1376)

This commit is contained in:
Ran Shemtov
2025-02-17 10:44:43 +01:00
committed by GitHub
parent 3e4d3b8b1d
commit 7d061d9e84
11 changed files with 51 additions and 5 deletions
+1
View File
@@ -27,6 +27,7 @@ class Agent(ABC):
self,
*,
state: dict,
configurable: Optional[dict] = None,
messages: List[Message],
thread_id: Optional[str] = None,
node_name: Optional[str] = None,
@@ -103,6 +103,7 @@ async def handler(request: Request, sdk: CopilotKitRemoteEndpoint):
if method == 'POST' and path == 'agents/execute':
thread_id = body.get("threadId")
node_name = body.get("nodeName")
configurable = body.get("configurable")
name = body_get_or_raise(body, "name")
state = body_get_or_raise(body, "state")
@@ -117,6 +118,7 @@ async def handler(request: Request, sdk: CopilotKitRemoteEndpoint):
node_name=node_name,
name=name,
state=state,
configurable=configurable,
messages=messages,
actions=actions,
meta_events=meta_events,
@@ -174,6 +176,7 @@ def handle_execute_agent( # pylint: disable=too-many-arguments
node_name: str,
name: str,
state: dict,
configurable: Optional[dict] = None,
messages: List[Message],
actions: List[ActionDict],
meta_events: Optional[List[MetaEvent]] = None,
@@ -186,6 +189,7 @@ def handle_execute_agent( # pylint: disable=too-many-arguments
name=name,
node_name=node_name,
state=state,
configurable=configurable,
messages=messages,
actions=actions,
meta_events=meta_events,
+4 -1
View File
@@ -217,6 +217,7 @@ class LangGraphAgent(Agent):
self,
*,
state: dict,
configurable: Optional[dict] = None,
messages: List[Message],
thread_id: Optional[str] = None,
node_name: Optional[str] = None,
@@ -225,6 +226,7 @@ class LangGraphAgent(Agent):
):
return self._stream_events(
state=state,
configurable=configurable,
messages=messages,
actions=actions,
thread_id=thread_id,
@@ -236,6 +238,7 @@ class LangGraphAgent(Agent):
self,
*,
state: Any,
configurable: Optional[dict] = None,
messages: List[Message],
thread_id: str,
actions: Optional[List[ActionDict]] = None,
@@ -244,7 +247,7 @@ class LangGraphAgent(Agent):
):
config = ensure_config(cast(Any, self.langgraph_config.copy()) if self.langgraph_config else {}) # pylint: disable=line-too-long
config["configurable"] = config.get("configurable", {})
config["configurable"] = {**config.get("configurable", {}), **(configurable or {})}
config["configurable"]["thread_id"] = thread_id
agent_state = await self.graph.aget_state(config)
+3
View File
@@ -264,6 +264,7 @@ class CopilotKitRemoteEndpoint:
thread_id: str,
node_name: str,
state: dict,
configurable: Optional[dict] = None,
messages: List[Message],
actions: List[ActionDict],
meta_events: Optional[List[MetaEvent]] = None,
@@ -284,6 +285,7 @@ class CopilotKitRemoteEndpoint:
("Thread ID", thread_id),
("Node Name", node_name),
("State", state),
("Configurable", configurable),
("Messages", messages),
("Actions", actions),
("MetaEvents", meta_events),
@@ -295,6 +297,7 @@ class CopilotKitRemoteEndpoint:
thread_id=thread_id,
node_name=node_name,
state=state,
configurable=configurable,
messages=messages,
actions=actions,
meta_events=meta_events