Multi-GPT (Multiple Collaborating ExpertGPTs) is an experimental open-source project designed to let multiple "expert GPTs" collaborate to perform tasks. Its core idea is "individuals are like a drop of water, united they become an ocean," completing work that a single GPT cannot accomplish alone through multi-agent division of labor and cooperation.
Main capabilities
- Multi-agent collaboration: multiple expertGPTs each have short-term and long-term memory and can communicate with one another, jointly performing a task.
- Text generation: use GPT-4 instances for text generation (the materials also mention GPT-3.5 for file storage and summarization).
- Internet search: has internet access capability, used for search and information gathering.
- Platform access: can access popular websites and platforms.
- Memory management: supports long-term and short-term memory management, with selectable memory backends such as Local, Redis, Pinecone, Milvus, and Weaviate.
- Voice output: if an ElevenLabs Key is configured, the AI can speak.
How to use
- Prepare Python 3.10 or higher; it is recommended to use the preconfigured vscode + devcontainer (located in the .devcontainer folder).
- Clone the repository and install the required dependencies.
- Copy .env.template to .env and fill in OPENAI_API_KEY and other required API keys or Tokens. Using an OpenAI API Key requires setting up a paid account.
- If an Azure instance is needed, set USE_AZURE to True, rename azure.yaml.template to azure.yaml, and provide azure_api_base, azure_api_version, as well as deployment IDs such as fast_llm_model_deployment_id, smart_llm_model_deployment_id, and embedding_model_deployment_id (all must be double-quoted strings).
- Run the multigpt Python module in the terminal. After each action, you can choose to authorize commands (enter y to authorize a single command, enter y -N to authorize N consecutive commands), exit the program (enter n), or provide feedback to the AI.
- ActivityError logs are located at ./output/logs. You can use the --debug flag to view detailed logs and memory usage.
Memory backend configuration By default, LocalCache (a local JSON cache file) is used. You can switch to pinecone, redis, milvus, or weaviate by modifying the MEMORY_BACKEND environment variable.
- Redis: Docker Desktop must be installed, Redis environment variables must be set (such as a password), the cache type can be set, and a memory index can be specified. The material warns that this method is not suitable for public access and lacks security measures; avoid exposing Redis to the internet without a password.
- Pinecone: Register an account and choose the Starter plan to avoid charges, and set PINECONE_API_KEY, PINECONE_ENV (for example, "us-east4-gcp"), and MEMORY_BACKEND=pinecone in .env.
- Milvus: An open-source scalable vector database. You need to set MILVUS_ADDR to host:port, MEMORY_BACKEND=milvus, and optionally set MILVUS_COLLECTION (default autogpt).
- Weaviate: An open-source vector database that supports local Docker, Kubernetes, or Weaviate Cloud Services, and can also enable embedded Weaviate (set USE_WEAVIATE_EMBEDDED=True and ensure pip install "weaviate-client>=3.15.4").
Memory pre-filling You can use the autogpt/data_ingestion.py script to ingest the contents of files or directories into memory so that it can be pre-filled before running. For example: python autogpt/data_ingestion.py --dir seed_data --init --overlap 200 --max_length 1000 This script splits document content into chunks according to the specified maximum length and overlap, and adds them to the memory backend set in .env. Pre-filling helps the AI quickly access specific information and improves response accuracy. Note: when using Redis, WIPE_REDIS_ON_START must be set to False; other backends currently force-clear memory at startup. You can call this script at any time during runtime to ingest data, and it will be available immediately after ingestion.
Google API key configuration (optional) When Google Search encounters a 429 error, you can configure the official Google API. The steps include: create a project in Google Cloud Console, enable the Custom Search API, create an API key and set it as the GOOGLE_API_KEY environment variable, create a programmable search engine and copy the search engine ID and set it as CUSTOM_SEARCH_ENGINE_ID. The free daily custom search quota is only 100 times; after linking a billing account, it can be increased to 10K times per day.
Use cases Suitable for developers and researchers interested in multi-agent collaboration and autonomous task execution to conduct experiments; it can also be used to explore automated tasks that require multi-role division of labor, memory management, and online information collection.
Limitations The material clearly marks the project as experimental and notes that it has limitations; it does not explain specific functional boundaries, performance metrics, or degree of stability. Memory backends such as Redis lack security measures and should not be publicly exposed. Using the OpenAI API requires a paid account. Other details (such as a specific list of limitations) are not fully provided in the material.