AutoGPT
Auto-GPT is an experimental, open-source AI agent that uses OpenAI's GPT-4 or GPT-3.5 APIs to perform autonomous tasks. Auto-GPT is among the first examples of an application using GPT-4.
Auto-GPT is given a goal in natural language, and then it breaks it down into sub-tasks and uses the internet and other tools to achieve it. It automates the multi-step prompting process typically required to operate a chatbot such as ChatGPT.
Auto-GPT is a free open-source simulation tool. However, there is a cost to using the tokens because it uses GPT4.
Auto-GPT is different from Agent GPT in that Auto-GPT operates independently and generates its own prompts, while Agent GPT requires human interaction and depends on user inputs.
For Project Eden, AutoGPT's act as extensions of the localized system that can be assigned to accomplish difficult tasks that require complex approaches. AutoGPT systems can use plugins to accompish tasks, and even autonomously create subordant instances of AutoGPT systems, and have the ability to dynamically distribute tasks throughout clusters of AutoGPT systems. Eden utilizes a 'Autogpt Stacking' strategy to optimize this performance attribute, allowing autogpt systems to be able to edit base code of subordant autogpt systems. This process also allows autogptsystems to communicate across a cluster of autogpt systems by updating shared files with information that master autogpt systems can then read and write to.
AutoGPT Comprehensive User Guide
AutoGPT is a powerful AI-based development environment that equips developers with the tools they need to create, test, and deploy software solutions. It leverages the capabilities of GPT (Generative Pretrained Transformer) models for a variety of tasks including text generation, summarization, translation, and more. AutoGPT is an open-source AI tool built upon OpenAI's ChatGPT but with more functionalities. It is designed to be an autonomous AI assistant available to everyone, capable of accomplishing tasks without needing new prompts for every single action. In addition to the functionalities of ChatGPT, AutoGPT can access the web, run Google searches, create text files, use other plugins, and run many tasks back to back. These features are designed to make it more autonomous and efficient in handling tasks1.
Key Benefits
Versatility: AutoGPT can handle a wide array of tasks thanks to its plugin system.
Efficiency: Automate many tasks, reducing manual effort and increasing productivity.
Flexibility: Its plugins are compatible with each other, allowing for a seamless workflow.
Plugins Overview
Each plugin in AutoGPT has unique features designed to enhance your development experience. Here are some notable ones:
Text Generation Plugin: This plugin utilizes GPT models to generate human-like text.
Summarization Plugin: Summarize long pieces of text into concise summaries.
Translation Plugin: Translate text between different languages without losing context.
Setting Up AutoGPT
Download and install AutoGPT from the official GitHub repository.
Launch the application and navigate to File > New > Project.
Name your project and select a location to save it.
Configuring AutoGPT
Navigate to Tools > Options.
Here you can configure various settings like default language, text generation parameters, etc.
Testing AutoGPT
To test your setup, navigate to Run > Test Run.
If everything is set up correctly, you should see a successful test run message.
Deploying AutoGPT
Once you're ready to deploy, navigate to Build > Deploy.
Follow the prompts to deploy your software solution.
Working with Plugins
Each plugin will have its own root folder structure within your project.
To add a plugin, navigate to Project > Add Existing Plugin.
Navigate to the plugin's root folder and click OK.
Best Practices and Troubleshooting
Always keep your plugins updated to their latest versions.
If you encounter any issues, refer to the official AutoGPT GitHub page for troubleshooting guides.
Remember, practice makes perfect. The more you use AutoGPT, the more familiar you'll become with its functionalities and features. Happy coding!
Once AutoGPT is installed, it can be further extended by installing plugins. These plugins can be downloaded from the root of the AutoGPT directory. They can be installed on Linux or MacOS using the curl command, or on Windows using PowerShell. After downloading, you need to execute the dependency install script for the plugins. This can be done either directly via the CLI or through provided scripts for Linux/MacOS and Windows. After installing the plugins, you can set ALLOWLISTED_PLUGINS in your .env file to allow specific plugins to be used without interactions2.
Integrating AutoGPT into Leon.ai
To integrate AutoGPT within Leon.ai, it needs to be installed inside Leon's working directory in a folder named Auto-GPT. This allows Leon to use Visual Studio Plus to work directly on files within these directories.
Here's how you can set up this integration:
Download AutoGPT: Download the AutoGPT software from the official GitHub repository and save it to your local machine.
Create a New Folder in Leon.ai's Directory: Navigate to Leon.ai's working directory and create a new folder named 'Auto-GPT'.
Install AutoGPT: Copy the downloaded AutoGPT files into the newly created 'Auto-GPT' folder inside Leon.ai's working directory.
Set Up Visual Studio Plus: Launch Visual Studio Plus, go to File > Open > Project/Solution, and navigate to the 'Auto-GPT' folder within Leon.ai's working directory. Select the AutoGPT project file to open it in Visual Studio Plus.
Now, Leon.ai can access and work on the AutoGPT files directly from Visual Studio Plus, leveraging its robust features for creating, testing, and deploying software solutions. This setup enhances Leon's capabilities, allowing it to utilize the powerful features of AutoGPT for various tasks.
How to Use Once Installed
Once Auto-GPT is installed, you can interact with it using a command-line interface. Here's how you use it:
- You can see a list of all the possible command line arguments by running `--help` with the run script:
```bash
./run.sh --help # on Linux / macOS
.\run.bat --help # on Windows
```
For use with Docker, replace the script in the examples with `docker-compose run --rm auto-gpt`.
- Auto-GPT can be run with different AI Settings or Prompt Settings files using the following commands respectively:
```bash
./run.sh --ai-settings <filename>
./run.sh --prompt-settings <filename>
```
Replace `<filename>` with the name of the file you want to use【102†source】.
- Auto-GPT also supports a Speak Mode, where it uses Text-to-Speech (TTS) for output. This mode can be activated using:
```bash
./run.sh --speak
```
This command will enable Text-to-Speech for Auto-GPT【103†source】.
- There's a Continuous Mode, which allows Auto-GPT to run without user authorization. This mode is potentially dangerous and may cause your AI to run indefinitely or carry out actions you would not normally authorize:
```bash
./run.sh --continuous
```
Use this mode at your own risk【104†source】.
- Auto-GPT also has a Self-Feedback Mode, which allows the AI to provide self-feedback by verifying its own actions and checking if they align with its current goals. This mode can be enabled by inputting `S` into the input field. However, this mode will increase token use and thus cost more【105†source】.
- If you don't have access to GPT-4, you can run Auto-GPT in GPT-3.5 ONLY Mode with the command:
```bash
./run.sh --gpt3only
```
You can also achieve the same by setting `SMART_LLM_MODEL` in your `.env` file to `gpt-3.5-turbo`【106†source】.
- If you have access to GPT-4, you can run Auto-GPT in GPT-4 ONLY Mode with the command:
```bash
./run.sh --gpt4only
```
Please note that GPT-4 is more expensive to use, so running Auto-GPT in GPT-4-only mode will increase your API costs【107†source】.
- You can view activity and error logs in the `./output/logs` directory. To print out debug logs, use the `--debug` argument:
```bash
./run.sh --debug
```
This command will output debug logs【108†source】.
- If you want to selectively disable some command groups, you can use the `DISABLED_COMMAND_CATEGORIES` config in your `.env` file. For example, to disable coding related features, set it to the value below:
```bash
DISABLED_COMMAND_CATEGORIES=autogpt.commands.execute_code
```
This will disable coding related features in Auto-GPT【109†source】.
Remember, Auto-GPT is a powerful tool, and with great power comes great responsibility. Always use it wisely and ensure you understand the consequences of the commands you are running.
Auto-GPT Technical User Guide: Post-Installation Configuration & Best Practices
1. Configuration Post-Installation
API Key Setup:
Navigate to the env.template file in the Auto-GPT directory.
Search for the line starting with OPENAI_API_KEY=.
Paste your OpenAI API key after the equals sign.
Model Configuration:
For those using a free OpenAI account:
Locate the LLM MODELS configuration section in env.template.
Change the line that reads Default: gpt-4 to Default: gpt-3.5.
Rename the env.template file to .env.
2. Running Modes
Manual Mode:
When started, Auto-GPT will prompt the user to provide a purpose and up to five goals.
Pro:
Greater control over the AI's tasks and directions.
Specific goals ensure the AI focuses on designated tasks.
Con:
Requires continuous user interaction and monitoring.
Automatic Mode:
Auto-GPT operates based on a single prompt without user intervention.
Pro:
Less user oversight required.
AI can autonomously generate and complete tasks.
Con:
Less precise control over AI actions.
3. Using Auto-GPT
Interactivity:
Auto-GPT can interact with both online and local apps, such as browsers and word processors.
Internet Access:
The tool can fetch information online, making web searches and data retrieval seamless.
Memory Capabilities:
Features both short-term and long-term memory functionalities.
Remembers past prompts to self-generate subsequent ones.
Coding Capabilities:
Can read, write, and execute Python code.
This allows for self-improvement and the ability to carry out complex programming tasks.
Task Completion:
If Auto-GPT encounters obstacles, it can figure out alternative approaches to complete a task.
It's also capable of generating and completing tasks based on set goals.
Advanced Task Handling:
Beyond simple tasks, Auto-GPT can undertake advanced challenges like creating apps or even conceptualizing startups.
4. Recommendations & Best Practices
Safety First:
While Auto-GPT can operate autonomously, it's essential to monitor its activities, especially in continuous mode. This ensures that it doesn't engage in undesirable actions.
Limit Complex Tasks:
For intricate tasks, like starting a new app, provide clear and concise instructions to guide the AI better.
Regular Backups:
Periodically backup any data or configurations to prevent any data loss or to revert any undesired changes made by the AI.
Stay Updated:
Regularly check for updates or patches for Auto-GPT. This ensures you're using the most stable and secure version.
By understanding and following this guide, users can harness the full potential of Auto-GPT safely and efficiently.
et's set up the configuration for the Primary and Secondary Auto-GPTs.
Primary Auto-GPT Configuration:
For the Primary Auto-GPT, we want it to act as a controller for the Secondary Auto-GPT. Its primary responsibility is to interact with the Secondary Auto-GPT by providing it with tasks and reading its output.
Running Mode: We'll choose Manual Mode. This will give us control over what tasks and commands are relayed to the Secondary Auto-GPT.
Tasks:
Read and interpret tasks from the user or another higher-level system.
Translate these tasks into specific instructions or queries for the Secondary Auto-GPT.
Read the output from the Secondary Auto-GPT and relay it back to the user or the higher-level system.
Interactivity: Restrict the Primary Auto-GPT's ability to interact with online or local apps. It should only be able to interact with the Secondary Auto-GPT's console.
Internet Access: Disable internet access. The Primary Auto-GPT doesn't need to fetch information; that's the job of the Secondary Auto-GPT.
Memory Capabilities: Maintain short-term memory to remember the context of the task provided and the responses from the Secondary Auto-GPT.
Coding Capabilities: This should be limited to reading and writing to the Secondary Auto-GPT's console.
Secondary Auto-GPT Configuration:
The Secondary Auto-GPT will do the actual work, based on the instructions provided by the Primary Auto-GPT.
Running Mode: We'll also choose Manual Mode for the Secondary Auto-GPT to ensure it only acts on specific instructions from the Primary Auto-GPT.
Tasks:
Interpret and act upon the instructions provided by the Primary Auto-GPT.
Fetch information, complete tasks, and generate responses.
Interactivity: Enable the ability to interact with both online and local apps.
Internet Access: Enable internet access to allow the Secondary Auto-GPT to fetch information or interact with web-based resources.
Memory Capabilities: Enable both short-term and long-term memory. This will allow the Secondary Auto-GPT to remember past prompts and self-generate subsequent ones if required.
Coding Capabilities: Fully enable coding capabilities, allowing it to read, write, and execute Python code. This is essential for complex tasks.
Safety: Ensure that there are safety checks in place to prevent the Secondary Auto-GPT from taking undesirable actions.
Instructions for Primary Auto-GPT:
When prompted with "I want Auto-GPT to:", the Primary Auto-GPT should be instructed:
vbnet
Copy code
I want Auto-GPT to act as an interface and controller for the Secondary Auto-GPT. It should read and interpret tasks, relay them as specific instructions to the Secondary Auto-GPT, and read the output from the Secondary Auto-GPT to provide responses.
This instruction aligns with the roles and responsibilities you've outlined for the Primary Auto-GPT.
Instructions for Secondary Auto-GPT:
When prompted with "I want Auto-GPT to:", the Secondary Auto-GPT should be instructed:
vbnet
Copy code
I want Auto-GPT to interpret and execute tasks based on the instructions provided by the Primary Auto-GPT. It should be capable of fetching information, interacting with online and local apps, and completing a wide range of tasks.
This sets the groundwork for the Secondary Auto-GPT to perform the heavy lifting in terms of task execution.
By setting up the two Auto-GPTs in this manner, you create a clear distinction between their roles, ensuring efficient collaboration between them.
Primary AutoGPT Agent:
Ai Name: Primary Controller
Ai Purpose: To act as an expert of AutoGPT [ https://www.projecteden.online/infrastructure/autogpt ], and a control system for the Secondary AutoGPT agent. Handle and interpret input from Leon.AI, the user, or output from the Secondary AutoGPT agent, and direct the Secondary agent using programmatic control through its terminal session. If the agent can't find the console for the second autogpt agent, the ai may work with the user to try to find it.
5 Goals:
Terminal Session Control: Securely establish, maintain, and use the terminal session ID of the Secondary AutoGPT agent for programmatic control.
Communication Bridge: Act as the primary point of contact, bridging communication between the user, Leon.AI, and the Secondary AutoGPT agent.
Output Analysis: Analyze and interpret the outputs from the Secondary AutoGPT agent to determine subsequent instructions or tasks.
Task Delegation: Delegate specific tasks or goals to the Secondary AutoGPT agent using programmatic commands.
Error Handling: Detect any anomalies or errors in the Secondary AutoGPT's operations, take corrective actions, or notify the user.
Secondary AutoGPT Agent:
Ai Name: Task Executor
Ai Purpose: To execute and perform tasks as directed by the Primary AutoGPT agent. Operate under programmatic control from the Primary Controller, executing tasks without independent decision-making.
5 Goals:
Task Execution: Carry out tasks as received from the Primary Controller, adhering to the programmatic directives.
Provide Feedback: Offer clear and comprehensive feedback on task status and results to the Primary Controller.
Code Execution: If needed, write, read, or execute Python code to achieve certain tasks or objectives.
Internet Operations: Fetch and provide information from the internet, including web searches and data retrieval, when instructed.
Adaptive Learning: Continuously adapt and learn from the tasks and feedback to optimize performance over time.
By explicitly detailing the programmatic control strategy in the prompts, the Primary AutoGPT agent will have a clearer roadmap for its interactions with the Secondary agent.
Dear Primary Agent, to interact with the secondary agent's terminal window (ID: 82074), consider using xdotool to programmatically send commands. Execute xdotool type --window 82074 "command" to type a command and xdotool key --window 82074 Return to simulate pressing 'Enter'. To capture the secondary agent's output, redirect its terminal output to a file and then read that file. Implement a loop where you send a command, wait for and read the response, then decide on the next actions. This approach is tailored for a Linux environment with X11. Always ensure safety by verifying commands to avoid unintended side effects or security risks, and be prepared to handle any errors that might arise during interactions for smooth communication with the secondary agent.