mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
feat(configurable): execute langgraph with user config (#1376)
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user