Replies: 3 comments
|
Partial answer after looking at this course. To link-up to CopilotKit:
graph = create_agent(
model=_model,
middleware=[CopilotKitMiddleware()],
)
agent = LangGraphAGUIAgent(
graph=graph,
)
add_langgraph_fastapi_endpoint(app=app, agent=agent, path="/") |
|
We've been running the interrupt-based path you sketch (rather than the placeholder / orphaned-tool redaction path), so sharing what we learned — including where we still diverge from a clean protocol-shaped HITL flow. Why HITL /
|
|
Thanks @uesleilima ! For visibility, the fix I've been working with is in the CopilotKit Issue CopilotKit/CopilotKit#4920 The way I approached it was to catch all FE tools, send them and interrupt, and on resume add tool messages. Any BE tool can now be triggered. But I focused on CopilotKit integration. Are you trying a design that is independent/cleaner of the copilotkit forwardedProps resume approach? |
Uh oh!
There was an error while loading. Please reload this page.
Working on this issue I noticed that AG-UI payload Tools do not exploit the Human-in-the-loop feature of LangGraph (which is a faeture already supported by the ag-ui integration).
Current implementation
It seems that currently (as the official example also suggests):
Suggested implementation
But I am wondering why the design does not use the LangGraph Human-in-the-loop feature.
So the flow could be:
Question
It feels to me that using HITL is the natural way to handle tools from the AG-UI payload, so I'm wondering if someone can help me understand this design decision?
(One could build a middleware that binds tools at runtime and perform the interrupt for AG-UI tools)
All reactions