Git Product home page Git Product logo

autogpt's Introduction

๐Ÿค– AutoGPT

Work In Progress made-with-rust Rust License Maintenance Jupyter Notebook

Share On Reddit Share On Ycombinator Share On X Share On Meta Share On Linkedin

CircleCI Crates.io Downloads Github Binder Open In Colab

banner

๐Ÿ—๏ธ (Recommended) ๐Ÿ‹
Crates.io Downloads Docker
cargo install autogpt --all-features docker pull kevinrsdev/autogpt:0.0.1

autogpt-demo.mp4

AutoGPT is a pure rust framework that simplifies AI agent creation and management for various tasks. Its remarkable speed and versatility are complemented by a mesh of built-in interconnected GPTs, ensuring exceptional performance and adaptability.


๐Ÿš€ Features

  • Agent Creation: Easily create different types of agents tailored to specific tasks.
  • Task Management: Efficiently manage tasks and distribute them among agents.
  • Extensible: Extend functionality by adding new agent types and task handling capabilities.
  • CLI Interface: Command-line interface for seamless interaction with the framework.
  • SDK Integration: Software development kit for integrating AutoGPT into existing projects.

๐Ÿ“ฆ Installation

Please refer to our tutorial for guidance on installing, running, and/or building the CLI from source using either Cargo or Docker.

Note

For optimal performance and compatibility, we strongly advise utilizing a Linux operating system to install this CLI.

๐Ÿ”„ Workflow

                       +------------------------------------+
                       |                User                |
                       |             Provides               |
                       |          Project Prompt            |
                       +------------------+-----------------+
                                          |
                                          v
                       +------------------+-----------------+
                       |               ManagerGPT           |
                       |            Distributes Tasks       |
                       |          to Backend, Frontend,     |
                       |           Designer, Architect      |
                       +------------------+-----------------+
                                          |
                                          v
   +--------------------------+-----------+----------+----------------------+
   |                          |                      |                      |
   |                          v                      v                      v
+--+---------+       +--------+--------+       +-----+-------+       +-----+-------+
|  Backend   |       |    Frontend     |       |  Designer   |       |  Architect  |
|    GPT     |       |      GPT        |<----->|    GPT      |       |  GPT        |
|            |       |                 |       |  (Optional) |       |             |
+--+---------+       +-----------------+       +-------------+       +-------------+
   |                          |                       |                       |
   v                          v                       v                       v
(Backend Logic)        (Frontend Logic)         (Designer Logic)        (Architect Logic)
   |                          |                       |                       |
   +--------------------------+----------+------------+-----------------------+
                                         |
                                         v
                      +------------------+-----------------+
                      |               ManagerGPT           |
                      |       Collects and Consolidates    |
                      |        Results from Agents         |
                      +------------------+-----------------+
                                         |
                                         v
                      +------------------+-----------------+
                      |                User                |
                      |            Receives Final          |
                      |             Output from            |
                      |            ManagerGPT              |
                      +------------------------------------+
  • โœ๏ธ User Input: Provide a project's goal (e.g. "Develop a full stack app that fetches today's weather. Use the axum web framework for the backend and the Yew rust framework for the frontend.").

  • ๐Ÿš€ Initialization: AutoGPT initializes based on the user's input, creating essential components such as the ManagerGPT and individual agent instances (ArchitectGPT, BackendGPT, FrontendGPT).

  • ๐Ÿ› ๏ธ Agent Configuration: Each agent is configured with its unique objectives and capabilities, aligning them with the project's defined goals. This configuration ensures that agents contribute effectively to the project's objectives.

  • ๐Ÿ“‹ Task Allocation: ManagerGPT distributes tasks among agents considering their capabilities and project requirements.

  • โš™๏ธ Task Execution: Agents execute tasks asynchronously, leveraging their specialized functionalities.

  • ๐Ÿ”„ Feedback Loop: Continuous feedback updates users on project progress and addresses issues.

๐Ÿค– Available Agents

At the current release, Autogpt consists of 6 built-in specialized autonomous AI agents ready to assist you in bringing your ideas to life! Refer to our guide to learn more about how the built-in agents work.

๐Ÿ“Œ Examples

Your can refer to our examples for guidance on how to use the cli in a jupyter environment.

๐Ÿ“š Documentation

