diff --git a/.env.template b/.env.template new file mode 100644 index 000000000..a598aa7b1 --- /dev/null +++ b/.env.template @@ -0,0 +1,2 @@ +OPENAI_API_KEY=your-openai-api-key +ELEVENLABS_API_KEY=your-elevenlabs-api-key diff --git a/.gitignore b/.gitignore index 4d0844458..1313d98b6 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ scripts/__pycache__/keys.cpython-310.pyc package-lock.json *.pyc scripts/auto_gpt_workspace/* -*.mpeg \ No newline at end of file +*.mpeg +.env diff --git a/README.md b/README.md index ccd43f58c..b2acfbc5a 100644 --- a/README.md +++ b/README.md @@ -65,9 +65,9 @@ git clone https://github.com/Torantulino/Auto-GPT.git ``` 2. Navigate to the project directory: -*(Type this into your CMD window, you're aiming to navigate the CMD window to the "scripts" folder you just downloaded)* +*(Type this into your CMD window, you're aiming to navigate the CMD window to the repository you just downloaded)* ``` -$ cd 'Auto-GPT/scripts' +$ cd 'Auto-GPT' ``` 3. Install the required dependencies: @@ -76,15 +76,16 @@ $ cd 'Auto-GPT/scripts' pip install -r requirements.txt ``` -4. Edit the file named "keys.py" in the "scripts" directory to add your OpenAI API key (and eleven labs key if you want speech): -*(Open the keys.py file in a text editor and follow the instructions inside, save it after)* +4. Rename `.env.template` to `.env` and fill in your `OPENAI_API_KEY`. If you plan to use Speech Mode, fill in your `ELEVEN_LABS_API_KEY` as well. + - Obtain your OpenAI API key from: https://platform.openai.com/account/api-keys. + - Obtain your ElevenLabs API key from: https://elevenlabs.io. You can view your xi-api-key using the "Profile" tab on the website. ## 🔧 Usage -1. Run the Python script in your terminal: +1. Run the `main.py` Python script in your terminal: *(Type this into your CMD window)* ``` -python main.py +python scripts/main.py ``` 2. After each of AUTO-GPT's actions, type "NEXT COMMAND" to authorise them to continue. 3. To exit the program, type "exit" and press Enter. @@ -92,7 +93,7 @@ python main.py ## 🗣️ Speech Mode Use this to use TTS for Auto-GPT ``` -python main.py speak-mode +python scripts/main.py speak-mode ``` ## 💀 Continuous Mode ⚠️ @@ -101,9 +102,9 @@ Continuous mode is not recommended. It is potentially dangerous and may cause your AI to run forever or carry out actions you would not usually authorise. Use at your own risk. -1. Run the Python script in your terminal: +1. Run the `main.py` Python script in your terminal: ``` -python main.py continuous-mode +python scripts/main.py continuous-mode ``` 2. To exit the program, press Ctrl + C diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..6ae3a1ea0 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +beautifulsoup4==4.9.3 +colorama==0.4.6 +docker==5.0.3 +googlesearch-python==1.1.0 +openai==0.27.2 +playsound==1.3.0 +python-dotenv==1.0.0 +readability-lxml==0.8.1 +requests==2.25.1 diff --git a/scripts/chat.py b/scripts/chat.py index a406812d7..e6aa27815 100644 --- a/scripts/chat.py +++ b/scripts/chat.py @@ -1,9 +1,13 @@ +import os import time import openai -import keys +from dotenv import load_dotenv + +# Load environment variables from .env file +load_dotenv() # Initialize the OpenAI API client -openai.api_key = keys.OPENAI_API_KEY +openai.api_key = os.getenv("OPENAI_API_KEY") def create_chat_message(role, content): diff --git a/scripts/keys.py b/scripts/keys.py deleted file mode 100644 index 1cd439cdd..000000000 --- a/scripts/keys.py +++ /dev/null @@ -1,5 +0,0 @@ -# Get yours from: https://beta.openai.com/account/api-keys -OPENAI_API_KEY = "YOUR-OPENAI-KEY" -# To access your ElevenLabs API key, head to https://elevenlabs.io, you -# can view your xi-api-key using the 'Profile' tab on the website. -ELEVENLABS_API_KEY = "YOUR-ELEVENLABS-KEY" diff --git a/scripts/main.py b/scripts/main.py index d51ad0fc9..e80bf5d08 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -11,6 +11,11 @@ import speak from enum import Enum, auto import sys from config import Config +from dotenv import load_dotenv + + +# Load environment variables from .env file +load_dotenv() class Argument(Enum): diff --git a/scripts/requirements.txt b/scripts/requirements.txt deleted file mode 100644 index 0542a9f82..000000000 --- a/scripts/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -requests -beautifulsoup4 -colorama -googlesearch_python -openai -playsound -readability_lxml -docker diff --git a/scripts/speak.py b/scripts/speak.py index 13ceb8d90..a0f29fc58 100644 --- a/scripts/speak.py +++ b/scripts/speak.py @@ -1,13 +1,17 @@ import os from playsound import playsound import requests -import keys +from dotenv import load_dotenv + + +# Load environment variables from .env file +load_dotenv() voices = ["ErXwobaYiN019PkySvjV", "EXAVITQu4vr4xnSDxMaL"] tts_headers = { "Content-Type": "application/json", - "xi-api-key": keys.ELEVENLABS_API_KEY + "xi-api-key": os.getenv("ELEVENLABS_API_KEY") }