[go: up one dir, main page]

Skip to content
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

Closed
wants to merge 1 commit into from
Closed

Feat: Graphs #630

wants to merge 1 commit into from

Conversation

debkanchan
Copy link
Contributor

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):

  • Tested (manually, unit tested, etc.)
  • Changelog updated
  • Docs updated

@cabljac
Copy link
Collaborator
cabljac commented Jul 16, 2024

I have a plugin i was building which does something similar, if you like I will put it in a public repo to review?

@debkanchan
Copy link
Contributor Author

Sure @cabljac

Copy link
Collaborator
@pavelgj pavelgj left a 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?

@cabljac
Copy link
Collaborator
cabljac commented Jul 17, 2024

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)

@debkanchan
Copy link
Contributor Author

do you mind adding a testapp (js/testapps/graph) that demonstrates the graph library in action?

Sure. I'll do that once I figure out 1. tracing 2. how to make it run like run(graph)

@cabljac
Copy link
Collaborator
cabljac commented Jul 18, 2024

Hey @pavelgj @debkanchan this morning I opened a draft, with the code from the plugin i made before, included a test app:

#649

@debkanchan
Copy link
Contributor Author

@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.

@cabljac
Copy link
Collaborator
cabljac commented Jul 19, 2024

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?

@debkanchan
Copy link
Contributor Author

This pr has been moved to TheFireCo/genkit-plugins#117

@debkanchan debkanchan closed this Jul 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants