-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: Graphs #630
Feat: Graphs #630
Conversation
I have a plugin i was building which does something similar, if you like I will put it in a public repo to review? |
Sure @cabljac |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you mind adding a testapp (js/testapps/graph
) that demonstrates the graph library in action?
Is this directed to me or @debkanchan ? (also happy to add a test app with the plugin) |
Sure. I'll do that once I figure out 1. tracing 2. how to make it run like |
Hey @pavelgj @debkanchan this morning I opened a draft, with the code from the plugin i made before, included a test app: |
@cabljac I read your PR. Tbh it's the most complete one so far. But I have one problem with this approach that I have also previously stated in discord. The concept of edges is bit confusing imo. To me, each node should be able to dictate which node it wants to go next based on it's internal conditions. We should not be needing separate edges or even worse conditional edges. This only confuses new-comers and imo more verbose. |
Ah interesting, I didn't consider this. I come from a math background where an edge is quite intuitive, but perhaps you're right and it could be confusing. I guess any way you define a graph it will have implicit edges, and most graph related packages will deal with edges to run various algorithms. Perhaps the main way to define an edge could be implicitly at the node. One thing I like about having a graph as a layer above the actual flows is that they can just point at the flows, so one flow could serve several node instances. I should share the UI demo I made for it on discord with you. I'm away at the moment but will do when I get a chance. We should also move this to a separate repo probably. I could create one if you want, and invite you? |
This pr has been moved to TheFireCo/genkit-plugins#117 |
Graphs let us work in a cyclic fashion easily to implement workflows like reflexion. Graphs would help us build agentic workflows easily
Right now i'm just prototyping it. I need some feedback on how to best make it production grade.
Checklist (if applicable):