For detailed usage instructions and API documentation, refer to the AutoGPT Documentation.

๐Ÿค Contributing

Contributions are welcome! See the Contribution Guidelines for more information on how to get started.

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


autogpt's People

Contributors

wiseaidev avatar dependabot[bot] avatar

Stargazers

Adam Browne avatar Xiyu Zhai avatar ohmycloud avatar GengTeng avatar Brad Pillow avatar Andria AlMakdissi avatar John Walton avatar Periklis Papanikolaou avatar haruki7049 avatar Darx Kies avatar Janu (Janeshwar) Cambrelen avatar Wang Jiteng avatar  avatar  avatar robot_ai avatar Phosphorus Moscu avatar Xtian avatar  avatar  avatar

Watchers

 avatar

autogpt's Issues

[Feature]: Implement New Agent within Existing Framework

This issue serves as a guide for integrating a new agent into our framework. The initial step involves defining a struct that encapsulates your agent's functionality, incorporating a field of type AgentGPT, which implements the Agent trait.

The next step is to expand the agent's capabilities by introducing any necessary API clients. Following this, you'll implement methods within the defined struct that leverage your API Client type effectively. Have a look at the existing agents for inspirations (e.g. ArchitectGPT):

https://github.com/kevin-rs/kevin/blob/a57c9db65da467727dee554c3c4c2fcb80cd483f/src/agents/architect.rs#L57-L68

ArchitectGPT's Client function example:

https://github.com/kevin-rs/kevin/blob/a57c9db65da467727dee554c3c4c2fcb80cd483f/src/agents/architect.rs#L239-L253

[DesignerGPT]: StabilityAI 500 Error

I've tried both the stabilityai crate and the REST APIs, but they aren't working anymore. We should consider migrating to a different alternative.

[Enhancement]: `BackendGPT` Execute Function to Include Browser Spawning

The current implementation of the BackendGPT agent's execute function in backend.rs involves code for opening a browser when manually testing backend endpoints:

https://github.com/kevin-rs/kevin/blob/a57c9db65da467727dee554c3c4c2fcb80cd483f/src/agents/backend.rs#L524-L531

However, it lacks flexibility as it doesn't allow users to choose whether to open up a web browser during execution.

To improve this functionality, I suggest adding a new argument, browser, to the execute function. This enhancement would allow users to decide whether they want to open a browser when testing backend endpoints.

Affected Files and Changes:

  • Introduce a new argument browser to the execute function signature.

  • Modify the trait definition to include the new browser argument:

https://github.com/kevin-rs/kevin/blob/a57c9db65da467727dee554c3c4c2fcb80cd483f/src/traits/functions.rs#L25-L27

By implementing this enhancement, users will have the flexibility to control whether a browser is opened during the execution of backend endpoints, thereby improving the usability and adaptability of the BackendGPT agent.

[Feature]: Dockerize and Ship the Thing as a Docker Container

Alrighty, ma dear fellow Linux lovers, gather 'round! So, here's the deal: those Windows fanboys are dissing Linux, saying it's not powerful enough and too complicated with all that compiling jazz. But fear not! We've got a genius plan: Docker containers! Instead of arguing, we'll package our stuff neatly into a Docker container, no more compiling headaches or OS debates. Let's show those Windows folks the true power of Linux, one container at a time!

[Feature]: Git Integration

It would be best if we could integrate Git into each agent execution function, so that whenever there are code changes, each agent will commit them.

[Enhancement]: Make Code Generation General

Currently, BackendGPT and FrontendGPT are limited to supporting predefined programming languages such as Python, Rust, and JavaScript.

https://github.com/kevin-rs/kevin/blob/6ae9232db06362224da0e8cc0f45aab0dbcf2d26/src/agents/backend.rs#L107-L161

https://github.com/kevin-rs/kevin/blob/6ae9232db06362224da0e8cc0f45aab0dbcf2d26/src/agents/frontend.rs#L103-L160

To expand language support and enhance flexibility, we propose implementing an initial step. This involves calling the Gemini endpoint to generate a list of setup commands for the code environment. The endpoint should return a comma-separated list of commands. By looping over these commands and executing them sequentially, we can ensure a broader range of languages are supported.

[Enhancement]: Implement Retry Logic for Empty Results in Gemini Client API Calls

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.