/SuperAGI

Build and run useful autonomous agents

Primary LanguagePythonMIT LicenseMIT

ยฐ Join our Discord Server ยฐ Follow us on Twitter ยฐ Join the discussion on Reddit

Infrastructure for building useful Autonomous Agents

๐Ÿ’ก Features

๐Ÿš€ Provision, Spawn & Deploy Autonomous AI Agents

Seamless provision and run agents

๐Ÿ› ๏ธ Extend Agent Capabilities with Tools

Give capabilities to your agents by selecting tools from growing library or build your own custom tool

๐Ÿ”„ Run Concurrent Agents Seamlessly

Run agents concurrently

๐Ÿ”“ Open Source:

SuperAGI is an open-source platform, enabling developers to join a community of contributors constantly working to make it better.

๐Ÿ–ฅ๏ธ GUI:

Access your agents through a user-friendly graphical interface, simplifying agent management and interaction.

โŒจ๏ธ Action Console:

Interact with agents by providing input, permissions, and more.

๐Ÿ“Š Multiple Vector DBs:

Connect to multiple Vector DBs to enhance your agent's performance and access additional data sources.

๐Ÿค– Multi-Model Agents:

Customize your agents by using different models of your choice, tailoring their behavior to specific tasks.

๐ŸŽฏ Agent Trajectory Fine-Tuning:

Agents learn and improve their performance over time through feedback loops, allowing for fine-tuning and optimization.

๐Ÿ“ˆ Performance Telemetry:

Gain insights into your agent's performance through telemetry data, enabling optimization and improvement.

๐Ÿ’ฐ Optimized Token Usage:

Control token usage to effectively manage costs associated with the platform.

๐Ÿง  Agent Memory Storage:

Enable agents to learn and adapt by storing their memory, facilitating continuous improvement.

๐Ÿ” Looping Detection Heuristics:

Receive notifications when agents get stuck in a loop and take proactive measures to resolve the issue.

๐Ÿš€ Concurrent Agents:

Run multiple agents simultaneously, maximizing efficiency and achieving parallel processing.

๐Ÿ’พ Resource Manager:

Read and store files generated by agents, facilitating data management and analysis.

You need Pinecone setup for this

๐Ÿ’ป Screenshots

CLI View

CLI

GUI (Work in progress)

GUI

๐Ÿ›ฃ Roadmap

Click here to checkout the latest roadmap ๐Ÿ”—

โš™๏ธ Setting up

  1. Download the repo using git clone https://github.com/TransformerOptimus/SuperAGI.git in your terminal or directly from github page in zip format and unzip in your desired folder
  2. Navigate to the directory using cd SuperAGI

Setting up Virtual Environment:

  • Creating a Virtual Environment:

Before starting with the project, it is highly recommended to create a virtual environment in Python. This isolates the packages required for the project from other packages installed on your system, avoiding potential compatibility issues.

To create a virtual environment, follow the steps below for your respective operating system:

  • For Linux and Mac:

    1. Open a terminal window.
    2. Install the virtualenv package, if not already installed, by running: pip install virtualenv or pip3 install virtualenv.
    3. Navigate to your project directory using cd command.
    4. Create a virtual environment by running: virtualenv venv (you can replace "venv" with your desired virtual environment name).
    5. Activate the virtual environment by running: source venv/bin/activate.
  • For Windows:

    1. Open a command prompt window.
    2. Install the virtualenv package, if not already installed, by running: pip install virtualenv.
    3. Navigate to your project directory using cd command.
    4. Create a virtual environment by running: virtualenv venv (you can replace "venv" with your desired virtual environment name).
    5. Activate the virtual environment by running: venv\Scripts\activate.

๐Ÿ›  Configuration

  1. Create a virtualenv in the project directory as mentioned above.
  2. Find the file named config_template.yaml in the main SuperAGI folder.
  3. Create a copy of config_template.yaml and name it config.yaml; if you're already in a command terminal window: cp config_template.yaml config.yaml.
  4. Open the config.yaml file in a text editor.
  5. Find the line that says OPENAI_API_KEY:
  6. After the : in the respective variable assignment, enter your unique OpenAI API Key, Google key, Custom search engine ID, and Pinecone API key without any quotes or spaces. You can obtain these keys by signing up for developer accounts at the respective service providers. Follow the links below to get your keys:
  • OpenAI API Key: Sign up and create an API key at OpenAI Developer.
  • Google key: Create a project in the Google Cloud Console and enable the API you need (for example: Google Custom Search JSON API). Then, create an API key in the "Credentials" section.
  • Custom search engine ID: Visit Google Programmable Search Engine to create a custom search engine for your application and obtain the search engine ID.
  • Pinecone API key: Sign up at Pinecone and create an API key in your account dashboard.
    • If you're on the Pinecone free plan, you only have 1 pod and 1 index available. As a workaround, change the index name used in test.py where memory is defined: memory = VectorFactory.get_vector_storage("PineCone", "my-current-indexname", OpenAiEmbedding())
  1. Save and close the config.yaml file

๐Ÿƒโ€โ™‚๏ธ Running SuperAGI

Simply run the start script in your terminal. This will install any necessary Python packages and launch SuperAGI

  • On Linux/MacOS: source run.sh
  • On Windows: .\run.bat

If this gives errors, make sure you have a compatible Python version installed (preferrably python 3.10).

โš ๏ธ Under Development!

This project is under active development and may still have issues. We appreciate your understanding and patience. If you encounter any problems, please first check the open issues. If your issue is not listed, kindly create a new issue detailing the error or problem you experienced. Thank you for your support!

๐Ÿ‘ฉโ€๐Ÿ’ปContributors

TransformerOptimus Cptsnowcrasher vectorcrow Akki-jain Autocop-AgentCOLONAYUSHluciferlinx101mukundans89Fluder-Paradyne

โญStar History

Star History Chart