daveshap / OpenAI_Agent_Swarm

HAAS = Hierarchical Autonomous Agent Swarm - "Resistance is futile!"
MIT License
2.98k stars 380 forks source link

IntercomService for direct and group communication #111

Closed n0rthin closed 10 months ago

n0rthin commented 11 months ago

There were a lot of discussions on communication between assistants. I wanted to go ahead and implement something simple that works but could be extended into something complex. This pull request includes the implementation of direct and group communication.

Here's what this PR introduces to the repo:

  1. Extended assistant instructions that include communication guideline
  2. Chat tools for function calling
  3. Agent class that stores information on agent, handles thread runs, processes function calls
  4. Agent registry for keeping links to all agents in one place
  5. InterComService class - passes messages between agents
  6. Two demos showing how it works

For more details, check out README.md

guillermo-delrio commented 11 months ago

This looks very interesting. Haven't had a chance to go through the code in detail yet, however I think it looks similar to my tests over at _agents/agentfuntions. Would you mind taking a look at the readme there? Maybe there's an insight that could be of use here.

daveshap commented 10 months ago

Waiting for @guillermo-delrio and @OWigginsHay to bless this. Thanks for jumping in.

OWigginsHay commented 10 months ago

Looks like a good start, I am also yet to test the actual code! I will try to do so tonight, and if it looks good I will mark my approval on this

TemporalLabsLLC-SOL commented 10 months ago

I'm poking at it now.

Are you on windows? I had to manually assign the variables for API and directory in console lol

I'm running into a silly issue and am tired so I'm laying down. I'm looking forward to seeing how it works out for G-man.

daveshap commented 10 months ago

Awaiting final approval @OWigginsHay @RomanGoEmpire @GeorgiaPhillips1008 @guillermo-delrio

guillermo-delrio commented 10 months ago

I've finally had a chance to look into this in more detail. It is extermely similar to what we've been working on for the manual assistant tests. I'm afraid we would be duplicating the functionality if we merge this as is. @n0rthin how do you feel about bringing some of these functionalitites directly into _agents/manualassistants? I think that might be the best way to keep the project tidy.

Specifically I'd be keen to get:

Let me know if you agree and we can close this PR.

n0rthin commented 10 months ago

Hi, @guillermo-delrio. Thanks for the feedback. If merging this PR will lead to duplication of functionality, then I agree that it's better not to merge it. I'll look into _agents/manualassistants later to see what I can do.

Have a nice day!