-
Notifications
You must be signed in to change notification settings - Fork 44.3k
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(rnd): add FastAPI support to existing project outline #7165
Conversation
✅ Deploy Preview for auto-gpt-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
… swiftyos/agpt-734-create-project-outline
Why the change of heart in the need for the Manager? I thought you where quiet certain of the need for it in our previous discussion. Is this now an exploration in a different direction? |
agent_executor is the manager, I'm happy to rename it with anything. It runs the pool of process/threads that will execute the agent. I started with thread, if you want to use process we can simply change ThreadExecutorPool into ProcessExecutorPool and everything still work fine because we are not sharing any variable except ExecutionQueue |
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.
out of sync with update
… swiftyos/agpt-734-create-project-outline
… swiftyos/agpt-734-create-project-outline
Background
Project Outline
Currently, the project mainly consists of these components:
agent_api
A component that will expose API endpoints for the creation & execution of agents.
This component will make connections to the database to persist and read the agents.
It will also trigger the agent execution by pushing its execution request to the ExecutionQueue.
agent_executor
A component that will execute the agents.
This component will be a pool of processes/threads that will consume the ExecutionQueue and execute the agent accordingly.
The result and progress of its execution will be persisted in the database.
How to test
Execute
poetry run app
.Access the swagger page
http://localhost:8000/docs
, there is one API to trigger an execution of one dummy slow task, you fire the API a couple of times and see theagent_executor
executes the multiple slow tasks concurrently by the pool of Python processes.The pool size is currently set to
5
(hardcoded in app.py, the code entry point).Changes 🏗️
ExecutionQueue
class.api
andexecutor
.PR Quality Scorecard ✨
+2 pts
+5 pts
+5 pts
+5 pts
-4 pts
+4 pts
+5 pts
-5 pts
agbenchmark
to verify that these changes do not regress performance?+10 pts