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

Add multi agent #23

Merged
merged 4 commits into from
Feb 26, 2024
Merged

Add multi agent #23

merged 4 commits into from
Feb 26, 2024

Conversation

skrawcz
Copy link
Contributor

@skrawcz skrawcz commented Feb 17, 2024

Adds beginnings of multi-agent example

Need to figure out the application state model and
what to update, i.e. wire through messages history
properly.

Otherwise rather than having a specific tool node, like
the langgraph example, I added that call to the hamilton
DAG for it -- could always change it to mirror their stuff.

@skrawcz skrawcz changed the base branch from main to add_telephone February 17, 2024 20:17
@skrawcz skrawcz force-pushed the add-multi-agent branch 3 times, most recently from abc053b to 1655b60 Compare February 22, 2024 23:32
@elijahbenizzy elijahbenizzy mentioned this pull request Feb 23, 2024
24 tasks
Base automatically changed from add_telephone to main February 25, 2024 19:25
@elijahbenizzy
Copy link
Contributor

@skrawcz you're going to want to cherry-pick the commits for just this. I'm going to add input/state serialization to a separate PR.

Copy link
Contributor

@elijahbenizzy elijahbenizzy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so let's squash the first two commits then this looks good. Also no need to add the run **kwargs to Result, but either way.

@@ -241,7 +241,7 @@ def __init__(self, *fields: str):
super(Result, self).__init__()
self._fields = fields

def run(self, state: State) -> dict:
def run(self, state: State, **kwargs) -> dict:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't take in kwargs -- they're not allowed to be passed in as inputs is empty. Type-checking can't really express it so I figured it's better to just not have them there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok will drop this commit then.

elijahbenizzy and others added 4 commits February 26, 2024 11:07
Adds serialization hook for lcel example (+12 squashed commits)
Squashed commits:
[966cffd] Fixes python repl response

If this doesn't work I should
revert to the lecl response structure of their python repl
function.
[ac0a0a1] Gets it almost working

the LCEL one uses the deprecated function paths
of open ai API. I'm trying to use the new tool one here.
It's a bit inconsistent it seems -- I did manage to get
it to draw a graph, but it failed to finish because I hadn't
set up how it should say to finish things.

Otherwise a UI to debug this would be great.
[12feac6] Adds working lcel multi-agent example

Will now take this and rewrite with Hamilton/more obvious
constructs.
[4ef64f2] Adds beginnings of multi-agent example

Need to figure out the application state model and
what to update, i.e. wire through messages history
properly.

Otherwise rather than having a specific tool node, like
the langgraph example, I added that call to the hamilton
DAG for it -- could always change it to mirror their stuff.
[f3ffe95] Adds telephone example README
[03b6d07] Addresses comments
[11d0b0f] Fixes formatting
[17ffa67] Adds telephone app example

This uses the dataflows from the hub and then shows two ways
to integrate Hamilton. One via the Hamilton integration, the other
via the function API.
[557b24b] Adds image telephone example

This uses the dataflows defined on the hub to create the image
telephone app.
[0233a95] Fixes cowsay application __main__

the variables were round the wrong way.
[dbeddb0] WIP
[0ba0158] WIP (+1 squashed commit)
Squashed commits:
[bc53419] Initializes telemetry UI

Design:

1. CRA + tailwind (they don't like CRA but I really don't care)
2. prettier + eslint
3. Add to pre-commit-config.yaml rahte rthan husky (which is very
   painful IMO)
So that things run and docs don't have misspellings.
This will be useful for debugging. E.g. in the UI have
the code to replay from this point int state. Then boom
 you can go and try to debug what was going on more
easily.
@skrawcz skrawcz marked this pull request as ready for review February 26, 2024 19:08
@elijahbenizzy elijahbenizzy merged commit 964f375 into main Feb 26, 2024
5 checks passed
@elijahbenizzy elijahbenizzy deleted the add-multi-agent branch February 26, 2024 19:52
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.

2 participants